[cfe-commits] r171267 - in /cfe/trunk: lib/Sema/Sema.cpp test/SemaCXX/warn-unused-filescoped.cpp

Rafael Espindola rafael.espindola at gmail.com
Sun Dec 30 13:42:26 PST 2012


Author: rafael
Date: Sun Dec 30 15:42:26 2012
New Revision: 171267

URL: http://llvm.org/viewvc/llvm-project?rev=171267&view=rev
Log:
Don't warn on unused member functions that are extern because of a typedef.

Modified:
    cfe/trunk/lib/Sema/Sema.cpp
    cfe/trunk/test/SemaCXX/warn-unused-filescoped.cpp

Modified: cfe/trunk/lib/Sema/Sema.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/Sema.cpp?rev=171267&r1=171266&r2=171267&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/Sema.cpp (original)
+++ cfe/trunk/lib/Sema/Sema.cpp Sun Dec 30 15:42:26 2012
@@ -363,6 +363,9 @@
       return !SemaRef->ShouldWarnIfUnusedFileScopedDecl(DeclToCheck);
   }
 
+  if (D->getLinkage() == ExternalLinkage)
+    return true;
+
   return false;
 }
 

Modified: cfe/trunk/test/SemaCXX/warn-unused-filescoped.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/warn-unused-filescoped.cpp?rev=171267&r1=171266&r2=171267&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/warn-unused-filescoped.cpp (original)
+++ cfe/trunk/test/SemaCXX/warn-unused-filescoped.cpp Sun Dec 30 15:42:26 2012
@@ -118,3 +118,17 @@
     }
   } x; // expected-warning {{unused variable}}
 }
+
+namespace test6 {
+  typedef struct {
+    void bar();
+  } A;
+
+  typedef struct {
+    void bar();  // expected-warning {{unused member function 'bar'}}
+  } *B;
+
+  struct C {
+    void bar();
+  };
+}





More information about the cfe-commits mailing list