xref: /minix3/external/bsd/llvm/dist/clang/test/Driver/darwin-verify-debug.c (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // Check that we verify debug output properly with multiple -arch options.
2*f4a2713aSLionel Sambuc //
3*f4a2713aSLionel Sambuc // REQUIRES: asserts
4*f4a2713aSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin10 -ccc-print-phases \
5*f4a2713aSLionel Sambuc // RUN:   -verify -arch i386 -arch x86_64 %s -g 2> %t
6*f4a2713aSLionel Sambuc // RUN: FileCheck -check-prefix=CHECK-MULTIARCH-ACTIONS < %t %s
7*f4a2713aSLionel Sambuc //
8*f4a2713aSLionel Sambuc // CHECK-MULTIARCH-ACTIONS: 0: input, "{{.*}}darwin-verify-debug.c", c
9*f4a2713aSLionel Sambuc // CHECK-MULTIARCH-ACTIONS: 8: dsymutil, {7}, dSYM
10*f4a2713aSLionel Sambuc // CHECK-MULTIARCH-ACTIONS: 9: verify, {8}, none
11*f4a2713aSLionel Sambuc //
12*f4a2713aSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin10 -ccc-print-bindings \
13*f4a2713aSLionel Sambuc // RUN:   -verify -arch i386 -arch x86_64 %s -g 2> %t
14*f4a2713aSLionel Sambuc // RUN: FileCheck -check-prefix=CHECK-MULTIARCH-BINDINGS < %t %s
15*f4a2713aSLionel Sambuc //
16*f4a2713aSLionel Sambuc // CHECK-MULTIARCH-BINDINGS: # "x86_64-apple-darwin10" - "darwin::Dsymutil", inputs: ["a.out"], output: "a.out.dSYM"
17*f4a2713aSLionel Sambuc // CHECK-MULTIARCH-BINDINGS: # "x86_64-apple-darwin10" - "darwin::VerifyDebug", inputs: ["a.out.dSYM"], output: (nothing)
18*f4a2713aSLionel Sambuc 
19*f4a2713aSLionel Sambuc // Check output name derivation.
20*f4a2713aSLionel Sambuc //
21*f4a2713aSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin10 -ccc-print-bindings \
22*f4a2713aSLionel Sambuc // RUN:   -verify -o foo %s -g 2> %t
23*f4a2713aSLionel Sambuc // RUN: FileCheck -check-prefix=CHECK-OUTPUT-NAME < %t %s
24*f4a2713aSLionel Sambuc //
25*f4a2713aSLionel Sambuc // CHECK-OUTPUT-NAME: "x86_64-apple-darwin10" - "darwin::Link", inputs: [{{.*}}], output: "foo"
26*f4a2713aSLionel Sambuc // CHECK-OUTPUT-NAME: "x86_64-apple-darwin10" - "darwin::Dsymutil", inputs: ["foo"], output: "foo.dSYM"
27*f4a2713aSLionel Sambuc // CHECK-OUTPUT-NAME: "x86_64-apple-darwin10" - "darwin::VerifyDebug", inputs: ["foo.dSYM"], output: (nothing)
28*f4a2713aSLionel Sambuc 
29*f4a2713aSLionel Sambuc // Check that we only verify when needed.
30*f4a2713aSLionel Sambuc //
31*f4a2713aSLionel Sambuc // RUN: touch %t.o
32*f4a2713aSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin10 -ccc-print-bindings \
33*f4a2713aSLionel Sambuc // RUN:   -verify -o foo %t.o -g 2> %t
34*f4a2713aSLionel Sambuc // RUN: not grep "Verify" %t
35