[clang] [clang] Check null TypeSourceInfo in CreateUnaryExprOrTypeTraitExpr (PR #112111)
Andrew Sukach via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 15 09:28:15 PDT 2024
================
@@ -0,0 +1,26 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+a() {struct b c (sizeof(b * [({ {tree->d* next)} 0
+
+// expected-error at 3 {{a type specifier is required for all declarations}}
+// expected-error at 3 {{use of undeclared identifier 'tree'; did you mean 'true'?}}
+// expected-error at 3 {{member reference type 'bool' is not a pointer}}
+// expected-error at 3 {{expected ';' after expression}}
+// expected-error at 3 {{use of undeclared identifier 'next'; did you mean 'new'?}}
+// expected-error at 3 {{expected expression}}
+// expected-error at 3 {{expected ';' after expression}}
+// expected-error at 26 {{expected '}'}}
+// expected-note at 3 {{to match this '{'}}
+// expected-error at 26 {{expected ')'}}
+// expected-note at 3 {{to match this '('}}
+// expected-error at 26 {{expected ']'}}
+// expected-note at 3 {{to match this '['}}
+// expected-error at 26 {{expected ')'}}
+// expected-note at 3 {{to match this '('}}
+// expected-error at 3 {{using declaration 'exp' instantiates to an empty pack}}
+// expected-error at 3 {{variable has incomplete type 'struct b'}}
+// expected-note at 3 {{forward declaration of 'b'}}
+// expected-error at 3 {{expected ';' at end of declaration}}
+// expected-error at 26 {{expected '}'}}
+// expected-note at 3 {{to match this '{'}}
+// expected-warning at 3 {{expression result unused}}
----------------
sookach wrote:
Definitely agree that the test file is pretty ugly. I tried to remove some parts of the original code but none of my reductions kept the crash, so that's why I left it in full. I think ideally there would just be a way to make sure that there is no crash without checking the specific diagnostics, but it seems that option isn't available.
https://github.com/llvm/llvm-project/pull/112111
More information about the cfe-commits
mailing list