1typedef struct A B; 2extern const int variable; 3extern constexpr int function(); 4constexpr int test(bool b) { return b ? variable : function(); } 5 6namespace N { 7 typedef struct A B; 8 extern const int variable; 9 extern constexpr int function(); 10} 11typedef N::B NB; 12constexpr int N_test(bool b) { return b ? N::variable : N::function(); } 13 14@import redecl_add_after_load_top; 15typedef C::A CB; 16constexpr int C_test(bool b) { return b ? C::variable : C::function(); } 17 18struct D { 19 struct A; // expected-note {{forward}} 20 static const int variable; 21 static constexpr int function(); // expected-note {{here}} 22}; 23typedef D::A DB; 24constexpr int D_test(bool b) { return b ? D::variable : D::function(); } // expected-note {{subexpression}} expected-note {{undefined}} 25