xref: /llvm-project/clang/test/Modules/Inputs/redecl-add-after-load.h (revision 053f6c6c9e4d311e42e82ebb13b83d700080ba4c)
1*053f6c6cSRichard Smith struct A {};
2*053f6c6cSRichard Smith extern const int variable = 0;
function()3*053f6c6cSRichard Smith extern constexpr int function() { return 0; }
4*053f6c6cSRichard Smith 
5*053f6c6cSRichard Smith namespace N {
6*053f6c6cSRichard Smith   struct A {};
7*053f6c6cSRichard Smith   extern const int variable = 0;
function()8*053f6c6cSRichard Smith   extern constexpr int function() { return 0; }
9*053f6c6cSRichard Smith }
10*053f6c6cSRichard Smith 
11*053f6c6cSRichard Smith @import redecl_add_after_load_top;
12*053f6c6cSRichard Smith struct C::A {};
13*053f6c6cSRichard Smith const int C::variable = 0;
function()14*053f6c6cSRichard Smith constexpr int C::function() { return 0; }
15*053f6c6cSRichard Smith 
16*053f6c6cSRichard Smith struct D {
17*053f6c6cSRichard Smith   struct A;
18*053f6c6cSRichard Smith   static const int variable;
19*053f6c6cSRichard Smith   static constexpr int function();
20*053f6c6cSRichard Smith };
21*053f6c6cSRichard Smith struct D::A {};
22*053f6c6cSRichard Smith const int D::variable = 0;
function()23*053f6c6cSRichard Smith constexpr int D::function() { return 0; }
24