1 /// Check the behavior of toolchain for NEC Aurora VE
2 /// REQUIRES: ve-registered-target
3 
4 ///-----------------------------------------------------------------------------
5 /// Checking dwarf-version
6 
7 // RUN: %clangxx -### -g -target ve %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
8 // DWARF_VER: "-dwarf-version=4"
9 
10 ///-----------------------------------------------------------------------------
11 /// Checking include-path
12 
13 // RUN: %clangxx -### -target ve --sysroot %S/Inputs/basic_ve_tree %s \
14 // RUN:     -resource-dir=%S/Input/basic_ve_tree/resource_dir \
15 // RUN:     2>&1 | FileCheck -check-prefix=DEFINC %s
16 // DEFINC: clang{{.*}} "-cc1"
17 // DEFINC-SAME: "-nostdsysteminc"
18 // DEFINC-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
19 // DEFINC-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
20 // DEFINC-SAME: "-internal-isystem" "[[RESOURCE_DIR]]/include/c++/v1"
21 // DEFINC-SAME: "-internal-isystem" "[[RESOURCE_DIR]]/include"
22 // DEFINC-SAME: "-internal-isystem" "[[SYSROOT]]/opt/nec/ve/include"
23 
24 // RUN: %clangxx -### -target ve --sysroot %S/Inputs/basic_ve_tree %s \
25 // RUN:     -resource-dir=%S/Input/basic_ve_tree/resource_dir \
26 // RUN:     -nostdlibinc 2>&1 | FileCheck -check-prefix=NOSTDLIBINC %s
27 // NOSTDLIBINC: clang{{.*}} "-cc1"
28 // NOSTDLIBINC-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
29 // NOSTDLIBINC-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
30 // NOSTDLIBINC-NOT: "-internal-isystem" "[[RESOURCE_DIR]]/include/c++/v1"
31 // NOSTDLIBINC-SAME: "-internal-isystem" "[[RESOURCE_DIR]]/include"
32 // NOSTDLIBINC-NOT: "-internal-isystem" "[[SYSROOT]]/opt/nec/ve/include"
33 
34 // RUN: %clangxx -### -target ve --sysroot %S/Inputs/basic_ve_tree %s \
35 // RUN:     -resource-dir=%S/Input/basic_ve_tree/resource_dir \
36 // RUN:     -nobuiltininc 2>&1 | FileCheck -check-prefix=NOBUILTININC %s
37 // NOBUILTININC: clang{{.*}} "-cc1"
38 // NOBUILTININC-SAME: "-nobuiltininc"
39 // NOBUILTININC-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
40 // NOBUILTININC-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
41 // NOBUILTININC-SAME: "-internal-isystem" "[[RESOURCE_DIR]]/include/c++/v1"
42 // NOBUILTININC-NOT: "-internal-isystem" "[[RESOURCE_DIR]]/include"
43 // NOBUILTININC-SAME: "-internal-isystem" "[[SYSROOT]]/opt/nec/ve/include"
44 
45 // RUN: %clangxx -### -target ve --sysroot %S/Inputs/basic_ve_tree %s \
46 // RUN:     -resource-dir=%S/Input/basic_ve_tree/resource_dir \
47 // RUN:     -nostdinc 2>&1 | FileCheck -check-prefix=NOSTDINC %s
48 // NOSTDINC: clang{{.*}} "-cc1"
49 // NOSTDINC-SAME: "-nobuiltininc"
50 // NOSTDINC-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
51 // NOSTDINC-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
52 // NOSTDINC-NOT: "-internal-isystem" "[[RESOURCE_DIR]]/include/c++/v1"
53 // NOSTDINC-NOT: "-internal-isystem" "[[RESOURCE_DIR]]/include"
54 // NOSTDINC-NOT: "-internal-isystem" "[[SYSROOT]]/opt/nec/ve/include"
55 
56 // RUN: %clangxx -### -target ve --sysroot %S/Inputs/basic_ve_tree %s \
57 // RUN:     -resource-dir=%S/Input/basic_ve_tree/resource_dir \
58 // RUN:     -nostdinc++ 2>&1 | FileCheck -check-prefix=NOSTDINCXX %s
59 // NOSTDINCXX: clang{{.*}} "-cc1"
60 // NOSTDINCXX-SAME: "-nostdinc++"
61 // NOSTDINCXX-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
62 // NOSTDINCXX-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
63 // NOSTDINCXX-NOT: "-internal-isystem" "[[RESOURCE_DIR]]/include/c++/v1"
64 // NOSTDINCXX-SAME: "-internal-isystem" "[[RESOURCE_DIR]]/include"
65 // NOSTDINCXX-SAME: "-internal-isystem" "[[SYSROOT]]/opt/nec/ve/include"
66 
67 ///-----------------------------------------------------------------------------
68 /// Checking environment variable NCC_CPLUS_INCLUDE_PATH
69 
70 // RUN: env NCC_CPLUS_INCLUDE_PATH=/test/test %clangxx -### -target ve %s \
71 // RUN:     --sysroot %S/Inputs/basic_ve_tree \
72 // RUN:     -resource-dir=%S/Input/basic_ve_tree/resource_dir \
73 // RUN:     2>&1 | FileCheck -check-prefix=DEFINCENV %s
74 
75 // DEFINCENV: clang{{.*}} "-cc1"
76 // DEFINCENV-SAME: "-nostdsysteminc"
77 // DEFINCENV-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
78 // DEFINCENV-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
79 // DEFINCENV-SAME: "-internal-isystem" "/test/test"
80 // DEFINCENV-SAME: "-internal-isystem" "[[RESOURCE_DIR]]/include"
81 // DEFINCENV-SAME: "-internal-isystem" "[[SYSROOT]]/opt/nec/ve/include"
82 
83 ///-----------------------------------------------------------------------------
84 /// Checking -faddrsig
85 
86 // RUN: %clangxx -### -target ve %s 2>&1 | FileCheck -check-prefix=DEFADDRSIG %s
87 // DEFADDRSIG: clang{{.*}} "-cc1"
88 // DEFADDRSIG-NOT: "-faddrsig"
89 
90 ///-----------------------------------------------------------------------------
91 /// Checking -fintegrated-as
92 
93 // RUN: %clangxx -### -target ve \
94 // RUN:    -x assembler -fuse-ld=ld %s 2>&1 | \
95 // RUN:    FileCheck -check-prefix=AS %s
96 // RUN: %clangxx -### -target ve \
97 // RUN:    -fno-integrated-as -x assembler -fuse-ld=ld %s 2>&1 | \
98 // RUN:    FileCheck -check-prefix=NAS %s
99 
100 // AS: clang{{.*}} "-cc1as"
101 // AS: nld{{.*}}
102 
103 // NAS: nas{{.*}}
104 // NAS: nld{{.*}}
105 
106 ///-----------------------------------------------------------------------------
107 /// Checking default behavior:
108 ///  - dynamic linker
109 ///  - library paths
110 ///  - nld VE specific options
111 ///  - sjlj exception
112 
113 // RUN: %clangxx -### -target ve-unknown-linux-gnu \
114 // RUN:     --sysroot %S/Inputs/basic_ve_tree \
115 // RUN:     -fuse-ld=ld \
116 // RUN:     -resource-dir=%S/Inputs/basic_ve_tree/resource_dir \
117 // RUN:     --stdlib=c++ %s 2>&1 | FileCheck -check-prefix=DEF %s
118 
119 // DEF:      clang{{.*}}" "-cc1"
120 // DEF-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
121 // DEF-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
122 // DEF-SAME: "-exception-model=sjlj"
123 // DEF:      nld"
124 // DEF-SAME: "--sysroot=[[SYSROOT]]"
125 // DEF-SAME: "-dynamic-linker" "/opt/nec/ve/lib/ld-linux-ve.so.1"
126 // DEF-SAME: "[[SYSROOT]]/opt/nec/ve/lib/crt1.o"
127 // DEF-SAME: "[[SYSROOT]]/opt/nec/ve/lib/crti.o"
128 // DEF-SAME: "-z" "max-page-size=0x4000000"
129 // DEF-SAME: "[[RESOURCE_DIR]]/lib/linux/clang_rt.crtbegin-ve.o"
130 // DEF-SAME: "-lc++" "-lc++abi" "-lunwind" "-lpthread" "-ldl"
131 // DEF-SAME: "[[RESOURCE_DIR]]/lib/linux/libclang_rt.builtins-ve.a" "-lc"
132 // DEF-SAME: "[[RESOURCE_DIR]]/lib/linux/libclang_rt.builtins-ve.a"
133 // DEF-SAME: "[[RESOURCE_DIR]]/lib/linux/clang_rt.crtend-ve.o"
134 // DEF-SAME: "[[SYSROOT]]/opt/nec/ve/lib/crtn.o"
135