reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
490 if (VD->isInvalidDecl() || !VD->hasInit() || !VD->hasGlobalStorage()) 490 if (VD->isInvalidDecl() || !VD->hasInit() || !VD->hasGlobalStorage()) 490 if (VD->isInvalidDecl() || !VD->hasInit() || !VD->hasGlobalStorage()) 492 const Expr *Init = VD->getInit(); 493 if (VD->hasAttr<CUDADeviceAttr>() || VD->hasAttr<CUDAConstantAttr>() || 493 if (VD->hasAttr<CUDADeviceAttr>() || VD->hasAttr<CUDAConstantAttr>() || 494 VD->hasAttr<CUDASharedAttr>()) { 497 assert(!VD->isStaticLocal() || VD->hasAttr<CUDASharedAttr>()); 497 assert(!VD->isStaticLocal() || VD->hasAttr<CUDASharedAttr>()); 501 isEmptyCudaConstructor(VD->getLocation(), CE->getConstructor()); 506 (VD->hasAttr<CUDADeviceAttr>() || VD->hasAttr<CUDAConstantAttr>())) 506 (VD->hasAttr<CUDADeviceAttr>() || VD->hasAttr<CUDAConstantAttr>())) 507 AllowedInit = VD->getInit()->isConstantInitializer( 508 Context, VD->getType()->isReferenceType()); 512 if (CXXRecordDecl *RD = VD->getType()->getAsCXXRecordDecl()) 514 isEmptyCudaDestructor(VD->getLocation(), RD->getDestructor()); 517 Diag(VD->getLocation(), VD->hasAttr<CUDASharedAttr>() 517 Diag(VD->getLocation(), VD->hasAttr<CUDASharedAttr>() 521 VD->setInvalidDecl(); 535 Diag(VD->getLocation(), diag::err_ref_bad_target_global_initializer) 538 VD->setInvalidDecl();