jozefl created this revision. jozefl requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
The -mmcu= option accepts a generic MCU named "msp430", which sets the CPU to msp430 and disables hardware multiply support. The current purpose of accepting this value is to allow -mmcu= to be used as an alias for -mcpu=, however there are some downsides to doing this. -mmcu= provides additional features that will interfere with the expected behavior if the user tries to to use it as an alias for -mcpu=. -mmcu=msp430 will conflict with -mhwmult=, since the "msp430" MCU is defined to have no hardware multiply support, so the user will not be able to set an explicit hardware multiply version. -mmcu=msp430 will put "-Tmsp430.ld" on the linker command line, however TI's support files do not provide a linker script with this name and so the user would have to explicitly create it. If the patch is acceptable, I would appreciate it if someone would apply it for me, as I do not have commit access. Thanks, Jozef Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D108299 Files: clang/include/clang/Basic/MSP430Target.def clang/test/Driver/msp430-mmcu.c Index: clang/test/Driver/msp430-mmcu.c =================================================================== --- clang/test/Driver/msp430-mmcu.c +++ clang/test/Driver/msp430-mmcu.c @@ -14,3 +14,9 @@ // RUN: | FileCheck -check-prefix=MSP430-UNSUP %s // MSP430-UNSUP: error: the clang compiler does not support 'not-a-mcu' + +// The generic MCU name "msp430" is not supported. +// RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mmcu=msp430 2>&1 \ +// RUN: | FileCheck -check-prefix=MSP430 %s + +// MSP430: error: the clang compiler does not support 'msp430' Index: clang/include/clang/Basic/MSP430Target.def =================================================================== --- clang/include/clang/Basic/MSP430Target.def +++ clang/include/clang/Basic/MSP430Target.def @@ -238,8 +238,7 @@ MSP430_MCU_FEAT("msp430f4784", "32bit") MSP430_MCU_FEAT("msp430f4794", "32bit") -// Generic MSUs -MSP430_MCU("msp430") +// Generic MCUs MSP430_MCU("msp430i2xxgeneric") #undef MSP430_MCU
Index: clang/test/Driver/msp430-mmcu.c =================================================================== --- clang/test/Driver/msp430-mmcu.c +++ clang/test/Driver/msp430-mmcu.c @@ -14,3 +14,9 @@ // RUN: | FileCheck -check-prefix=MSP430-UNSUP %s // MSP430-UNSUP: error: the clang compiler does not support 'not-a-mcu' + +// The generic MCU name "msp430" is not supported. +// RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mmcu=msp430 2>&1 \ +// RUN: | FileCheck -check-prefix=MSP430 %s + +// MSP430: error: the clang compiler does not support 'msp430' Index: clang/include/clang/Basic/MSP430Target.def =================================================================== --- clang/include/clang/Basic/MSP430Target.def +++ clang/include/clang/Basic/MSP430Target.def @@ -238,8 +238,7 @@ MSP430_MCU_FEAT("msp430f4784", "32bit") MSP430_MCU_FEAT("msp430f4794", "32bit") -// Generic MSUs -MSP430_MCU("msp430") +// Generic MCUs MSP430_MCU("msp430i2xxgeneric") #undef MSP430_MCU
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits