Home | History | Annotate | Download | only in Sema

Lines Matching refs:NewVD

3970   VarDecl *NewVD;
3972 NewVD = VarDecl::Create(Context, DC, D.getLocStart(),
3977 NewVD->setInvalidDecl();
4042 NewVD = VarDecl::Create(Context, DC, D.getLocStart(),
4050 ParsingInitForAutoVars.insert(NewVD);
4053 NewVD->setInvalidDecl();
4055 SetNestedNameSpecifier(NewVD, D);
4058 NewVD->setTemplateParameterListsInfo(Context,
4064 NewVD->setConstexpr(true);
4069 NewVD->setLexicalDeclContext(CurContext);
4072 if (NewVD->hasLocalStorage())
4077 NewVD->setThreadSpecified(true);
4082 Diag(NewVD->getLocation(), diag::err_module_private_specialization)
4085 else if (NewVD->hasLocalStorage())
4086 Diag(NewVD->getLocation(), diag::err_module_private_local)
4087 << 0 << NewVD->getDeclName()
4091 NewVD->setModulePrivate();
4095 ProcessDeclAttributes(S, NewVD, D);
4099 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(NewVD))
4100 NewVD->setInvalidDecl();
4125 NewVD->addAttr(::new (Context) AsmLabelAttr(SE->getStrTokenLoc(0),
4129 ExtnameUndeclaredIdentifiers.find(NewVD->getIdentifier());
4131 NewVD->addAttr(I->second);
4138 CheckShadow(S, NewVD, Previous);
4143 FilterLookupForScope(Previous, DC, S, NewVD->hasLinkage(),
4147 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous));
4156 Diag(NewVD->getLocation(), diag::err_nonstatic_member_out_of_line)
4159 NewVD->setInvalidDecl();
4166 NewVD->setInvalidDecl();
4169 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous));
4172 if (isExplicitSpecialization && !NewVD->isInvalidDecl() &&
4173 CheckMemberSpecialization(NewVD, Previous))
4174 NewVD->setInvalidDecl();
4183 Def != NewVD && D.hasAttributes()) {
4184 Diag(NewVD->getLocation(), diag::warn_attribute_precede_definition);
4191 if (CurContext->isFunctionOrMethod() && NewVD->isExternC() &&
4192 !NewVD->isInvalidDecl())
4193 RegisterLocallyScopedExternCDecl(NewVD, Previous, S);
4197 if (NewVD->getLinkage() == ExternalLinkage && !DC->isRecord())
4198 AddPushedVisibilityAttribute(NewVD);
4200 MarkUnusedFileScopedDecl(NewVD);
4202 return NewVD;
4309 /// Sets NewVD->isInvalidDecl() if an error was encountered.
4312 bool Sema::CheckVariableDeclaration(VarDecl *NewVD,
4315 if (NewVD->isInvalidDecl())
4318 QualType T = NewVD->getType();
4321 Diag(NewVD->getLocation(), diag::err_statically_allocated_object)
4322 << FixItHint::CreateInsertion(NewVD->getLocation(), "*");
4324 NewVD->setType(T);
4331 if (NewVD->hasLocalStorage() && T.getAddressSpace() != 0) {
4332 Diag(NewVD->getLocation(), diag::err_as_qualified_auto_decl);
4333 NewVD->setInvalidDecl();
4337 if (NewVD->hasLocalStorage() && T.isObjCGCWeak()
4338 && !NewVD->hasAttr<BlocksAttr>()) {
4340 Diag(NewVD->getLocation(), diag::warn_gc_attribute_weak_on_local);
4342 Diag(NewVD->getLocation(), diag::warn_attribute_weak_on_local);
4346 if (isVM || NewVD->hasAttr<CleanupAttr>() ||
4347 NewVD->hasAttr<BlocksAttr>())
4350 if ((isVM && NewVD->hasLinkage()) ||
4351 (T->isVariableArrayType() && NewVD->hasGlobalStorage())) {
4364 if (NewVD->isFileVarDecl())
4365 Diag(NewVD->getLocation(), diag::err_vla_decl_in_file_scope)
4367 else if (NewVD->getStorageClass() == SC_Static)
4368 Diag(NewVD->getLocation(), diag::err_vla_decl_has_static_storage)
4371 Diag(NewVD->getLocation(), diag::err_vla_decl_has_extern_linkage)
4373 NewVD->setInvalidDecl();
4378 if (NewVD->isFileVarDecl())
4379 Diag(NewVD->getLocation(), diag::err_vm_decl_in_file_scope);
4381 Diag(NewVD->getLocation(), diag::err_vm_decl_has_extern_linkage);
4382 NewVD->setInvalidDecl();
4386 Diag(NewVD->getLocation(), diag::warn_illegal_constant_array_size);
4387 NewVD->setType(FixedTy);
4390 if (Previous.empty() && NewVD->isExternC()) {
4395 = findLocallyScopedExternalDecl(NewVD->getDeclName());
4400 if (T->isVoidType() && !NewVD->hasExternalStorage()) {
4401 Diag(NewVD->getLocation(), diag::err_typecheck_decl_incomplete_type)
4403 NewVD->setInvalidDecl();
4407 if (!NewVD->hasLocalStorage() && NewVD->hasAttr<BlocksAttr>()) {
4408 Diag(NewVD->getLocation(), diag::err_block_on_nonlocal);
4409 NewVD->setInvalidDecl();
4413 if (isVM && NewVD->hasAttr<BlocksAttr>()) {
4414 Diag(NewVD->getLocation(), diag::err_block_on_vm);
4415 NewVD->setInvalidDecl();
4419 if (NewVD->isConstexpr() && !T->isDependentType() &&
4420 RequireLiteralType(NewVD->getLocation(), T,
4422 NewVD->setInvalidDecl();
4427 MergeVarDecl(NewVD, Previous);