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 -verify -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 -verify -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 -verify -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 }
|
|
...
|