[clang] Sema: filter out invalid base-specifiers before attaching (PR #147213)
Corentin Jabot via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 8 22:07:10 PDT 2025
================
@@ -0,0 +1,13 @@
+// Tests that invalid base-specifiers no longer crash the compiler.
+// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify %s
+
+class X; // expected-note {{forward declaration of 'X'}} expected-note {{forward declaration of 'X'}}
+
+class A : X { // expected-error {{base class has incomplete type}}
+};
+
+class Y : int { // expected-error {{expected class name}}
+};
+
+class Z : X*, virtual int { // expected-error {{base class has incomplete type}} expected-error {{expected class name}}
+};
----------------
cor3ntin wrote:
```suggestion
namespace GH147186 {
class X; // expected-note {{forward declaration of 'X'}} expected-note {{forward declaration of 'X'}}
class A : X { // expected-error {{base class has incomplete type}}
};
class Y : int { // expected-error {{expected class name}}
};
class Z : X*, virtual int { // expected-error {{base class has incomplete type}} expected-error {{expected class name}}
};
}
```
https://github.com/llvm/llvm-project/pull/147213
More information about the cfe-commits
mailing list