diff options
Diffstat (limited to 'test/Driver')
-rw-r--r-- | test/Driver/at_file.c | 30 | ||||
-rw-r--r-- | test/Driver/at_file.c.args | 11 | ||||
-rw-r--r-- | test/Driver/bindings.c | 6 | ||||
-rw-r--r-- | test/Driver/cxx-pth.cpp | 12 | ||||
-rw-r--r-- | test/Driver/darwin-as.c | 10 | ||||
-rw-r--r-- | test/Driver/darwin-cc.c | 4 | ||||
-rw-r--r-- | test/Driver/darwin-debug-flags.c | 2 | ||||
-rw-r--r-- | test/Driver/darwin-ld.c | 37 | ||||
-rw-r--r-- | test/Driver/darwin-xarch.c | 8 | ||||
-rw-r--r-- | test/Driver/freebsd.c | 26 | ||||
-rw-r--r-- | test/Driver/gcc_forward.c | 13 | ||||
-rw-r--r-- | test/Driver/rewrite-objc.m | 6 |
12 files changed, 121 insertions, 44 deletions
diff --git a/test/Driver/at_file.c b/test/Driver/at_file.c new file mode 100644 index 0000000..4ad2a5f --- /dev/null +++ b/test/Driver/at_file.c @@ -0,0 +1,30 @@ +// RUN: %clang -E %s @%s.args -o %t.log +// RUN: FileCheck --input-file=%t.log %s + +// CHECK: bar1 +// CHECK-NEXT: bar2 zed2 +// CHECK-NEXT: bar3 zed3 +// CHECK-NEXT: bar4 zed4 +// CHECK-NEXT: bar5 zed5 +// CHECK-NEXT: 'bar6 zed6' +// CHECK-NEXT: "bar7 zed7" +// CHECK-NEXT: foo8bar8zed8 +// CHECK-NEXT: foo9'bar9'zed9 +// CHECK-NEXT: foo10"bar10"zed10 +// CHECK: bar +// CHECK: zed12 + +foo1 +foo2 +foo3 +foo4 +foo5 +foo6 +foo7 +foo8 +foo9 +foo10 +#ifdef foo11 +bar +#endif +foo12 diff --git a/test/Driver/at_file.c.args b/test/Driver/at_file.c.args new file mode 100644 index 0000000..9a2b4ee --- /dev/null +++ b/test/Driver/at_file.c.args @@ -0,0 +1,11 @@ +-Dfoo1=bar1 -Dfoo2="bar2 zed2" +-Dfoo3='bar3 zed3' +"-Dfoo4=bar4 zed4" +'-Dfoo5=bar5 zed5' +-Dfoo6="'bar6 zed6'" +-Dfoo7='"bar7 zed7"' +-Dfoo8=foo8"bar8"zed8 +-Dfoo9=foo9\'bar9\'zed9 +-Dfoo10=foo10\"bar10\"zed10 +-D foo11 +-Dfoo12=zed12\ diff --git a/test/Driver/bindings.c b/test/Driver/bindings.c index e7ec0c5..b825420 100644 --- a/test/Driver/bindings.c +++ b/test/Driver/bindings.c @@ -15,12 +15,6 @@ // RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t // RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t -// RUN: %clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -no-integrated-cpp -pipe %s 2> %t -// RUN: grep '"gcc::Preprocess", inputs: \[".*bindings.c"\], output: (pipe)' %t -// RUN: grep '"gcc::Compile", inputs: \[(pipe)\], output: (pipe)' %t -// RUN: grep '"gcc::Assemble", inputs: \[(pipe)\], output: ".*\.o"' %t -// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t - // RUN: %clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -x c-header %s 2> %t // RUN: grep '"gcc::Precompile", inputs: \[".*bindings.c"\], output: ".*bindings.c.gch' %t diff --git a/test/Driver/cxx-pth.cpp b/test/Driver/cxx-pth.cpp deleted file mode 100644 index 97afb5e..0000000 --- a/test/Driver/cxx-pth.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// Test forced PTH for CXX support. - -// RUN: %clangxx -x c++-header %s -### 2> %t.log -// RUN: FileCheck -check-prefix EMIT -input-file %t.log %s - -// EMIT: "{{.*}}/clang{{.*}}" {{.*}} "-emit-pth" "{{.*}}.cpp.gch" "-x" "c++-header" "{{.*}}.cpp" - -// RUN: touch %t.h.gch -// RUN: %clangxx -E -include %t.h %s -### 2> %t.log -// RUN: FileCheck -check-prefix USE -input-file %t.log %s - -// USE: "{{.*}}/clang{{.*}}" {{.*}}"-include-pth" "{{.*}}.h.gch" {{.*}}"-x" "c++" "{{.*}}.cpp" diff --git a/test/Driver/darwin-as.c b/test/Driver/darwin-as.c index 6410df0..7d4cdbf 100644 --- a/test/Driver/darwin-as.c +++ b/test/Driver/darwin-as.c @@ -1,10 +1,16 @@ // RUN: %clang -ccc-host-triple i386-apple-darwin10 -### -x assembler -c %s -static -dynamic 2>%t // RUN: FileCheck -check-prefix=STATIC_AND_DYNAMIC-32 --input-file %t %s - +// // CHECK-STATIC_AND_DYNAMIC-32: as{{(.exe)?}}" "-arch" "i386" "-force_cpusubtype_ALL" "-static" "-o" // RUN: %clang -ccc-host-triple x86_64-apple-darwin10 -### -x assembler -c %s -static 2>%t // RUN: FileCheck -check-prefix=STATIC-64 --input-file %t %s - +// // CHECK-STATIC-64: as{{(.exe)?}}" "-arch" "x86_64" "-force_cpusubtype_ALL" "-o" +// RUN: %clang -ccc-host-triple x86_64-apple-darwin10 -### \ +// RUN: -arch armv6 -x assembler -c %s 2>%t +// RUN: FileCheck -check-prefix=ARMV6 --input-file %t %s +// +// CHECK-ARMV6: as{{(.exe)?}}" "-arch" "armv6" "-o" + diff --git a/test/Driver/darwin-cc.c b/test/Driver/darwin-cc.c index 3cb9df6..b068bb4 100644 --- a/test/Driver/darwin-cc.c +++ b/test/Driver/darwin-cc.c @@ -1,5 +1,5 @@ // RUN: %clang -ccc-no-clang -ccc-host-triple i386-apple-darwin10 -m32 -### -MD -g -fast -Q -dA -mkernel -ansi -aFOO -S -o /tmp/OUTPUTNAME -g0 -gfull -O2 -Werror -pedantic -Wmost -w -std=c99 -trigraphs -v -pg -fFOO -undef -Qn --param a=b -fmudflap -coverage -save-temps -nostdinc -I ARG0 -F ARG1 -I ARG2 -P -MF ARG3 -MG -MP -remap -g3 -H -D ARG4 -U ARG5 -A ARG6 -D ARG7 -U ARG8 -A ARG9 -include ARG10 -pthread %s 2> %t.log -// RUN: grep ' ".*cc1" "-E" "-nostdinc" "-v" "-I" "ARG0" "-FARG1" "-I" "ARG2" "-P" "-MD" "/tmp/OUTPUTNAME.d" "-MF" "ARG3" "-MG" "-MP" "-MQ" "/tmp/OUTPUTNAME" "-remap" "-dD" "-H" "-D__STATIC__" "-D_REENTRANT" "-D" "ARG4" "-U" "ARG5" "-A" "ARG6" "-D" "ARG7" "-U" "ARG8" "-A" "ARG9" "-include" "ARG10" ".*darwin-cc.c" "-D_MUDFLAP" "-include" "mf-runtime.h" "-mmacosx-version-min=10.6.0" "-m32" "-mkernel" "-mtune=core2" "-ansi" "-std=c99" "-trigraphs" "-Werror" "-pedantic" "-Wmost" "-w" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-O2" "-undef" "-fpch-preprocess" "-o" ".*darwin-cc.i"' %t.log -// RUN: grep ' ".*cc1" "-fpreprocessed" ".*darwin-cc.i" "-O3" "-dumpbase" ".*darwin-cc.c" "-dA" "-mmacosx-version-min=10.6.0" "-m32" "-mkernel" "-mtune=core2" "-ansi" "-aFOO" "-auxbase-strip" "/tmp/OUTPUTNAME" "-g" "-g0" "-g" "-g3" "-O2" "-Werror" "-pedantic" "-Wmost" "-w" "-ansi" "-std=c99" "-trigraphs" "-version" "-p" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-undef" "-fno-ident" "-o" "/tmp/OUTPUTNAME" "--param" "a=b" "-fno-builtin" "-fno-merge-constants" "-fprofile-arcs" "-ftest-coverage"' %t.log +// RUN: grep ' ".*cc1" "-E" "-nostdinc" "-v" "-I" "ARG0" "-FARG1" "-I" "ARG2" "-P" "-MD" "/tmp/OUTPUTNAME.d" "-MF" "ARG3" "-MG" "-MP" "-MQ" "/tmp/OUTPUTNAME" "-remap" "-dD" "-H" "-D__STATIC__" "-D_REENTRANT" "-D" "ARG4" "-U" "ARG5" "-A" "ARG6" "-D" "ARG7" "-U" "ARG8" "-A" "ARG9" "-include" "ARG10" ".*darwin-cc.c" "-D_MUDFLAP" "-include" "mf-runtime.h" "-m32" "-mkernel" "-mtune=core2" "-mmacosx-version-min=10.6.0" "-ansi" "-std=c99" "-trigraphs" "-Werror" "-pedantic" "-Wmost" "-w" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-O2" "-undef" "-fpch-preprocess" "-o" ".*darwin-cc.i"' %t.log +// RUN: grep ' ".*cc1" "-fpreprocessed" ".*darwin-cc.i" "-O3" "-dumpbase" ".*darwin-cc.c" "-dA" "-m32" "-mkernel" "-mtune=core2" "-mmacosx-version-min=10.6.0" "-ansi" "-aFOO" "-auxbase-strip" "/tmp/OUTPUTNAME" "-g" "-g0" "-g" "-g3" "-O2" "-Werror" "-pedantic" "-Wmost" "-w" "-ansi" "-std=c99" "-trigraphs" "-version" "-p" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-undef" "-fno-ident" "-o" "/tmp/OUTPUTNAME" "--param" "a=b" "-fno-builtin" "-fno-merge-constants" "-fprofile-arcs" "-ftest-coverage"' %t.log diff --git a/test/Driver/darwin-debug-flags.c b/test/Driver/darwin-debug-flags.c index 6f24527..3394e4e 100644 --- a/test/Driver/darwin-debug-flags.c +++ b/test/Driver/darwin-debug-flags.c @@ -2,8 +2,8 @@ // <rdar://problem/7256886> // CHECK: !1 = metadata !{ -// CHECK: -mmacosx-version-min=10.5.0 // CHECK: -g -Os +// CHECK: -mmacosx-version-min=10.5.0 // CHECK: [ DW_TAG_compile_unit ] int x; diff --git a/test/Driver/darwin-ld.c b/test/Driver/darwin-ld.c index 4484468..074957d 100644 --- a/test/Driver/darwin-ld.c +++ b/test/Driver/darwin-ld.c @@ -3,20 +3,6 @@ // RUN: %clang -ccc-host-triple i386-apple-darwin9 -arch i386 -arch x86_64 %s -### -o foo 2> %t.log // RUN: grep '".*ld.*" .*"-arch_multiple" "-final_output" "foo"' %t.log -// RUN: %clang -ccc-host-triple i386-apple-darwin9 -### -filelist FOO -static 2> %t.log -// RUN: grep '"-lcrt0.o" .*"-lgcc_static"' %t.log -// RUN: grep '"-lgcc"' %t.log | count 0 -// RUN: %clang -ccc-host-triple i386-apple-darwin7 -### -filelist FOO 2> %t.log -// RUN: grep '"-lcrt1.o" .*"-lgcc" "-lSystem"' %t.log -// RUN: grep '"-lgcc_s"' %t.log | count 0 -// RUN: %clang -ccc-host-triple i386-apple-darwin8 -### -filelist FOO 2> %t.log -// RUN: grep '"-lcrt1.o" .*"-lgcc_s.10.4" "-lgcc" "-lSystem"' %t.log -// RUN: %clang -ccc-host-triple i386-apple-darwin9 -### -filelist FOO 2> %t.log -// RUN: grep '"-lcrt1.10.5.o" .*"-lgcc_s.10.5" "-lgcc" "-lSystem"' %t.log -// RUN: %clang -ccc-host-triple i386-apple-darwin10 -### -filelist FOO 2> %t.log -// RUN: grep '"-lcrt1.10.6.o" .*"-lSystem" "-lgcc"' %t.log -// RUN: grep '"-lgcc_s"' %t.log | count 0 - // Make sure we run dsymutil on source input files. // RUN: %clang -ccc-host-triple i386-apple-darwin9 -### -g %s -o BAR 2> %t.log // RUN: grep '".*dsymutil" "BAR"' %t.log @@ -82,3 +68,26 @@ // // LINK_EXPLICIT_NO_PIE: ld" // LINK_EXPLICIT_NO_PIE: "-no_pie" + +// RUN: %clang -ccc-host-triple x86_64-apple-darwin10 -### %t.o \ +// RUN: -mlinker-version=100 2> %t.log +// RUN: FileCheck -check-prefix=LINK_NEWER_DEMANGLE %s < %t.log +// +// LINK_NEWER_DEMANGLE: ld" +// LINK_NEWER_DEMANGLE: "-demangle" + +// RUN: %clang -ccc-host-triple x86_64-apple-darwin10 -### %t.o \ +// RUN: -mlinker-version=100 -Wl,--no-demangle 2> %t.log +// RUN: FileCheck -check-prefix=LINK_NEWER_NODEMANGLE %s < %t.log +// +// LINK_NEWER_NODEMANGLE: ld" +// LINK_NEWER_NODEMANGLE-NOT: "-demangle" +// LINK_NEWER_NODEMANGLE: "-lSystem" + +// RUN: %clang -ccc-host-triple x86_64-apple-darwin10 -### %t.o \ +// RUN: -mlinker-version=95 2> %t.log +// RUN: FileCheck -check-prefix=LINK_OLDER_NODEMANGLE %s < %t.log +// +// LINK_OLDER_NODEMANGLE: ld" +// LINK_OLDER_NODEMANGLE-NOT: "-demangle" +// LINK_OLDER_NODEMANGLE: "-lSystem" diff --git a/test/Driver/darwin-xarch.c b/test/Driver/darwin-xarch.c new file mode 100644 index 0000000..cd7fa84 --- /dev/null +++ b/test/Driver/darwin-xarch.c @@ -0,0 +1,8 @@ +// RUN: %clang -ccc-host-triple x86_64-apple-darwin10 -### \ +// RUN: -arch i386 -Xarch_i386 -mmacosx-version-min=10.4 \ +// RUN: -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 \ +// RUN: -c %s 2> %t +// RUN: FileCheck < %t %s +// +// CHECK: clang{{.*}}" "-cc1" "-triple" "i386-apple-darwin8.0.0" +// CHECK: clang{{.*}}" "-cc1" "-triple" "x86_64-apple-darwin9.0.0" diff --git a/test/Driver/freebsd.c b/test/Driver/freebsd.c index 3deee46..e8bc223 100644 --- a/test/Driver/freebsd.c +++ b/test/Driver/freebsd.c @@ -1,7 +1,21 @@ -// RUN: %clang -ccc-clang-archs "" -ccc-host-triple powerpc64-pc-freebsd8 %s -### 2> %t.log -// RUN: cat %t.log -// RUN: FileCheck -input-file %t.log %s +// RUN: %clang -ccc-clang-archs "" -ccc-host-triple powerpc64-pc-freebsd8 %s -### 2> %t +// RUN: FileCheck --check-prefix=CHECK-PPC < %t %s +// +// CHECK-PPC: clang{{.*}}" "-cc1" "-triple" "powerpc64-pc-freebsd8" +// CHECK-PPC: as{{.*}}" "-o" "{{.*}}.o" "{{.*}}.s +// CHECK-PPC: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "{{.*}}ld-elf{{.*}}" "-o" "a.out" "{{.*}}crt1.o" "{{.*}}crti.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "{{.*}}crtend.o" "{{.*}}crtn.o" -// CHECK: clang{{.*}}" "-cc1" "-triple" "powerpc64-pc-freebsd8" -// CHECK: as{{.*}}" "-o" "{{.*}}.o" "{{.*}}.s -// CHECK: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "{{.*}}ld-elf{{.*}}" "-o" "a.out" "{{.*}}crt1.o" "{{.*}}crti.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "{{.*}}crtend.o" "{{.*}}crtn.o" + +// Check that -m32 properly adjusts the toolchain flags. +// +// RUN: %clang -ccc-host-triple x86_64-pc-freebsd8 -m32 -### %s 2> %t +// RUN: FileCheck --check-prefix=CHECK-LIB32 < %t %s +// +// CHECK-LIB32: clang{{.*}}" "-cc1" "-triple" "i386-pc-freebsd8" +// CHECK-LIB32: as{{.*}}" "--32" +// CHECK-LIB32: ld{{.*}}" {{.*}} "-m" "elf_i386_fbsd" +// +// RUN: %clang -ccc-host-triple x86_64-pc-freebsd8 -m32 -print-search-dirs %s > %t +// RUN: FileCheck --check-prefix=CHECK-LIB32PATHS < %t %s +// +// CHECK-LIB32PATHS: libraries: ={{.*}}:/usr/lib32 diff --git a/test/Driver/gcc_forward.c b/test/Driver/gcc_forward.c new file mode 100644 index 0000000..c584a4e --- /dev/null +++ b/test/Driver/gcc_forward.c @@ -0,0 +1,13 @@ +// Check that we don't try to forward -Xclang or -mlinker-version to GCC. +// +// RUN: %clang -ccc-host-triple powerpc-unknown-unknown \ +// RUN: -ccc-clang-archs i386 -c %s \ +// RUN: -Xclang foo-bar \ +// RUN: -mlinker-version=10 -### 2> %t +// RUN: FileCheck < %t %s +// +// CHECK: gcc{{.*}}" +// CHECK-NOT: "-mlinker-version=10" +// CHECK-NOT: "-Xclang" +// CHECK-NOT: "foo-bar" +// CHECK: gcc_forward diff --git a/test/Driver/rewrite-objc.m b/test/Driver/rewrite-objc.m index 38993fc..ac77d79 100644 --- a/test/Driver/rewrite-objc.m +++ b/test/Driver/rewrite-objc.m @@ -1,6 +1,10 @@ // RUN: %clang -ccc-host-triple unknown -rewrite-objc %s -o - -### 2>&1 | \ // RUN: FileCheck -check-prefix=TEST0 %s -// TEST0: clang{{.*}}" "-rewrite-objc" +// TEST0: clang{{.*}}" "-cc1" +// TEST0: "-rewrite-objc" +// FIXME: CHECK-NOT is broken somehow, it doesn't work here. Check adjacency instead. +// TEST0: "-fmessage-length" "0" "-fdiagnostics-show-option" +// TEST0: rewrite-objc.m" // RUN: not %clang -ccc-no-clang -ccc-host-triple unknown -rewrite-objc %s -o - -### 2>&1 | \ // RUN: FileCheck -check-prefix=TEST1 %s |