[clang] [C++23] Fix infinite recursion (Clang 19.x regression) (PR #104829)
Shafik Yaghmour via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 19 13:12:54 PDT 2024
================
@@ -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;
----------------
shafik wrote:
Should we also test an alias declaration?
https://github.com/llvm/llvm-project/pull/104829
More information about the cfe-commits
mailing list