[clang] 5f9b69e - [clang][test] Combine and clean up decltype parser tests NFC (#228889)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Oct 4 06:46:53 PDT 2026
Author: Shengxin Pei
Date: 2026-10-04T13:46:42Z
New Revision: 5f9b69e99d5f1949273c3bf407b631072a15cac4
URL: https://github.com/llvm/llvm-project/commit/5f9b69e99d5f1949273c3bf407b631072a15cac4
DIFF: https://github.com/llvm/llvm-project/commit/5f9b69e99d5f1949273c3bf407b631072a15cac4.diff
LOG: [clang][test] Combine and clean up decltype parser tests NFC (#228889)
Follow-up #211221
Added:
Modified:
clang/test/Parser/decltype-crash.cpp
Removed:
clang/test/Parser/decltype-gh188014.cpp
clang/test/Parser/gh114815.cpp
################################################################################
diff --git a/clang/test/Parser/decltype-crash.cpp b/clang/test/Parser/decltype-crash.cpp
index 8471309665f1d..9f22baef698d5 100644
--- a/clang/test/Parser/decltype-crash.cpp
+++ b/clang/test/Parser/decltype-crash.cpp
@@ -1,20 +1,27 @@
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
-// RUN: %clang_cc1 -fsyntax-only -verify -std=c++20 %s
-// A 'decltype' that is not followed by '(' fails to parse as a
-// decltype-specifier. ParseOptionalCXXScopeSpecifier used to still annotate it
-// and treat it as a nested-name-specifier, which tripped an assertion in
-// Preprocessor::AnnotatePreviousCachedTokens. It should just diagnose the
-// error instead.
-int decltype = 0;
-// expected-error at -1 {{expected '(' after 'decltype'}}
-// expected-error at -2 {{expected unqualified-id}}
+namespace GH114815{
+ #define ID(X) X
+ extern int ID(decltype);
+ // expected-error at -1 {{expected '(' after 'decltype'}}
+ // expected-error at -2 {{expected unqualified-id}}
+}
-int *decltype = 0;
-// expected-error at -1 {{expected '(' after 'decltype'}}
-// expected-error at -2 {{expected unqualified-id}}
+namespace GH165246 {
+ int decltype {};
+ // expected-error at -1 {{expected '(' after 'decltype'}}
+ // expected-error at -2 {{expected unqualified-id}}
+}
-// GH165246
-int decltype {};
-// expected-error at -1 {{expected '(' after 'decltype'}}
-// expected-error at -2 {{expected unqualified-id}}
+namespace GH211207 {
+ int decltype = 0;
+ // expected-error at -1 {{expected '(' after 'decltype'}}
+ // expected-error at -2 {{expected unqualified-id}}
+
+ int *decltype = 0;
+ // expected-error at -1 {{expected '(' after 'decltype'}}
+ // expected-error at -2 {{expected unqualified-id}}
+}
+
+// GH188014
+& decltype ( ( union { // expected-error {{expected ';' after union}} expected-error {{expected '}'}} expected-error {{expected ')'}} expected-error {{expected expression}} expected-error {{expected unqualified-id}} expected-note {{to match this '('}} expected-note {{to match this '{'}}
diff --git a/clang/test/Parser/decltype-gh188014.cpp b/clang/test/Parser/decltype-gh188014.cpp
deleted file mode 100644
index e8403bdcbe3bb..0000000000000
--- a/clang/test/Parser/decltype-gh188014.cpp
+++ /dev/null
@@ -1,4 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
-
-// GH188014
-& decltype ( ( union { // expected-error {{expected ';' after union}} expected-error {{expected '}'}} expected-error {{expected ')'}} expected-error {{expected expression}} expected-error {{expected unqualified-id}} expected-note {{to match this '('}} expected-note {{to match this '{'}}
diff --git a/clang/test/Parser/gh114815.cpp b/clang/test/Parser/gh114815.cpp
deleted file mode 100644
index 6a89384e9e66d..0000000000000
--- a/clang/test/Parser/gh114815.cpp
+++ /dev/null
@@ -1,6 +0,0 @@
-// RUN: %clang_cc1 -verify %s -std=c++11 -fsyntax-only
-
-#define ID(X) X
-extern int ID(decltype);
-// expected-error at -1 {{expected '(' after 'decltype'}} \
-// expected-error at -1 {{expected unqualified-id}}
More information about the cfe-commits
mailing list