diff options
| author | Anders Carlsson <andersca@mac.com> | 2009-02-28 23:31:06 +0000 | 
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2009-02-28 23:31:06 +0000 | 
| commit | 5d7ede616a9cbf164bd771c428abafd3c03f1cfb (patch) | |
| tree | a6e49fe2f1f69648dbd7c461bf4758f4527026db /clang/lib/Sema | |
| parent | 92c5c12bdbb154751d4280b32930fedf04c6575d (diff) | |
| download | bcm5719-llvm-5d7ede616a9cbf164bd771c428abafd3c03f1cfb.tar.gz bcm5719-llvm-5d7ede616a9cbf164bd771c428abafd3c03f1cfb.zip  | |
Whoops, actually remove the VLA/VM check in FinalizeDeclaratorGroup.
llvm-svn: 65737
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 36 | 
1 files changed, 0 insertions, 36 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 76794e571d4..8764cd9d77c 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -2256,42 +2256,6 @@ Sema::DeclTy *Sema::FinalizeDeclaratorGroup(Scope *S, DeclTy *group) {        continue;      QualType T = IDecl->getType(); -    bool isIllegalVLA = T->isVariableArrayType() && IDecl->hasGlobalStorage(); -    bool isIllegalVM = T->isVariablyModifiedType() && IDecl->hasLinkage(); -    if (isIllegalVLA || isIllegalVM) { -      bool SizeIsNegative; -      QualType FixedTy = -          TryToFixInvalidVariablyModifiedType(T, Context, SizeIsNegative); -      if (!FixedTy.isNull()) { -        Diag(IDecl->getLocation(), diag::warn_illegal_constant_array_size); -        IDecl->setType(FixedTy); -      } else if (T->isVariableArrayType()) { -        IDecl->setInvalidDecl(); - -        const VariableArrayType *VAT = Context.getAsVariableArrayType(T); -        // FIXME: This won't give the correct result for  -        // int a[10][n];       -        SourceRange SizeRange = VAT->getSizeExpr()->getSourceRange(); - -        if (IDecl->isFileVarDecl()) -          Diag(IDecl->getLocation(), diag::err_vla_decl_in_file_scope) -            << SizeRange; -        else if (IDecl->getStorageClass() == VarDecl::Static) -          Diag(IDecl->getLocation(), diag::err_vla_decl_has_static_storage) -            << SizeRange; -        else -          Diag(IDecl->getLocation(), diag::err_vla_decl_has_extern_linkage) -              << SizeRange; -      } else { -        IDecl->setInvalidDecl(); - -        if (IDecl->isFileVarDecl()) -          Diag(IDecl->getLocation(), diag::err_vm_decl_in_file_scope); -        else -          Diag(IDecl->getLocation(), diag::err_vm_decl_has_extern_linkage); -      } -    } -      // Block scope. C99 6.7p7: If an identifier for an object is declared with      // no linkage (C99 6.2.2p6), the type for the object shall be complete...      if (IDecl->isBlockVarDecl() &&   | 

