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 -x assembler %s 2>&1 | \
94 // RUN:    FileCheck -check-prefix=AS %s
95 // RUN: %clangxx -### -target ve -fno-integrated-as -x assembler %s 2>&1 | \
96 // RUN:    FileCheck -check-prefix=NAS %s
97 
98 // AS: clang{{.*}} "-cc1as"
99 // AS: nld{{.*}}
100 
101 // NAS: nas{{.*}}
102 // NAS: nld{{.*}}
103 
104 ///-----------------------------------------------------------------------------
105 /// Checking default behavior:
106 ///  - dynamic linker
107 ///  - library paths
108 ///  - nld VE specific options
109 ///  - sjlj exception
110 
111 // RUN: %clangxx -### -target ve-unknown-linux-gnu \
112 // RUN:     --sysroot %S/Inputs/basic_ve_tree \
113 // RUN:     -resource-dir=%S/Inputs/basic_ve_tree/resource_dir \
114 // RUN:     --stdlib=c++ %s 2>&1 | FileCheck -check-prefix=DEF %s
115 
116 // DEF:      clang{{.*}}" "-cc1"
117 // DEF-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
118 // DEF-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
119 // DEF-SAME: "-exception-model=sjlj"
120 // DEF:      nld"
121 // DEF-SAME: "--sysroot=[[SYSROOT]]"
122 // DEF-SAME: "-dynamic-linker" "/opt/nec/ve/lib/ld-linux-ve.so.1"
123 // DEF-SAME: "[[SYSROOT]]/opt/nec/ve/lib/crt1.o"
124 // DEF-SAME: "[[SYSROOT]]/opt/nec/ve/lib/crti.o"
125 // DEF-SAME: "-z" "max-page-size=0x4000000"
126 // DEF-SAME: "[[RESOURCE_DIR]]/lib/linux/clang_rt.crtbegin-ve.o"
127 // DEF-SAME: "-lc++" "-lc++abi" "-lunwind" "-lpthread" "-ldl"
128 // DEF-SAME: "[[RESOURCE_DIR]]/lib/linux/libclang_rt.builtins-ve.a" "-lc"
129 // DEF-SAME: "[[RESOURCE_DIR]]/lib/linux/libclang_rt.builtins-ve.a"
130 // DEF-SAME: "[[RESOURCE_DIR]]/lib/linux/clang_rt.crtend-ve.o"
131 // DEF-SAME: "[[SYSROOT]]/opt/nec/ve/lib/crtn.o"
132