[clang] [Clang] Fix a crash when dumping a pack indexing type. (PR #80439)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 2 08:53:22 PST 2024
================
@@ -0,0 +1,24 @@
+// RUN: not %clang_cc1 -std=c++2c -ast-dump %s | FileCheck %s
+
+namespace InvalidPacksShouldNotCrash {
+
+struct NotAPack;
+template <typename T, auto V, template<typename> typename Tp>
+void not_pack() {
+ int i = 0;
+ i...[0]; // expected-error {{i does not refer to the name of a parameter pack}}
+ V...[0]; // expected-error {{V does not refer to the name of a parameter pack}}
+ NotAPack...[0] a; // expected-error{{'NotAPack' does not refer to the name of a parameter pack}}
+ T...[0] b; // expected-error{{'T' does not refer to the name of a parameter pack}}
+ Tp...[0] c; // expected-error{{'Tp' does not refer to the name of a parameter pack}}
+}
+
+// CHECK: -FunctionDecl {{.*}} not_pack 'void ()'
+// CHECK: |-DeclStmt {{.*}}
----------------
erichkeane wrote:
Instead of testing the spaces/`-` and `|-` character, just use 'CHECK-NEXT`. Else this can get fraigle due to WS. Else the test looks fine.
https://github.com/llvm/llvm-project/pull/80439
More information about the cfe-commits
mailing list