1*dc5cbba3SBen Langmuir // Check that Wsystem-headers-in-module shows diagnostics in the named system 2*dc5cbba3SBen Langmuir // module, but not in other system headers or modules. 3*dc5cbba3SBen Langmuir 4*dc5cbba3SBen Langmuir // RUN: rm -rf %t 5*dc5cbba3SBen Langmuir // RUN: split-file %s %t 6*dc5cbba3SBen Langmuir 7*dc5cbba3SBen Langmuir // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/mcp \ 8*dc5cbba3SBen Langmuir // RUN: -isystem %t/sys %t/tu.c -fsyntax-only -Wextra-semi -Wsystem-headers-in-module=sys_mod \ 9*dc5cbba3SBen Langmuir // RUN: 2>&1 | FileCheck %s 10*dc5cbba3SBen Langmuir 11*dc5cbba3SBen Langmuir // CHECK-NOT: warning: 12*dc5cbba3SBen Langmuir // CHECK: sys_mod.h:2:7: warning: extra ';' 13*dc5cbba3SBen Langmuir // CHECK-NOT: warning: 14*dc5cbba3SBen Langmuir 15*dc5cbba3SBen Langmuir //--- sys/other_sys_header.h 16*dc5cbba3SBen Langmuir int x;; 17*dc5cbba3SBen Langmuir //--- sys_mod.h 18*dc5cbba3SBen Langmuir #include "dependent_sys_mod.h" 19*dc5cbba3SBen Langmuir int y;; 20*dc5cbba3SBen Langmuir //--- other_sys_mod.h 21*dc5cbba3SBen Langmuir int z;; 22*dc5cbba3SBen Langmuir //--- dependent_sys_mod.h 23*dc5cbba3SBen Langmuir int w;; 24*dc5cbba3SBen Langmuir //--- module.modulemap 25*dc5cbba3SBen Langmuir module sys_mod [system] { header "sys_mod.h" } 26*dc5cbba3SBen Langmuir module other_sys_mod [system] { header "other_sys_mod.h" } 27*dc5cbba3SBen Langmuir module dependent_sys_mod [system] { header "dependent_sys_mod.h" } 28*dc5cbba3SBen Langmuir 29*dc5cbba3SBen Langmuir //--- tu.c 30*dc5cbba3SBen Langmuir #include "sys_mod.h" 31*dc5cbba3SBen Langmuir #include "other_sys_mod.h" 32*dc5cbba3SBen Langmuir #include "other_sys_header.h" 33