OSDN Git Service

[test] Run the verifier for dsymutil module tests
[android-x86/external-llvm.git] / test / tools / dsymutil / X86 / module-warnings.test
1 # Compile with:
2 #    cat >modules.modulemap <<EOF
3 #      module Foo {
4 #        header "Foo.h"
5 #        export *
6 #      }
7 #      module Bar {
8 #        header "Bar.h"
9 #        export *
10 #      }
11 # EOF
12 #    echo 'typedef int bar;' >Bar.h
13 #    echo '@import Bar; typedef bar foo;' >Foo.h
14 #    echo '@import Foo; foo f() { return 0; }' >module-warnings.m
15 #    clang -cc1 -emit-obj -fmodules -fmodule-map-file=modules.modulemap \
16 #      -fmodule-format=obj -debug-info-kind=standalone -dwarf-ext-refs \
17 #      -fmodules-cache-path=ModuleCache \
18 #      -fdisable-module-hash module-warnings.m -o 1.o
19 #
20 # Test for module-related warnings.
21 #
22 # RUN: rm -rf %t.dir && mkdir %t.dir && mkdir %t.dir/ModuleCache
23 # RUN: cp %p/../Inputs/module-warnings/1.o %t.dir
24 # RUN: cp %p/../Inputs/module-warnings/Foo.pcm %t.dir/ModuleCache
25 #
26 # RUN: dsymutil -verify -f -oso-prepend-path=%t.dir -y \
27 # RUN:   %p/dummy-debug-map.map -o %t 2>&1 | FileCheck %s
28 #
29 # Module-not-found should be reported only once.
30 # The exact error message depends on the OS so we don't check for it.
31 # CHECK:     warning: {{.*}}Bar.pcm:
32 # CHECK-NOT: warning: {{.*}}Bar.pcm:
33 #
34 # RUN: cp %p/../Inputs/module-warnings/libstatic.a %t.dir
35 # RUN: dsymutil -verify -f -oso-prepend-path=%t.dir -y %s -o %t 2>&1 | FileCheck %s
36 # CHECK: rebuild the module cache
37 # CHECK-NOT: static libraries
38 #
39 # RUN: rm -rf %t.dir/ModuleCache
40 # RUN: dsymutil -verify -f -oso-prepend-path=%t.dir -y %s -o %t 2>&1 \
41 # RUN:   | FileCheck %s --check-prefix=STATIC
42 # STATIC: warning: {{.*}}Bar.pcm:
43 # STATIC: note: Linking a static library
44 # STATIC: warning: {{.*}}Foo.pcm:
45 # STATIC-NOT: warning:
46
47 ---
48 triple:          'x86_64-apple-darwin'
49 objects:
50   - filename: libstatic.a(1.o)
51     symbols:
52       - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }
53 ...