| 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
|
|
|