25.10.2012, 15:56, "Konstantin Tokarev" <[email protected]>:
> Hi all,
>
> This patch fixes http://llvm.org/bugs/show_bug.cgi?id=13127.
> Could anyone review it?

Sorry, ENOPATCH.

-- 
Regards,
Konstantin
From de156649e816dbd4431d7c01e5f7eb5c961229aa Mon Sep 17 00:00:00 2001
From: Konstantin Tokarev <[email protected]>
Date: Thu, 25 Oct 2012 13:25:48 +0400
Subject: [PATCH] Fixed warning about uninitialized field when calling static
 methods (PR13127)

---
 lib/Sema/SemaDeclCXX.cpp |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index f0bd810..580e573 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -1812,6 +1812,15 @@ namespace {
       Inherited::VisitImplicitCastExpr(E);
     }
 
+    void VisitMemberExpr(MemberExpr *E) {
+      // Skip X in X->A if A is static method (PR 13127)
+      CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(E->getMemberDecl());
+      if (MD && MD->isStatic())
+        return;
+
+      Inherited::VisitMemberExpr(E);
+    }
+
     void VisitCXXMemberCallExpr(CXXMemberCallExpr *E) {
       Expr *Callee = E->getCallee();
       if (isa<MemberExpr>(Callee))
-- 
1.7.9.2

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to