diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-09-11 00:18:58 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-09-11 00:18:58 +0000 |
commit | 043cad21b78c6b02597cdc7b6ead32388e27ebc7 (patch) | |
tree | ad0022b00750e4610ff168ab898cdb6fa1c4903a /lib/Sema/SemaType.cpp | |
parent | 8b26cbd4e4c01cb7a06ec2f794f2fce3b58cf4d0 (diff) |
Diagnose VLAs as an error in C++.
Also, treat the GNU __null as an integral constant expression to match
GCC's behavior.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81490 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaType.cpp')
-rw-r--r-- | lib/Sema/SemaType.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index c4064e135e..9f951989a7 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -593,9 +593,11 @@ QualType Sema::BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM, if (ArraySize && !ArraySize->isTypeDependent() && !ArraySize->isValueDependent() && !ArraySize->isIntegerConstantExpr(Context)) - Diag(Loc, diag::ext_vla); + Diag(Loc, getLangOptions().CPlusPlus? diag::err_vla_cxx : diag::ext_vla); else if (ASM != ArrayType::Normal || Quals != 0) - Diag(Loc, diag::ext_c99_array_usage); + Diag(Loc, + getLangOptions().CPlusPlus? diag::err_c99_array_usage_cxx + : diag::ext_c99_array_usage); } return T; |