reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
6226 if (OldDecl->isInvalidDecl() || NewDecl->isInvalidDecl()) 6236 if (TemplateDecl *NewTD = dyn_cast<TemplateDecl>(NewDecl)) { 6237 NewDecl = NewTD->getTemplatedDecl(); 6241 if (!OldDecl || !NewDecl) 6246 const DLLImportAttr *NewImportAttr = NewDecl->getAttr<DLLImportAttr>(); 6247 const DLLExportAttr *NewExportAttr = NewDecl->getAttr<DLLExportAttr>(); 6281 S.Diag(NewDecl->getLocation(), DiagID) 6282 << NewDecl 6286 NewDecl->setInvalidDecl(); 6298 if (const auto *VD = dyn_cast<VarDecl>(NewDecl)) { 6304 } else if (const auto *FD = dyn_cast<FunctionDecl>(NewDecl)) { 6312 !NewDecl->isLocalExternDecl() && !IsQualifiedFriend) { 6314 S.Diag(NewDecl->getLocation(), 6316 << NewDecl; 6318 NewDecl->dropAttr<DLLImportAttr>(); 6319 NewDecl->addAttr( 6322 S.Diag(NewDecl->getLocation(), 6324 << NewDecl << OldImportAttr; 6328 NewDecl->dropAttr<DLLImportAttr>(); 6334 NewDecl->dropAttr<DLLImportAttr>(); 6335 S.Diag(NewDecl->getLocation(), 6337 << NewDecl << OldImportAttr; 6344 if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewDecl)) { 6351 NewDecl->addAttr(NewAttr);