Index: test/Driver/pnacl-direct.c |
diff --git a/test/Driver/pnacl-direct.c b/test/Driver/pnacl-direct.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..375c454d892e733a30fa08d4b80e1951a50b034a |
--- /dev/null |
+++ b/test/Driver/pnacl-direct.c |
@@ -0,0 +1,74 @@ |
+// Test clang changes for PNaCl Support including: |
+// include paths, library paths, emulation, default static |
+ |
+// RUN: %clang -no-canonical-prefixes -### -o %t.o %s \ |
+// RUN: -target le32-unknown-nacl -resource-dir foo 2>&1 \ |
+// RUN: | FileCheck --check-prefix=CHECK-LE32 %s |
+// CHECK-LE32: {{.*}}clang{{.*}}" "-cc1" |
+// CHECK-LE32: "-triple" "le32-unknown-nacl" |
+// CHECK-LE32: "-emit-llvm-bc" |
+// CHECK-LE32: "-fuse-init-array" |
+// CHECK-LE32: "-fno-gnu-inline-asm" |
+// CHECK-LE32: "-resource-dir" "foo" |
+// CHECK-LE32: "-internal-isystem" "foo{{/|\\\\}}include" |
+// CHECK-LE32: "-internal-externc-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}le32-nacl{{/|\\\\}}include" |
+// CHECK-LE32: "-internal-externc-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}le32-nacl{{/|\\\\}}usr{{/|\\\\}}include" |
+// CHECK-LE32: le32-nacl-ld.gold{{(.exe)?}}" |
+// CHECK-LE32: "-static" |
+// CHECK-LE32: "--undef-sym-check" |
+// CHECK-LE32: "--allow-unresolved=memcpy" |
+// CHECK-LE32: "--allow-unresolved=memset" |
+// CHECK-LE32: "--allow-unresolved=memmove" |
+// CHECK-LE32: "--allow-unresolved=setjmp" |
+// CHECK-LE32: "--allow-unresolved=longjmp" |
+// CHECK-LE32: "--allow-unresolved=__nacl_tp_tls_offset" |
+// CHECK-LE32: "--allow-unresolved=__nacl_tp_tdb_offset" |
+// CHECK-LE32: "crt1.x" |
+// CHECK-LE32: "crti.bc" |
+// CHECK-LE32: "crtbegin.bc" |
+// CHECK-LE32: "unwind_stubs.bc" |
+// CHECK-LE32: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}le32-nacl{{/|\\\\}}lib" |
+// CHECK-LE32: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}le32-nacl{{/|\\\\}}usr{{/|\\\\}}lib" |
+// CHECK-LE32: "-Lfoo{{/|\\\\}}lib{{/|\\\\}}le32-nacl" |
+// CHECK-LE32: "-plugin" "{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}LLVMgold.so" |
+// CHECK-LE32: "-plugin-opt=emit-llvm" |
+// CHECK-LE32: "-plugin-opt=mtriple=le32-unknown-nacl" |
+// CHECK-LE32-NOT: -lpthread |
+ |
+// RUN: %clangxx -no-canonical-prefixes -### -o %t.o %s \ |
+// RUN: -target le32-unknown-nacl -fexceptions -resource-dir foo 2>&1 \ |
+// RUN: | FileCheck --check-prefix=CHECK-LE32-CXX %s |
+// CHECK-LE32-CXX: {{.*}}clang{{.*}}" "-cc1" |
+// CHECK-LE32-CXX: "-triple" "le32-unknown-nacl" |
+// CHECK-LE32-CXX: "-emit-llvm-bc" |
+// CHECK-LE32-CXX: "-fuse-init-array" |
+// CHECK-LE32-CXX: "-fno-gnu-inline-asm" |
+// CHECK-LE32-CXX: "-resource-dir" "foo" |
+// CHECK-LE32-CXX: "-internal-isystem" "foo{{/|\\\\}}include" |
+// CHECK-LE32-CXX: "-internal-externc-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}le32-nacl{{/|\\\\}}include" |
+// CHECK-LE32-CXX: "-internal-externc-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}le32-nacl{{/|\\\\}}usr{{/|\\\\}}include" |
+// CHECK-LE32-CXX: le32-nacl-ld.gold{{(.exe)?}}" |
+// CHECK-LE32-CXX: "-static" |
+// CHECK-LE32-CXX: "--undef-sym-check" |
+// CHECK-LE32-CXX: "--allow-unresolved=memcpy" |
+// CHECK-LE32-CXX: "--allow-unresolved=memset" |
+// CHECK-LE32-CXX: "--allow-unresolved=memmove" |
+// CHECK-LE32-CXX: "--allow-unresolved=setjmp" |
+// CHECK-LE32-CXX: "--allow-unresolved=longjmp" |
+// CHECK-LE32-CXX: "--allow-unresolved=__nacl_tp_tls_offset" |
+// CHECK-LE32-CXX: "--allow-unresolved=__nacl_tp_tdb_offset" |
+// CHECK-LE32-CXX: "--undefined=__pnacl_eh_stack" |
+// CHECK-LE32-CXX: "--undefined=__pnacl_eh_resume" |
+// CHECK-LE32-CXX: "--allow-unresolved=__pnacl_eh_type_table" |
+// CHECK-LE32-CXX: "--allow-unresolved=__pnacl_eh_action_table" |
+// CHECK-LE32-CXX: "crt1.x" |
+// CHECK-LE32-CXX: "crti.bc" |
+// CHECK-LE32-CXX: "crtbegin.bc" |
+// CHECK-LE32-CXX: "sjlj_eh_redirect.bc" |
+// CHECK-LE32-CXX: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}le32-nacl{{/|\\\\}}lib" |
+// CHECK-LE32-CXX: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}le32-nacl{{/|\\\\}}usr{{/|\\\\}}lib" |
+// CHECK-LE32-CXX: "-plugin" "{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}LLVMgold.so" |
+// CHECK-LE32-CXX: "-plugin-opt=emit-llvm" |
+// CHECK-LE32-CXX: "-plugin-opt=mtriple=le32-unknown-nacl" |
+// CHECK-LE32-CXX: "-plugin-opt=-enable-pnacl-sjlj-eh" |
+// CHECK-LE32-CXX: -lpthread |