Clang Project

clang_source_code/test/Driver/msp430-toolchain.c
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