Home | History | Annotate | Download | only in Sema

Lines Matching defs:NewVD

4746   VarDecl *NewVD;
4748 NewVD = VarDecl::Create(Context, DC, D.getLocStart(),
4753 NewVD->setInvalidDecl();
4818 NewVD = VarDecl::Create(Context, DC, D.getLocStart(),
4826 ParsingInitForAutoVars.insert(NewVD);
4829 NewVD->setInvalidDecl();
4831 SetNestedNameSpecifier(NewVD, D);
4834 NewVD->setTemplateParameterListsInfo(Context,
4840 NewVD->setConstexpr(true);
4845 NewVD->setLexicalDeclContext(CurContext);
4848 if (NewVD->hasLocalStorage())
4853 NewVD->setThreadSpecified(true);
4858 Diag(NewVD->getLocation(), diag::err_module_private_specialization)
4861 else if (NewVD->hasLocalStorage())
4862 Diag(NewVD->getLocation(), diag::err_module_private_local)
4863 << 0 << NewVD->getDeclName()
4867 NewVD->setModulePrivate();
4871 ProcessDeclAttributes(S, NewVD, D);
4873 if (NewVD->hasAttrs())
4874 CheckAlignasUnderalignment(NewVD);
4880 (NewVD->hasAttr<CUDASharedAttr>() ||
4881 NewVD->hasAttr<CUDAConstantAttr>())) {
4882 NewVD->setStorageClass(SC_Static);
4883 NewVD->setStorageClassAsWritten(SC_Static);
4889 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(NewVD))
4890 NewVD->setInvalidDecl();
4915 NewVD->addAttr(::new (Context) AsmLabelAttr(SE->getStrTokenLoc(0),
4919 ExtnameUndeclaredIdentifiers.find(NewVD->getIdentifier());
4921 NewVD->addAttr(I->second);
4928 CheckShadow(S, NewVD, Previous);
4933 FilterLookupForScope(Previous, DC, S, shouldConsiderLinkage(NewVD),
4937 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous));
4946 Diag(NewVD->getLocation(), diag::err_nonstatic_member_out_of_line)
4949 NewVD->setInvalidDecl();
4956 NewVD->setInvalidDecl();
4959 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous));
4962 if (isExplicitSpecialization && !NewVD->isInvalidDecl() &&
4963 CheckMemberSpecialization(NewVD, Previous))
4964 NewVD->setInvalidDecl();
4967 ProcessPragmaWeak(S, NewVD);
4968 checkAttributesAfterMerging(*this, *NewVD);
4972 if (CurContext->isFunctionOrMethod() && NewVD->isExternC() &&
4973 !NewVD->isInvalidDecl())
4974 RegisterLocallyScopedExternCDecl(NewVD, Previous, S);
4976 return NewVD;
5109 /// Sets NewVD->isInvalidDecl() if an error was encountered.
5112 bool Sema::CheckVariableDeclaration(VarDecl *NewVD,
5115 if (NewVD->isInvalidDecl())
5118 TypeSourceInfo *TInfo = NewVD->getTypeSourceInfo();
5122 Diag(NewVD->getLocation(), diag::err_statically_allocated_object)
5123 << FixItHint::CreateInsertion(NewVD->getLocation(), "*");
5125 NewVD->setType(T);
5132 if (NewVD->hasLocalStorage() && T.getAddressSpace() != 0) {
5133 Diag(NewVD->getLocation(), diag::err_as_qualified_auto_decl);
5134 NewVD->setInvalidDecl();
5141 && NewVD->isStaticLocal()) {
5142 Diag(NewVD->getLocation(), diag::err_static_function_scope);
5143 NewVD->setInvalidDecl();
5147 if (NewVD->hasLocalStorage() && T.isObjCGCWeak()
5148 && !NewVD->hasAttr<BlocksAttr>()) {
5150 Diag(NewVD->getLocation(), diag::warn_gc_attribute_weak_on_local);
5153 Diag(NewVD->getLocation(), diag::warn_attribute_weak_on_local);
5158 if (isVM || NewVD->hasAttr<CleanupAttr>() ||
5159 NewVD->hasAttr<BlocksAttr>())
5162 if ((isVM && NewVD->hasLinkage()) ||
5163 (T->isVariableArrayType() && NewVD->hasGlobalStorage())) {
5175 if (NewVD->isFileVarDecl())
5176 Diag(NewVD->getLocation(), diag::err_vla_decl_in_file_scope)
5178 else if (NewVD->getStorageClass() == SC_Static)
5179 Diag(NewVD->getLocation(), diag::err_vla_decl_has_static_storage)
5182 Diag(NewVD->getLocation(), diag::err_vla_decl_has_extern_linkage)
5184 NewVD->setInvalidDecl();
5189 if (NewVD->isFileVarDecl())
5190 Diag(NewVD->getLocation(), diag::err_vm_decl_in_file_scope);
5192 Diag(NewVD->getLocation(), diag::err_vm_decl_has_extern_linkage);
5193 NewVD->setInvalidDecl();
5197 Diag(NewVD->getLocation(), diag::warn_illegal_constant_array_size);
5198 NewVD->setType(FixedTInfo->getType());
5199 NewVD->setTypeSourceInfo(FixedTInfo);
5202 if (Previous.empty() && mayConflictWithNonVisibleExternC(NewVD)) {
5206 = findLocallyScopedExternCDecl(NewVD->getDeclName());
5212 filterNonConflictingPreviousDecls(Context, NewVD, Previous);
5214 if (T->isVoidType() && !NewVD->hasExternalStorage()) {
5215 Diag(NewVD->getLocation(), diag::err_typecheck_decl_incomplete_type)
5217 NewVD->setInvalidDecl();
5221 if (!NewVD->hasLocalStorage() && NewVD->hasAttr<BlocksAttr>()) {
5222 Diag(NewVD->getLocation(), diag::err_block_on_nonlocal);
5223 NewVD->setInvalidDecl();
5227 if (isVM && NewVD->hasAttr<BlocksAttr>()) {
5228 Diag(NewVD->getLocation(), diag::err_block_on_vm);
5229 NewVD->setInvalidDecl();
5233 if (NewVD->isConstexpr() && !T->isDependentType() &&
5234 RequireLiteralType(NewVD->getLocation(), T,
5236 NewVD->setInvalidDecl();
5241 MergeVarDecl(NewVD, Previous);