reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
7536 if (NewVD->isInvalidDecl()) 7539 QualType T = NewVD->getType(); 7545 if (NewVD->hasAttrs()) 7546 CheckAlignasUnderalignment(NewVD); 7549 Diag(NewVD->getLocation(), diag::err_statically_allocated_object) 7550 << FixItHint::CreateInsertion(NewVD->getLocation(), "*"); 7552 NewVD->setType(T); 7559 if (!getLangOpts().OpenCL && NewVD->hasLocalStorage() && 7561 Diag(NewVD->getLocation(), diag::err_as_qualified_auto_decl) << 0; 7562 NewVD->setInvalidDecl(); 7570 NewVD->isStaticLocal()) { 7571 Diag(NewVD->getLocation(), diag::err_static_function_scope); 7572 NewVD->setInvalidDecl(); 7578 if (NewVD->hasAttr<BlocksAttr>()) { 7579 Diag(NewVD->getLocation(), diag::err_opencl_block_storage_type); 7587 Diag(NewVD->getLocation(), diag::err_opencl_invalid_block_declaration) 7589 NewVD->setInvalidDecl(); 7592 if (NewVD->hasExternalStorage()) { 7593 Diag(NewVD->getLocation(), diag::err_opencl_extern_block_declaration); 7594 NewVD->setInvalidDecl(); 7605 if (NewVD->isFileVarDecl() || NewVD->isStaticLocal() || 7605 if (NewVD->isFileVarDecl() || NewVD->isStaticLocal() || 7606 NewVD->hasExternalStorage()) { 7612 int Scope = NewVD->isStaticLocal() | NewVD->hasExternalStorage() << 1; 7612 int Scope = NewVD->isStaticLocal() | NewVD->hasExternalStorage() << 1; 7614 Diag(NewVD->getLocation(), diag::err_opencl_global_invalid_addr_space) 7617 Diag(NewVD->getLocation(), diag::err_opencl_global_invalid_addr_space) 7619 NewVD->setInvalidDecl(); 7624 Diag(NewVD->getLocation(), diag::err_opencl_function_variable) 7626 NewVD->setInvalidDecl(); 7636 Diag(NewVD->getLocation(), diag::err_opencl_function_variable) 7639 Diag(NewVD->getLocation(), diag::err_opencl_function_variable) 7641 NewVD->setInvalidDecl(); 7649 Diag(NewVD->getLocation(), diag::err_opencl_addrspace_scope) 7652 Diag(NewVD->getLocation(), diag::err_opencl_addrspace_scope) 7654 NewVD->setInvalidDecl(); 7663 Diag(NewVD->getLocation(), diag::err_as_qualified_auto_decl) << 1; 7664 NewVD->setInvalidDecl(); 7670 if (NewVD->hasLocalStorage() && T.isObjCGCWeak() 7671 && !NewVD->hasAttr<BlocksAttr>()) { 7673 Diag(NewVD->getLocation(), diag::warn_gc_attribute_weak_on_local); 7676 Diag(NewVD->getLocation(), diag::warn_attribute_weak_on_local); 7681 if (isVM || NewVD->hasAttr<CleanupAttr>() || 7682 NewVD->hasAttr<BlocksAttr>()) 7685 if ((isVM && NewVD->hasLinkage()) || 7686 (T->isVariableArrayType() && NewVD->hasGlobalStorage())) { 7690 NewVD->getTypeSourceInfo(), Context, SizeIsNegative, Oversized); 7692 if (FixedTInfo && T == NewVD->getTypeSourceInfo()->getType()) 7706 if (NewVD->isFileVarDecl()) 7707 Diag(NewVD->getLocation(), diag::err_vla_decl_in_file_scope) 7709 else if (NewVD->isStaticLocal()) 7710 Diag(NewVD->getLocation(), diag::err_vla_decl_has_static_storage) 7713 Diag(NewVD->getLocation(), diag::err_vla_decl_has_extern_linkage) 7715 NewVD->setInvalidDecl(); 7720 if (NewVD->isFileVarDecl()) 7721 Diag(NewVD->getLocation(), diag::err_vm_decl_in_file_scope); 7723 Diag(NewVD->getLocation(), diag::err_vm_decl_has_extern_linkage); 7724 NewVD->setInvalidDecl(); 7728 Diag(NewVD->getLocation(), diag::warn_illegal_constant_array_size); 7729 NewVD->setType(FixedT); 7730 NewVD->setTypeSourceInfo(FixedTInfo); 7736 if (NewVD->isThisDeclarationADefinition() || getLangOpts().CPlusPlus) { 7737 Diag(NewVD->getLocation(), diag::err_typecheck_decl_incomplete_type) 7739 NewVD->setInvalidDecl(); 7744 if (!NewVD->hasLocalStorage() && NewVD->hasAttr<BlocksAttr>()) { 7744 if (!NewVD->hasLocalStorage() && NewVD->hasAttr<BlocksAttr>()) { 7745 Diag(NewVD->getLocation(), diag::err_block_on_nonlocal); 7746 NewVD->setInvalidDecl(); 7750 if (isVM && NewVD->hasAttr<BlocksAttr>()) { 7751 Diag(NewVD->getLocation(), diag::err_block_on_vm); 7752 NewVD->setInvalidDecl(); 7756 if (NewVD->isConstexpr() && !T->isDependentType() && 7757 RequireLiteralType(NewVD->getLocation(), T, 7759 NewVD->setInvalidDecl();