summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver
diff options
context:
space:
mode:
authorKristina Brooks <kristina@nym.hush.com>2018-11-29 03:49:14 +0000
committerKristina Brooks <kristina@nym.hush.com>2018-11-29 03:49:14 +0000
commit77a4adc4f914510bba22b350a65c089db10cc478 (patch)
treebdfa641e6a9386526f938cb363642829f85a927e /clang/test/Driver
parent69127e1ebd3fa9ed69168a330e7cb6fef7fb331a (diff)
downloadbcm5719-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')
-rw-r--r--clang/test/Driver/Inputs/basic_hurd_tree/include/.keep0
-rw-r--r--clang/test/Driver/Inputs/basic_hurd_tree/lib/i386-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/basic_hurd_tree/lib32/.keep0
-rw-r--r--clang/test/Driver/Inputs/basic_hurd_tree/usr/include/i386-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/i386-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/basic_hurd_tree/usr/lib32/.keep0
-rw-r--r--clang/test/Driver/hurd.c62
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"
OpenPOWER on IntegriCloud