1/* Compile with: 2 cat >modules.modulemap <<EOF 3 module mismatch { 4 header "mismatch.h" 5 } 6 EOF 7 echo "struct s;"> mismatch.h 8 clang -cc1 -emit-obj -fmodules -fmodule-map-file=modules.modulemap \ 9 -fmodule-format=obj -g -dwarf-ext-refs -fmodules-cache-path=. \ 10 -fdisable-module-hash mismatch.m -o 1.o 11 echo > mismatch.h 12 clang -cc1 -emit-obj -fmodules -fmodule-map-file=modules.modulemap \ 13 -fmodule-format=obj -g -dwarf-ext-refs -fmodules-cache-path=. \ 14 -fdisable-module-hash mismatch.m -o /dev/null 15*/ 16 17// RUN: rm -rf %t.dir && mkdir %t.dir 18// RUN: cp %p/../Inputs/mismatch/1.o %p/../Inputs/mismatch/mismatch.pcm %t.dir 19// RUN: cp %p/../Inputs/mismatch/1.o %t.dir/2.o 20// RUN: llvm-dsymutil --verbose -f -oso-prepend-path=%t.dir \ 21// RUN: -y %p/dummy-debug-map.map -o %t.bin 2>&1 | FileCheck %s 22 23@import mismatch; 24 25void f() {} 26// Mismatch after importing the module. 27// CHECK: warning: hash mismatch 28// Mismatch in the cache. 29// CHECK: warning: hash mismatch 30// CHECK: cached 31