r311975 - revert r311839 (ongoing cwg discussion)

Faisal Vali via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 28 20:04:13 PDT 2017


Author: faisalv
Date: Mon Aug 28 20:04:13 2017
New Revision: 311975

URL: http://llvm.org/viewvc/llvm-project?rev=311975&view=rev
Log:
revert r311839 (ongoing cwg discussion)

apologies.

Modified:
    cfe/trunk/lib/Sema/SemaExprMember.cpp
    cfe/trunk/test/SemaCXX/member-expr.cpp

Modified: cfe/trunk/lib/Sema/SemaExprMember.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExprMember.cpp?rev=311975&r1=311974&r2=311975&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExprMember.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExprMember.cpp Mon Aug 28 20:04:13 2017
@@ -243,6 +243,7 @@ Sema::BuildPossibleImplicitMemberExpr(co
     return BuildImplicitMemberExpr(SS, TemplateKWLoc, R, TemplateArgs, true, S);
 
   case IMA_Mixed:
+  case IMA_Mixed_Unrelated:
   case IMA_Unresolved:
     return BuildImplicitMemberExpr(SS, TemplateKWLoc, R, TemplateArgs, false,
                                    S);
@@ -251,7 +252,6 @@ Sema::BuildPossibleImplicitMemberExpr(co
     Diag(R.getNameLoc(), diag::warn_cxx98_compat_non_static_member_use)
       << R.getLookupNameInfo().getName();
     // Fall through.
-  case IMA_Mixed_Unrelated:
   case IMA_Static:
   case IMA_Abstract:
   case IMA_Mixed_StaticContext:

Modified: cfe/trunk/test/SemaCXX/member-expr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/member-expr.cpp?rev=311975&r1=311974&r2=311975&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/member-expr.cpp (original)
+++ cfe/trunk/test/SemaCXX/member-expr.cpp Mon Aug 28 20:04:13 2017
@@ -228,25 +228,3 @@ namespace pr16676 {
         .i;  // expected-error {{member reference type 'pr16676::S *' is a pointer; did you mean to use '->'}}
   }
 }
-
-namespace unrelated_class_instance_call_should_be_illformed {
-
-
-struct A {
-  void bar(int) { }
-  static void bar(double) { }
-  
-  void g(int*);
-  static void g(char *);
-};
-
-
-struct B {
-  void f() {
-    A::bar(3);  //expected-error{{call to non-static member}}
-    A::g((int*)0); //expected-error{{call to non-static member}}
-  }
-};
-
-
-} // ns unrelated_class_mixed_static_nonstatic_call_should_be_illformed




More information about the cfe-commits mailing list