1// RUN: rm -rf %t.tmp
2// RUN: %clang_cc1 -fsyntax-only -I %S/Inputs/SameHeader -fmodules \
3// RUN:   -fimplicit-module-maps -fmodules-cache-path=%t.tmp %s -verify
4
5// expected-error@Inputs/SameHeader/C.h:3 {{redefinition of 'c'}}
6// expected-note-re@Inputs/SameHeader/B.h:3 {{'{{.*}}C.h' included multiple times, additional include site in header from module 'X.B'}}
7// expected-note@Inputs/SameHeader/module.modulemap:6 {{X.B defined here}}
8// [email protected]:20 {{'{{.*}}C.h' included multiple times, additional include site here}}
9
10// expected-error@Inputs/SameHeader/C.h:5 {{redefinition of 'aaa'}}
11// expected-note-re@Inputs/SameHeader/B.h:3 {{'{{.*}}C.h' included multiple times, additional include site in header from module 'X.B'}}
12// expected-note@Inputs/SameHeader/module.modulemap:6 {{X.B defined here}}
13// [email protected]:20 {{'{{.*}}C.h' included multiple times, additional include site here}}
14
15// expected-error@Inputs/SameHeader/C.h:9 {{redefinition of 'fd_set'}}
16// expected-note-re@Inputs/SameHeader/B.h:3 {{'{{.*}}C.h' included multiple times, additional include site in header from module 'X.B'}}
17// expected-note@Inputs/SameHeader/module.modulemap:6 {{X.B defined here}}
18// [email protected]:20 {{'{{.*}}C.h' included multiple times, additional include site here}}
19#include "A.h" // maps to a modular
20#include "C.h" // textual include
21