diff options
| author | Kristina Brooks <kristina@nym.hush.com> | 2018-11-29 03:49:14 +0000 |
|---|---|---|
| committer | Kristina Brooks <kristina@nym.hush.com> | 2018-11-29 03:49:14 +0000 |
| commit | 77a4adc4f914510bba22b350a65c089db10cc478 (patch) | |
| tree | bdfa641e6a9386526f938cb363642829f85a927e /clang/test/Driver | |
| parent | 69127e1ebd3fa9ed69168a330e7cb6fef7fb331a (diff) | |
| download | bcm5719-llvm-77a4adc4f914510bba22b350a65c089db10cc478.tar.gz bcm5719-llvm-77a4adc4f914510bba22b350a65c089db10cc478.zip | |
Add Hurd target to Clang driver (2/2)
This adds Hurd toolchain support to Clang's driver in addition
to handling translating the triple from Hurd-compatible form to
the actual triple registered in LLVM.
(Phabricator was stripping the empty files from the patch so I
manually created them)
Patch by sthibaul (Samuel Thibault)
Differential Revision: https://reviews.llvm.org/D54379
llvm-svn: 347833
Diffstat (limited to 'clang/test/Driver')
7 files changed, 62 insertions, 0 deletions
diff --git a/clang/test/Driver/Inputs/basic_hurd_tree/include/.keep b/clang/test/Driver/Inputs/basic_hurd_tree/include/.keep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/basic_hurd_tree/include/.keep diff --git a/clang/test/Driver/Inputs/basic_hurd_tree/lib/i386-gnu/.keep b/clang/test/Driver/Inputs/basic_hurd_tree/lib/i386-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/basic_hurd_tree/lib/i386-gnu/.keep diff --git a/clang/test/Driver/Inputs/basic_hurd_tree/lib32/.keep b/clang/test/Driver/Inputs/basic_hurd_tree/lib32/.keep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/basic_hurd_tree/lib32/.keep diff --git a/clang/test/Driver/Inputs/basic_hurd_tree/usr/include/i386-gnu/.keep b/clang/test/Driver/Inputs/basic_hurd_tree/usr/include/i386-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/basic_hurd_tree/usr/include/i386-gnu/.keep diff --git a/clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/i386-gnu/.keep b/clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/i386-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/i386-gnu/.keep diff --git a/clang/test/Driver/Inputs/basic_hurd_tree/usr/lib32/.keep b/clang/test/Driver/Inputs/basic_hurd_tree/usr/lib32/.keep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/basic_hurd_tree/usr/lib32/.keep diff --git a/clang/test/Driver/hurd.c b/clang/test/Driver/hurd.c new file mode 100644 index 00000000000..a6ca8ea3379 --- /dev/null +++ b/clang/test/Driver/hurd.c @@ -0,0 +1,62 @@ +// RUN: %clang -no-canonical-prefixes %s -### 2>&1 \ +// RUN: --target=i386-pc-gnu \ +// RUN: --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: | FileCheck --check-prefix=CHECK %s +// CHECK-NOT: warning: +// CHECK: "-cc1" +// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK: "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/i386-gnu" +// CHECK: "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK: "-dynamic-linker" "/lib/ld.so" +// CHECK: "crtbegin.o" +// CHECK: "-L[[SYSROOT]]/lib/i386-gnu" +// CHECK: "-L[[SYSROOT]]/lib/../lib32" +// CHECK: "-L[[SYSROOT]]/usr/lib/i386-gnu" +// CHECK: "-L[[SYSROOT]]/usr/lib/../lib32" +// CHECK: "-L[[SYSROOT]]/lib" +// CHECK: "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -no-canonical-prefixes %s -### 2>&1 \ +// RUN: --target=i386-pc-gnu -static \ +// RUN: --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: | FileCheck --check-prefix=CHECK-STATIC %s +// CHECK-STATIC-NOT: warning: +// CHECK-STATIC: "-cc1" +// CHECK-STATIC: "-static-define" +// CHECK-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-STATIC: "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-STATIC: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/i386-gnu" +// CHECK-STATIC: "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-STATIC: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-STATIC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-STATIC: "-static" +// CHECK-STATIC: "crtbeginT.o" +// CHECK-STATIC: "-L[[SYSROOT]]/lib/i386-gnu" +// CHECK-STATIC: "-L[[SYSROOT]]/lib/../lib32" +// CHECK-STATIC: "-L[[SYSROOT]]/usr/lib/i386-gnu" +// CHECK-STATIC: "-L[[SYSROOT]]/usr/lib/../lib32" +// CHECK-STATIC: "-L[[SYSROOT]]/lib" +// CHECK-STATIC: "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -no-canonical-prefixes %s -### 2>&1 \ +// RUN: --target=i386-pc-gnu -shared \ +// RUN: --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: | FileCheck --check-prefix=CHECK-SHARED %s +// CHECK-SHARED-NOT: warning: +// CHECK-SHARED: "-cc1" +// CHECK-SHARED: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-SHARED: "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-SHARED: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/i386-gnu" +// CHECK-SHARED: "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-SHARED: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-SHARED: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-SHARED: "crtbeginS.o" +// CHECK-SHARED: "-L[[SYSROOT]]/lib/i386-gnu" +// CHECK-SHARED: "-L[[SYSROOT]]/lib/../lib32" +// CHECK-SHARED: "-L[[SYSROOT]]/usr/lib/i386-gnu" +// CHECK-SHARED: "-L[[SYSROOT]]/usr/lib/../lib32" +// CHECK-SHARED: "-L[[SYSROOT]]/lib" +// CHECK-SHARED: "-L[[SYSROOT]]/usr/lib" |

