187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: rm -rf %t
287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fmodules-local-submodule-visibility -I%S/Inputs/no-linkage -fmodule-map-file=%S/Inputs/no-linkage/module.modulemap %s -verify
387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar
487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar#include "empty.h"
587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar
687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarnamespace NS { int n; } // expected-note {{candidate}}
787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarstruct Typedef { int n; }; // expected-note {{candidate}}
887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarint AliasDecl; // expected-note {{candidate}}
987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarint UsingDecl; // expected-note {{candidate}}
1087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarnamespace RealNS = NS; // expected-note {{candidate}}
1187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainartypedef int Struct; // expected-note {{candidate}}
1287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarenum { Variable }; // expected-note {{candidate}}
1387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarconst int AnotherNS = 0; // expected-note {{candidate}}
1487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarconst int Enumerator = 0; // expected-note {{candidate}}
1587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarstatic int Overloads; // expected-note {{candidate}}
1687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar
1787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:1 {{candidate}}
1887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:2 {{candidate}}
1987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:3 {{candidate}}
2087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:4 {{candidate}}
2187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:5 {{candidate}}
2287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:6 {{candidate}}
2387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:7 {{candidate}}
2487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:8 {{candidate}}
2587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:9 {{candidate}}
2687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:10 {{candidate}}
2787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// expected-note@decls.h:11 {{candidate}}
2887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar
2987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarvoid use(int);
3087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarvoid use_things() {
3187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Typedef().n);
3287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(NS::n);
3387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(AliasDecl);
3487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(UsingDecl);
3587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(RealNS::n);
3687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Struct(0));
3787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Variable);
3887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(AnotherNS);
3987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Enumerator);
4087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Overloads);
4187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar}
4287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar
4387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar#include "decls.h"
4487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar
4587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarvoid use_things_again() {
4687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Typedef().n); // expected-error {{ambiguous}}
4787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(NS::n); // expected-error {{ambiguous}}
4887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(AliasDecl); // expected-error {{ambiguous}}
4987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(UsingDecl); // expected-error {{ambiguous}}
5087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(RealNS::n); // expected-error {{ambiguous}}
5187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Struct(0)); // expected-error {{ambiguous}}
5287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Variable); // expected-error {{ambiguous}}
5387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(AnotherNS); // expected-error {{ambiguous}}
5487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Enumerator); // expected-error {{ambiguous}}
5587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  use(Overloads); // expected-error {{ambiguous}}
5687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar}
57