reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2431 VD->setReferenced(); 2432 VD->markUsed(Context); 2434 QualType QType = VD->getType(); 2443 if (RequireCompleteType(ILoc, VD->getType(), 2450 if (VD->getType()->isReferenceType()) { 2452 << getOpenMPDirectiveName(OMPD_threadprivate) << VD->getType(); 2454 VD->isThisDeclarationADefinition(Context) == VarDecl::DeclarationOnly; 2455 Diag(VD->getLocation(), 2457 << VD; 2463 if ((VD->getTLSKind() != VarDecl::TLS_None && 2464 !(VD->hasAttr<OMPThreadPrivateDeclAttr>() && 2467 (VD->getStorageClass() == SC_Register && VD->hasAttr<AsmLabelAttr>() && 2467 (VD->getStorageClass() == SC_Register && VD->hasAttr<AsmLabelAttr>() && 2468 !VD->isLocalVarDecl())) { 2470 << VD << ((VD->getTLSKind() != VarDecl::TLS_None) ? 0 : 1); 2470 << VD << ((VD->getTLSKind() != VarDecl::TLS_None) ? 0 : 1); 2472 VD->isThisDeclarationADefinition(Context) == VarDecl::DeclarationOnly; 2473 Diag(VD->getLocation(), 2475 << VD; 2481 if (const Expr *Init = VD->getAnyInitializer()) { 2488 DSAStack->addDSA(VD, DE, OMPC_threadprivate); 2489 VD->addAttr(OMPThreadPrivateDeclAttr::CreateImplicit( 2492 ML->DeclarationMarkedOpenMPThreadPrivate(VD);