jyknight added inline comments.

================
Comment at: clang/lib/Sema/SemaType.cpp:2617
+  } else if (getLangOpts().CPlusPlus) {
+    if (getLangOpts().CPlusPlus11 && IsStaticAssertLike(ArraySize, Context))
+      VLADiag = getLangOpts().GNUMode
----------------
aaron.ballman wrote:
> jyknight wrote:
> > Not sure whether to actually care, since C++98 is so old now, but, having 
> > `-Wno-vla-extension-static-assert` work in C++98 mode seems like it'd be 
> > quite useful, exactly because the usage cannot trivially be replaced by a 
> > static_assert. So it's a bit unfortunate that we don't distinguish it there.
> > 
> > Perhaps we should emit the same diagnostics in both 98/11, but with 
> > slightly different text in 98?
> That's effectively what we're doing here, right?
> 
> C++98 is told "variable length arrays (in C++) are a Clang extension" and in 
> C++11 they're told "variable length arrays (in C++) are a Clang extension; 
> did you mean to use 'static_assert'?"
> 
> Or am I misunderstanding you?
In this patch, in C++98 mode, we diagnose everything under the flag 
-Wvla-extension, and never under the flag -Wvla-extension-static-assert. My 
point was that we ought to diagnose static-assert-like-VLAs under the 
-Wvla-extension-static-assert flag even in C++98 mode.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D156565/new/

https://reviews.llvm.org/D156565

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to