diff options
author | Francois Pichet <pichet2000@gmail.com> | 2011-09-20 22:08:26 +0000 |
---|---|---|
committer | Francois Pichet <pichet2000@gmail.com> | 2011-09-20 22:08:26 +0000 |
commit | cc6306e96782a8da2d818bfaca003645530ffd2f (patch) | |
tree | 0f897e4df1a786ff34b0e82358764b645a2542a1 | |
parent | 8aa76ea4472349e081d046f7b21dc1e54014f335 (diff) |
Move Microsoft access specifier bug emulation from -fms-extensions to -fm-compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140189 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Sema/SemaAccess.cpp | 2 | ||||
-rw-r--r-- | test/SemaCXX/MicrosoftCompatibility.cpp | 20 | ||||
-rw-r--r-- | test/SemaCXX/MicrosoftExtensions.cpp | 20 |
3 files changed, 21 insertions, 21 deletions
diff --git a/lib/Sema/SemaAccess.cpp b/lib/Sema/SemaAccess.cpp index db78680a13..e501a393d1 100644 --- a/lib/Sema/SemaAccess.cpp +++ b/lib/Sema/SemaAccess.cpp @@ -1270,7 +1270,7 @@ static AccessResult CheckEffectiveAccess(Sema &S, AccessTarget &Entity) { assert(Entity.getAccess() != AS_public && "called for public access!"); - if (S.getLangOptions().MicrosoftExt && + if (S.getLangOptions().MicrosoftMode && IsMicrosoftUsingDeclarationAccessBug(S, Loc, Entity)) return AR_accessible; diff --git a/test/SemaCXX/MicrosoftCompatibility.cpp b/test/SemaCXX/MicrosoftCompatibility.cpp index 98a7532f0c..4179ed81f3 100644 --- a/test/SemaCXX/MicrosoftCompatibility.cpp +++ b/test/SemaCXX/MicrosoftCompatibility.cpp @@ -70,3 +70,23 @@ int jump_over_indirect_goto() { +namespace ms_using_declaration_bug {
+
+class A {
+public:
+ int f();
+};
+
+class B : public A {
+private:
+ using A::f;
+};
+
+class C : public B {
+private:
+ using B::f; // expected-warning {{using declaration refers to inaccessible member 'ms_using_declaration_bug::B::f', which refers to accessible member 'ms_using_declaration_bug::A::f', accepted for Microsoft compatibility}}
+};
+
+}
+
+
diff --git a/test/SemaCXX/MicrosoftExtensions.cpp b/test/SemaCXX/MicrosoftExtensions.cpp index e5e5752dba..1eb0c495f8 100644 --- a/test/SemaCXX/MicrosoftExtensions.cpp +++ b/test/SemaCXX/MicrosoftExtensions.cpp @@ -213,26 +213,6 @@ void pointer_to_integral_type_conv(char* ptr) { sh = (short)ptr; } -namespace ms_using_declaration_bug { - -class A { -public: - int f(); -}; - -class B : public A { -private: - using A::f; -}; - -class C : public B { -private: - using B::f; // expected-warning {{using declaration refers to inaccessible member 'ms_using_declaration_bug::B::f', which refers to accessible member 'ms_using_declaration_bug::A::f', accepted for Microsoft compatibility}} -}; - -} - - namespace friend_as_a_forward_decl { |