xref: /aosp_15_r20/external/clang/test/Modules/Inputs/redecl-add-after-load-decls.h (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li typedef struct A B;
2*67e74705SXin Li extern const int variable;
3*67e74705SXin Li extern constexpr int function();
test(bool b)4*67e74705SXin Li constexpr int test(bool b) { return b ? variable : function(); }
5*67e74705SXin Li 
6*67e74705SXin Li namespace N {
7*67e74705SXin Li   typedef struct A B;
8*67e74705SXin Li   extern const int variable;
9*67e74705SXin Li   extern constexpr int function();
10*67e74705SXin Li }
11*67e74705SXin Li typedef N::B NB;
N_test(bool b)12*67e74705SXin Li constexpr int N_test(bool b) { return b ? N::variable : N::function(); }
13*67e74705SXin Li 
14*67e74705SXin Li @import redecl_add_after_load_top;
15*67e74705SXin Li typedef C::A CB;
C_test(bool b)16*67e74705SXin Li constexpr int C_test(bool b) { return b ? C::variable : C::function(); }
17*67e74705SXin Li 
18*67e74705SXin Li struct D {
19*67e74705SXin Li   struct A;
20*67e74705SXin Li   static const int variable;
21*67e74705SXin Li   static constexpr int function();
22*67e74705SXin Li };
23*67e74705SXin Li typedef D::A DB;
D_test(bool b)24*67e74705SXin Li constexpr int D_test(bool b) { return b ? D::variable : D::function(); }
25