================
@@ -20,3 +19,29 @@ struct S : HasVT {
HasD<> v;
};
+// Ensure we don't get infinite recursion from the check, however. See GH104802
+namespace GH104802 {
+class foo { // expected-note {{definition of 'GH104802::foo' is not
complete until the closing '}'}}
+ foo a; // expected-error {{field has incomplete type 'foo'}}
+
+ virtual int c();
+};
+
+class bar { // expected-note {{definition of 'GH104802::bar' is not
complete until the closing '}'}}
+ const bar a; // expected-error {{field has incomplete type 'const bar'}}
+
+ virtual int c();
+};
+
+class baz { // expected-note {{definition of 'GH104802::baz' is not
complete until the closing '}'}}
+ typedef class baz blech;
----------------
AaronBallman wrote:
No need; typedefs already test type canonicalization.
https://github.com/llvm/llvm-project/pull/104829
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits