summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2014-03-04 18:37:28 +0000
committerSimon Atanasyan <simon@atanasyan.com>2014-03-04 18:37:28 +0000
commit738f85a20efc53e01787a3bc71a37fedd0f585fc (patch)
treeec6c160b460a3425e76ae3b70faa6db98ff9f424 /clang/test/Driver
parentdafffbe2beb7e69aacb9c73a9ea173bb2563867d (diff)
downloadbcm5719-llvm-738f85a20efc53e01787a3bc71a37fedd0f585fc.tar.gz
bcm5719-llvm-738f85a20efc53e01787a3bc71a37fedd0f585fc.zip
[Mips] Check all MIPS toolchains to find the one that best meets command
line arguments and directories tree. The old toolchain selection heuristics worked incorrectly when user has a reduced MIPS toolchain supports the O32 ABI only. Patch reviewed by Jonathan Roelofs, David Majnemer. llvm-svn: 202873
Diffstat (limited to 'clang/test/Driver')
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mips-linux-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mipsel-linux-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/backward/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mips-linux-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mipsel-linux-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mips-linux-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mipsel-linux-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mips-linux-gnu/.keep0
-rw-r--r--clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mipsel-linux-gnu/.keep0
-rw-r--r--clang/test/Driver/mips-reduced-toolchain.cpp28
16 files changed, 28 insertions, 0 deletions
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mips-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mips-linux-gnu/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mips-linux-gnu/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mipsel-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mipsel-linux-gnu/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mipsel-linux-gnu/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/backward/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/backward/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/backward/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mips-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mips-linux-gnu/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mips-linux-gnu/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mipsel-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mipsel-linux-gnu/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mipsel-linux-gnu/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mips-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mips-linux-gnu/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mips-linux-gnu/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mipsel-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mipsel-linux-gnu/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mipsel-linux-gnu/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mips-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mips-linux-gnu/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mips-linux-gnu/.keep
diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mipsel-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mipsel-linux-gnu/.keep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mipsel-linux-gnu/.keep
diff --git a/clang/test/Driver/mips-reduced-toolchain.cpp b/clang/test/Driver/mips-reduced-toolchain.cpp
new file mode 100644
index 00000000000..fe7ed8ae045
--- /dev/null
+++ b/clang/test/Driver/mips-reduced-toolchain.cpp
@@ -0,0 +1,28 @@
+// Check frontend and linker invocations on reduced Debian MIPS toolchain.
+// This toolchain icludes O32 ABI only.
+
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN: --target=mips-linux-gnu \
+// RUN: --sysroot=%S/Inputs/debian_reduced_mips_tree \
+// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPS %s
+// CHECK-DEBIAN-MIPS: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-DEBIAN-MIPS: "{{.*}}/usr/lib/gcc/mips-linux-gnu/4.7{{/|\\\\}}crtbegin.o"
+// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.7"
+// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.7/../../../mips-linux-gnu"
+// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/mips-linux-gnu"
+// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.7/../../.."
+// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/lib"
+// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib"
+
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN: --target=mipsel-linux-gnu \
+// RUN: --sysroot=%S/Inputs/debian_reduced_mips_tree \
+// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPSEL %s
+// CHECK-DEBIAN-MIPSEL: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-DEBIAN-MIPSEL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.7{{/|\\\\}}crtbegin.o"
+// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.7"
+// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.7/../../../mipsel-linux-gnu"
+// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/mipsel-linux-gnu"
+// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.7/../../.."
+// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/lib"
+// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib"
OpenPOWER on IntegriCloud