| 1 | // A basic clang -cc1 command-line, and simple environment check. |
| 2 | |
| 3 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 2>&1 \ |
| 4 | // RUN: | FileCheck -check-prefix=CC1 %s |
| 5 | // CC1: clang{{.*}} "-cc1" "-triple" "msp430" |
| 6 | |
| 7 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 \ |
| 8 | // RUN: --gcc-toolchain=%S/Inputs/basic_msp430_tree 2>&1 \ |
| 9 | // RUN: | FileCheck -check-prefix=MSP430 %s |
| 10 | |
| 11 | // MSP430: "{{.*}}Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}bin{{/|\\\\}}msp430-elf-ld" |
| 12 | // MSP430: "-L{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/430" |
| 13 | // MSP430: "-L{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}msp430-elf{{/|\\\\}}lib/430" |
| 14 | // MSP430: "{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}msp430-elf{{/|\\\\}}lib/430{{/|\\\\}}crt0.o" |
| 15 | // MSP430: "{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/430{{/|\\\\}}crtbegin.o" |
| 16 | // MSP430: "--start-group" "-lmul_none" "-lgcc" "-lc" "-lcrt" "-lnosys" "--end-group" |
| 17 | // MSP430: "{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/430{{/|\\\\}}crtend.o" |
| 18 | // MSP430: "{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}msp430-elf{{/|\\\\}}lib/430{{/|\\\\}}crtn.o" |
| 19 | |
| 20 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -nodefaultlibs \ |
| 21 | // RUN: --gcc-toolchain=%S/Inputs/basic_msp430_tree 2>&1 \ |
| 22 | // RUN: | FileCheck -check-prefix=MSP430-NO-DFT-LIB %s |
| 23 | |
| 24 | // MSP430-NO-DFT-LIB: "{{.*}}Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}bin{{/|\\\\}}msp430-elf-ld" |
| 25 | // MSP430-NO-DFT-LIB: "-L{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/430" |
| 26 | // MSP430-NO-DFT-LIB: "-L{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}msp430-elf{{/|\\\\}}lib/430" |
| 27 | // MSP430-NO-DFT-LIB: "{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}msp430-elf{{/|\\\\}}lib/430{{/|\\\\}}crt0.o" |
| 28 | // MSP430-NO-DFT-LIB: "{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/430{{/|\\\\}}crtbegin.o" |
| 29 | // MSP430-NO-DFT-LIB: "--start-group" "-lmul_none" "-lgcc" "--end-group" |
| 30 | // MSP430-NO-DFT-LIB: "{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/430{{/|\\\\}}crtend.o" |
| 31 | // MSP430-NO-DFT-LIB: "{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}msp430-elf{{/|\\\\}}lib/430{{/|\\\\}}crtn.o" |
| 32 | |
| 33 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -nostartfiles \ |
| 34 | // RUN: --gcc-toolchain=%S/Inputs/basic_msp430_tree 2>&1 \ |
| 35 | // RUN: | FileCheck -check-prefix=MSP430-NO-START %s |
| 36 | |
| 37 | // MSP430-NO-START: "{{.*}}Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}bin{{/|\\\\}}msp430-elf-ld" |
| 38 | // MSP430-NO-START: "-L{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/430" |
| 39 | // MSP430-NO-START: "-L{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}msp430-elf{{/|\\\\}}lib/430" |
| 40 | // MSP430-NO-START: "--start-group" "-lmul_none" "-lgcc" "-lc" "-lcrt" "-lnosys" "--end-group" |
| 41 | |
| 42 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -nostdlib \ |
| 43 | // RUN: --gcc-toolchain=%S/Inputs/basic_msp430_tree 2>&1 \ |
| 44 | // RUN: | FileCheck -check-prefix=MSP430-NO-STD-LIB %s |
| 45 | |
| 46 | // MSP430-NO-STD-LIB: "{{.*}}Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}bin{{/|\\\\}}msp430-elf-ld" |
| 47 | // MSP430-NO-STD-LIB: "-L{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/430" |
| 48 | // MSP430-NO-STD-LIB: "-L{{.*}}/Inputs/basic_msp430_tree/lib/gcc/msp430-elf/7.3.1/../../..{{/|\\\\}}..{{/|\\\\}}msp430-elf{{/|\\\\}}lib/430" |
| 49 | // MSP430-NO-STD-LIB: "--start-group" "-lmul_none" "-lgcc" "--end-group" |
| 50 | |
| 51 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mmcu=msp430f147 2>&1 \ |
| 52 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-16BIT %s |
| 53 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mmcu=msp430f147 -mhwmult=auto 2>&1 \ |
| 54 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-16BIT %s |
| 55 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mhwmult=16bit 2>&1 \ |
| 56 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-16BIT %s |
| 57 | |
| 58 | // MSP430-HWMult-16BIT: "--start-group" "-lmul_16" |
| 59 | |
| 60 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mmcu=msp430f4783 2>&1 \ |
| 61 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-32BIT %s |
| 62 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mmcu=msp430f4783 -mhwmult=auto 2>&1 \ |
| 63 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-32BIT %s |
| 64 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mhwmult=32bit 2>&1 \ |
| 65 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-32BIT %s |
| 66 | |
| 67 | // MSP430-HWMult-32BIT: "--start-group" "-lmul_32" |
| 68 | |
| 69 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mhwmult=f5series 2>&1 \ |
| 70 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-F5 %s |
| 71 | // MSP430-HWMult-F5: "--start-group" "-lmul_f5" |
| 72 | |
| 73 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mhwmult=none 2>&1 \ |
| 74 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-NONE %s |
| 75 | // RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mhwmult=none -mmcu=msp430f4783 2>&1 \ |
| 76 | // RUN: | FileCheck -check-prefix=MSP430-HWMult-NONE %s |
| 77 | |
| 78 | // MSP430-HWMult-NONE: "--start-group" "-lmul_none" |
| 79 | |