[clang] [clang] Reject 'auto' storage class with type specifier in C++ (PR #166004)

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 2 01:15:02 PST 2025


================
@@ -1732,11 +1732,16 @@ namespace cwg395 { // cwg395: 3.0
 namespace cwg396 { // cwg396: 3.0
   void f() {
     auto int a();
-    // since-cxx11-error at -1 {{'auto' storage class specifier is not permitted in C++11, and will not be supported in future releases}}
-    // expected-error at -2 {{illegal storage class on function}}
+    // since-cxx11-error at -1 {{'auto' cannot be combined with a type specifier in C++}}
+#if __cplusplus < 201103L
+    // expected-error at -3 {{illegal storage class on function}}
----------------
Endilll wrote:

```suggestion
    // cxx98-error at -3 {{illegal storage class on function}}
```
which saves you from `#if __cplusplus`

https://github.com/llvm/llvm-project/pull/166004


More information about the cfe-commits mailing list