| // RUN: %clang_cc1 -std=c++20 -verify %s |
| // Check we don't crash on incomplete members and bases when handling parenthesized initialization. |
| class incomplete; // expected-note@-0 3 {{forward declaration of 'incomplete'}} |
| struct foo { |
| int a; |
| incomplete b; |
| // expected-error@-1 {{incomplete type}} |
| }; |
| foo a1(0); |
| |
| struct one_int { |
| int a; |
| }; |
| struct bar : one_int, incomplete {}; |
| // expected-error@-1 {{incomplete type}} |
| bar a2(0); |
| |
| incomplete a3[3](1,2,3); |
| // expected-error@-1 {{incomplete type}} |
| |
| struct qux : foo { |
| }; |
| qux a4(0); |
| |
| struct fred { |
| foo a[3]; |
| }; |
| fred a5(0); |