Lines Matching defs:NewVD

4204   VarDecl *NewVD;
4206 NewVD = VarDecl::Create(Context, DC, D.getLocStart(),
4211 NewVD->setInvalidDecl();
4276 NewVD = VarDecl::Create(Context, DC, D.getLocStart(),
4284 ParsingInitForAutoVars.insert(NewVD);
4287 NewVD->setInvalidDecl();
4289 SetNestedNameSpecifier(NewVD, D);
4292 NewVD->setTemplateParameterListsInfo(Context,
4298 NewVD->setConstexpr(true);
4303 NewVD->setLexicalDeclContext(CurContext);
4306 if (NewVD->hasLocalStorage())
4311 NewVD->setThreadSpecified(true);
4316 Diag(NewVD->getLocation(), diag::err_module_private_specialization)
4319 else if (NewVD->hasLocalStorage())
4320 Diag(NewVD->getLocation(), diag::err_module_private_local)
4321 << 0 << NewVD->getDeclName()
4325 NewVD->setModulePrivate();
4329 ProcessDeclAttributes(S, NewVD, D);
4335 (NewVD->hasAttr<CUDASharedAttr>() || NewVD->hasAttr<CUDAConstantAttr>()))
4336 NewVD->setStorageClass(SC_Static);
4341 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(NewVD))
4342 NewVD->setInvalidDecl();
4367 NewVD->addAttr(::new (Context) AsmLabelAttr(SE->getStrTokenLoc(0),
4371 ExtnameUndeclaredIdentifiers.find(NewVD->getIdentifier());
4373 NewVD->addAttr(I->second);
4380 CheckShadow(S, NewVD, Previous);
4385 FilterLookupForScope(Previous, DC, S, NewVD->hasLinkage(),
4389 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous));
4398 Diag(NewVD->getLocation(), diag::err_nonstatic_member_out_of_line)
4401 NewVD->setInvalidDecl();
4408 NewVD->setInvalidDecl();
4411 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous));
4414 if (isExplicitSpecialization && !NewVD->isInvalidDecl() &&
4415 CheckMemberSpecialization(NewVD, Previous))
4416 NewVD->setInvalidDecl();
4421 if (CurContext->isFunctionOrMethod() && NewVD->isExternC() &&
4422 !NewVD->isInvalidDecl())
4423 RegisterLocallyScopedExternCDecl(NewVD, Previous, S);
4427 if (NewVD->getLinkage() == ExternalLinkage && !DC->isRecord())
4428 AddPushedVisibilityAttribute(NewVD);
4430 MarkUnusedFileScopedDecl(NewVD);
4432 return NewVD;
4539 /// Sets NewVD->isInvalidDecl() if an error was encountered.
4542 bool Sema::CheckVariableDeclaration(VarDecl *NewVD,
4545 if (NewVD->isInvalidDecl())
4548 QualType T = NewVD->getType();
4551 Diag(NewVD->getLocation(), diag::err_statically_allocated_object)
4552 << FixItHint::CreateInsertion(NewVD->getLocation(), "*");
4554 NewVD->setType(T);
4561 if (NewVD->hasLocalStorage() && T.getAddressSpace() != 0) {
4562 Diag(NewVD->getLocation(), diag::err_as_qualified_auto_decl);
4563 NewVD->setInvalidDecl();
4570 && NewVD->isStaticLocal()) {
4571 Diag(NewVD->getLocation(), diag::err_static_function_scope);
4572 NewVD->setInvalidDecl();
4576 if (NewVD->hasLocalStorage() && T.isObjCGCWeak()
4577 && !NewVD->hasAttr<BlocksAttr>()) {
4579 Diag(NewVD->getLocation(), diag::warn_gc_attribute_weak_on_local);
4581 Diag(NewVD->getLocation(), diag::warn_attribute_weak_on_local);
4585 if (isVM || NewVD->hasAttr<CleanupAttr>() ||
4586 NewVD->hasAttr<BlocksAttr>())
4589 if ((isVM && NewVD->hasLinkage()) ||
4590 (T->isVariableArrayType() && NewVD->hasGlobalStorage())) {
4603 if (NewVD->isFileVarDecl())
4604 Diag(NewVD->getLocation(), diag::err_vla_decl_in_file_scope)
4606 else if (NewVD->getStorageClass() == SC_Static)
4607 Diag(NewVD->getLocation(), diag::err_vla_decl_has_static_storage)
4610 Diag(NewVD->getLocation(), diag::err_vla_decl_has_extern_linkage)
4612 NewVD->setInvalidDecl();
4617 if (NewVD->isFileVarDecl())
4618 Diag(NewVD->getLocation(), diag::err_vm_decl_in_file_scope);
4620 Diag(NewVD->getLocation(), diag::err_vm_decl_has_extern_linkage);
4621 NewVD->setInvalidDecl();
4625 Diag(NewVD->getLocation(), diag::warn_illegal_constant_array_size);
4626 NewVD->setType(FixedTy);
4629 if (Previous.empty() && NewVD->isExternC()) {
4634 = findLocallyScopedExternalDecl(NewVD->getDeclName());
4639 if (T->isVoidType() && !NewVD->hasExternalStorage()) {
4640 Diag(NewVD->getLocation(), diag::err_typecheck_decl_incomplete_type)
4642 NewVD->setInvalidDecl();
4646 if (!NewVD->hasLocalStorage() && NewVD->hasAttr<BlocksAttr>()) {
4647 Diag(NewVD->getLocation(), diag::err_block_on_nonlocal);
4648 NewVD->setInvalidDecl();
4652 if (isVM && NewVD->hasAttr<BlocksAttr>()) {
4653 Diag(NewVD->getLocation(), diag::err_block_on_vm);
4654 NewVD->setInvalidDecl();
4658 if (NewVD->isConstexpr() && !T->isDependentType() &&
4659 RequireLiteralType(NewVD->getLocation(), T,
4661 NewVD->setInvalidDecl();
4666 MergeVarDecl(NewVD, Previous);