forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # Compile with:
 | |
| #    cat >modules.modulemap <<EOF
 | |
| #      module Foo {
 | |
| #        header "Foo.h"
 | |
| #        export *
 | |
| #      }
 | |
| #      module Bar {
 | |
| #        header "Bar.h"
 | |
| #        export *
 | |
| #      }
 | |
| # EOF
 | |
| #    echo 'typedef int bar;' >Bar.h
 | |
| #    echo '@import Bar; typedef bar foo;' >Foo.h
 | |
| #    echo '@import Foo; foo f() { return 0; }' >module-warnings.m
 | |
| #    clang -cc1 -emit-obj -fmodules -fmodule-map-file=modules.modulemap \
 | |
| #      -fmodule-format=obj -debug-info-kind=standalone -dwarf-ext-refs \
 | |
| #      -fmodules-cache-path=ModuleCache \
 | |
| #      -fdisable-module-hash module-warnings.m -o 1.o
 | |
| #
 | |
| # Test for module-related warnings.
 | |
| #
 | |
| # RUN: rm -rf %t.dir && mkdir %t.dir && mkdir %t.dir/ModuleCache
 | |
| # RUN: cp %p/../Inputs/module-warnings/1.o %t.dir
 | |
| # RUN: cp %p/../Inputs/module-warnings/Foo.pcm %t.dir/ModuleCache
 | |
| #
 | |
| # RUN: dsymutil -f -oso-prepend-path=%t.dir -y \
 | |
| # RUN:   %p/dummy-debug-map.map -o %t 2>&1 | FileCheck %s
 | |
| #
 | |
| # Module-not-found should be reported only once.
 | |
| # The exact error message depends on the OS so we don't check for it.
 | |
| # CHECK:     warning: {{.*}}Bar.pcm:
 | |
| # CHECK-NOT: warning: {{.*}}Bar.pcm:
 | |
| #
 | |
| # RUN: cp %p/../Inputs/module-warnings/libstatic.a %t.dir
 | |
| # RUN: dsymutil -f -oso-prepend-path=%t.dir -y %s -o %t 2>&1 | FileCheck %s
 | |
| # CHECK: rebuild the module cache
 | |
| # CHECK-NOT: static libraries
 | |
| #
 | |
| # RUN: rm -rf %t.dir/ModuleCache
 | |
| # RUN: dsymutil -f -oso-prepend-path=%t.dir -y %s -o %t 2>&1 \
 | |
| # RUN:   | FileCheck %s --check-prefix=STATIC
 | |
| # STATIC: warning: {{.*}}Bar.pcm:
 | |
| # STATIC: note: Linking a static library
 | |
| # STATIC: warning: {{.*}}Foo.pcm:
 | |
| # STATIC-NOT: warning:
 | |
| 
 | |
| ---
 | |
| triple:          'x86_64-apple-darwin'
 | |
| objects:
 | |
|   - filename: libstatic.a(1.o)
 | |
|     symbols:
 | |
|       - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }
 | |
| ...
 |