================
@@ -42,7 +42,12 @@ void p3example() {
   static auto y = 0.0;
----------------
zygoloid wrote:

> Hmmm, it seems we're treating type deduction as an extension in C++98 mode, 
> but we don't list it in the language extensions page as such and we don't 
> issue pedantic diagnostics for it. @zygoloid do you recall if this was an 
> intentional extension or not?

I see a diagnostic for it appearing in all of your test cases:

```
<source>:2:10: warning: 'auto' type specifier is a C++11 extension 
[-Wc++11-extensions]
    2 |   static auto y = 0.0;
      |     
```

... and `-pedantic-errors` does promote that to an error. So yeah, this is an 
intentional extension, from the general category of [feature from a later 
language mode accepted in earlier language 
modes](https://clang.llvm.org/docs/LanguageExtensions.html#language-extensions-back-ported-to-previous-standards),
 but I guess the table in our documentation is incomplete -- it only seems to 
include the C++ features with feature test macros (plus one that I guess 
postdates the table).

If we want that table to be complete, it's probably worth going through the 
diagnostics in the `-Wc++XY-extensions` groups and making sure they're all 
listed. All the relevant extensions should have diagnostics already.

https://github.com/llvm/llvm-project/pull/166004
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to