From 02d3361c380d7de3ff53d5ac47fada1f3738840c Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Fri, 16 Feb 2018 12:06:32 +0000 Subject: Revert r325321 "[Sema] Take into account the current context when checking the" This broke the Chromium build, see https://crbug.com/813017 > accessibility of a class member. > > This fixes PR32898. > > rdar://problem/33737747 > > Differential revision: https://reviews.llvm.org/D36918 llvm-svn: 325335 --- clang/lib/Sema/SemaAccess.cpp | 5 ----- clang/test/SemaCXX/access.cpp | 35 ----------------------------------- 2 files changed, 40 deletions(-) (limited to 'clang') diff --git a/clang/lib/Sema/SemaAccess.cpp b/clang/lib/Sema/SemaAccess.cpp index d2205dd239e..98a918bd7d6 100644 --- a/clang/lib/Sema/SemaAccess.cpp +++ b/clang/lib/Sema/SemaAccess.cpp @@ -1793,11 +1793,6 @@ Sema::AccessResult Sema::CheckAddressOfMemberAccess(Expr *OvlExpr, AccessTarget Entity(Context, AccessTarget::Member, NamingClass, Found, /*no instance context*/ QualType()); - - if (IsAccessible(*this, EffectiveContext(CurScope->getEntity()), Entity) == - ::AR_accessible) - return AR_accessible; - Entity.setDiag(diag::err_access) << Ovl->getSourceRange(); diff --git a/clang/test/SemaCXX/access.cpp b/clang/test/SemaCXX/access.cpp index 0707ec25be5..29a58a1388a 100644 --- a/clang/test/SemaCXX/access.cpp +++ b/clang/test/SemaCXX/access.cpp @@ -169,38 +169,3 @@ namespace ThisLambdaIsNotMyFriend { } void bar() { foo(); } } - -namespace OverloadedMemberFunctionPointer { - template - void func0() {} - - template - void func1() {} - - template - void func2(void(*fn)()) {} // expected-note 2 {{candidate function not viable: no overload of 'func}} - - class C { - private: - friend void friendFunc(); - void overloadedMethod(); - protected: - void overloadedMethod(int); - public: - void overloadedMethod(int, int); - void method() { - func2(&func0); - func2(&func1); - } - }; - - void friendFunc() { - func2(&func0); - func2(&func1); - } - - void nonFriendFunc() { - func2(&func0); // expected-error {{no matching function for call to 'func2'}} - func2(&func1); // expected-error {{no matching function for call to 'func2'}} - } -} -- cgit v1.2.3