From cc6933bd31634851b792f11cdb166be96b8be7d2 Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Mon, 29 Jul 2013 13:02:08 +0000 Subject: Re-application of 187310. Re-enabling warning C4275 for MSVC 11 and up, but not MSVC 10 since it is still required there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187354 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/HandleLLVMOptions.cmake | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'cmake') diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index 97824a1..931fcdc 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -151,10 +151,16 @@ endif() if( MSVC ) include(ChooseMSVCCRT) - if( MSVC11 ) + if( MSVC10 ) + # MSVC 10 will complain about headers in the STL not being exported, but + # will not complain in MSVC 11. + add_llvm_definitions( + -wd4275 # Suppress 'An exported class was derived from a class that was not exported.' + ) + elseif( MSVC11 ) add_llvm_definitions(-D_VARIADIC_MAX=10) endif() - + # Add definitions that make MSVC much less annoying. add_llvm_definitions( # For some reason MS wants to deprecate a bunch of standard functions... @@ -176,7 +182,6 @@ if( MSVC ) -wd4503 # Suppress ''identifier' : decorated name length exceeded, name was truncated' -wd4624 # Suppress ''derived class' : destructor could not be generated because a base class destructor is inaccessible' -wd4800 # Suppress ''type' : forcing value to bool 'true' or 'false' (performance warning)' - -wd4275 # Suppress 'An exported class was derived from a class that was not exported.' # Promoted warnings. -w14062 # Promote 'enumerator in switch of enum is not handled' to level 1 warning. -- cgit v1.1