]> granicus.if.org Git - clang/commitdiff
Sema: Simplify checkAttributesAfterMerging
authorDavid Majnemer <david.majnemer@gmail.com>
Sat, 4 Oct 2014 06:16:45 +0000 (06:16 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sat, 4 Oct 2014 06:16:45 +0000 (06:16 +0000)
Use getDLLAttr to factor out some common dllimport/dllexport code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219048 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDecl.cpp

index a3227aa296017f7574b59acb15ea6e462b501994..03dd2a7093cd8a1a9152efcbf68f390f9cd9692d 100644 (file)
@@ -5103,14 +5103,7 @@ static void checkAttributesAfterMerging(Sema &S, NamedDecl &ND) {
   }
 
   // dll attributes require external linkage.
-  if (const DLLImportAttr *Attr = ND.getAttr<DLLImportAttr>()) {
-    if (!ND.isExternallyVisible()) {
-      S.Diag(ND.getLocation(), diag::err_attribute_dll_not_extern)
-        << &ND << Attr;
-      ND.setInvalidDecl();
-    }
-  }
-  if (const DLLExportAttr *Attr = ND.getAttr<DLLExportAttr>()) {
+  if (const InheritableAttr *Attr = getDLLAttr(&ND)) {
     if (!ND.isExternallyVisible()) {
       S.Diag(ND.getLocation(), diag::err_attribute_dll_not_extern)
         << &ND << Attr;