summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-08-11 19:25:13 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-08-11 19:25:13 +0000
commitf6ae8ae025fbf2e49fe37ff13bc7bf6762b01697 (patch)
treeb909bbde2148e0335b5f8fcea7e4bdf4bf7b965d
parent99eb4685efada56574fc4a954038624be96457b8 (diff)
downloadbcm5719-llvm-f6ae8ae025fbf2e49fe37ff13bc7bf6762b01697.tar.gz
bcm5719-llvm-f6ae8ae025fbf2e49fe37ff13bc7bf6762b01697.zip
[MSVC Compatibility] Classify ext_ms_cast_fn_obj as DefaultError
This non-conforming extension was introduced to make it possible for us to correctly compile <atomic> in VS 2013 and 2015. Let's limit its impact to system headers to encourage portable code. llvm-svn: 244650
-rw-r--r--clang/include/clang/Basic/DiagnosticSemaKinds.td2
-rw-r--r--clang/test/SemaCXX/MicrosoftCompatibility-cxx98.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index 2afcb768745..b672394c4f6 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -5436,7 +5436,7 @@ def ext_cast_fn_obj : Extension<
def ext_ms_cast_fn_obj : ExtWarn<
"static_cast between pointer-to-function and pointer-to-object is a "
"Microsoft extension">,
- InGroup<MicrosoftCast>;
+ InGroup<MicrosoftCast>, DefaultError, SFINAEFailure;
def warn_cxx98_compat_cast_fn_obj : Warning<
"cast between pointer-to-function and pointer-to-object is incompatible with C++98">,
InGroup<CXX98CompatPedantic>, DefaultIgnore;
diff --git a/clang/test/SemaCXX/MicrosoftCompatibility-cxx98.cpp b/clang/test/SemaCXX/MicrosoftCompatibility-cxx98.cpp
index bfda837e959..626381b35a2 100644
--- a/clang/test/SemaCXX/MicrosoftCompatibility-cxx98.cpp
+++ b/clang/test/SemaCXX/MicrosoftCompatibility-cxx98.cpp
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 %s -triple i686-pc-win32 -fsyntax-only -std=c++98 -Wmicrosoft -verify -fms-compatibility -fexceptions -fcxx-exceptions
+// RUN: %clang_cc1 %s -triple i686-pc-win32 -fsyntax-only -std=c++98 -Wmicrosoft -verify -fms-compatibility -fexceptions -fcxx-exceptions -Wno-error=microsoft-cast
//MSVC allows forward enum declaration
OpenPOWER on IntegriCloud