diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2011-10-16 21:17:32 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2011-10-16 21:17:32 +0000 |
commit | 20cdbeb8f36576f469db195b4140c293c7281718 (patch) | |
tree | 4940c014e1bc5193314681d604f8e5cb48eeec7d /lib/Sema/SemaType.cpp | |
parent | 5405b817e2e56b8d37faee7ddfe4c05c16339562 (diff) |
Add sema checks for calls to functions taking static array parameters
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142157 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaType.cpp')
-rw-r--r-- | lib/Sema/SemaType.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index d3a39967de..fe5b719591 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -1315,6 +1315,13 @@ QualType Sema::BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM, isSFINAEContext()? diag::err_typecheck_zero_array_size : diag::ext_typecheck_zero_array_size) << ArraySize->getSourceRange(); + + if (ASM == ArrayType::Static) { + Diag(ArraySize->getLocStart(), + diag::warn_typecheck_zero_static_array_size) + << ArraySize->getSourceRange(); + ASM = ArrayType::Normal; + } } else if (!T->isDependentType() && !T->isVariablyModifiedType() && !T->isIncompleteType()) { // Is the array too large? |