diff --git a/include/catch.hpp b/include/catch.hpp index d03fdfbb..0507e0f6 100644 --- a/include/catch.hpp +++ b/include/catch.hpp @@ -9,11 +9,12 @@ #ifndef TWOBLUECUBES_CATCH_HPP_INCLUDED #define TWOBLUECUBES_CATCH_HPP_INCLUDED +#ifdef __clang__ #pragma clang diagnostic ignored "-Wno-global-constructors" #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wpadded" - +#endif #include "internal/catch_notimplemented_exception.h" #include "internal/catch_context.h" @@ -132,6 +133,8 @@ using Catch::Detail::Approx; +#ifdef __clang__ #pragma clang diagnostic pop +#endif #endif // TWOBLUECUBES_CATCH_HPP_INCLUDED diff --git a/include/internal/catch_impl.hpp b/include/internal/catch_impl.hpp index f185476f..73aa5e49 100644 --- a/include/internal/catch_impl.hpp +++ b/include/internal/catch_impl.hpp @@ -9,8 +9,10 @@ // Collect all the implementation files together here // These are the equivalent of what would usually be cpp files +#ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wweak-vtables" +#endif #include "catch_runner.hpp" #include "catch_registry_hub.hpp" @@ -52,4 +54,6 @@ namespace Catch { } +#ifdef __clang__ #pragma clang diagnostic pop +#endif diff --git a/include/internal/catch_objc_arc.hpp b/include/internal/catch_objc_arc.hpp index 38f4a160..6bcd6b82 100644 --- a/include/internal/catch_objc_arc.hpp +++ b/include/internal/catch_objc_arc.hpp @@ -33,11 +33,15 @@ inline id performOptionalSelector( id obj, SEL sel ) { #else inline void arcSafeRelease( NSObject* ){} inline id performOptionalSelector( id obj, SEL sel ) { +#ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" +#endif if( [obj respondsToSelector: sel] ) return [obj performSelector: sel]; +#ifdef __clang__ #pragma clang diagnostic pop +#endif return nil; } #define CATCH_UNSAFE_UNRETAINED __unsafe_unretained diff --git a/projects/SelfTest/ConditionTests.cpp b/projects/SelfTest/ConditionTests.cpp index cd874c39..0d1389eb 100644 --- a/projects/SelfTest/ConditionTests.cpp +++ b/projects/SelfTest/ConditionTests.cpp @@ -5,7 +5,9 @@ * Distributed under the Boost Software License, Version 1.0. (See accompanying * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#ifdef __clang__ #pragma clang diagnostic ignored "-Wpadded" +#endif #include "catch.hpp" diff --git a/projects/SelfTest/ExceptionTests.cpp b/projects/SelfTest/ExceptionTests.cpp index a6c2a60f..6165decf 100644 --- a/projects/SelfTest/ExceptionTests.cpp +++ b/projects/SelfTest/ExceptionTests.cpp @@ -6,7 +6,9 @@ * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#ifdef __clang__ #pragma clang diagnostic ignored "-Wpadded" +#endif #include "catch.hpp" diff --git a/projects/SelfTest/MiscTests.cpp b/projects/SelfTest/MiscTests.cpp index f9a9bad7..e4e6a156 100644 --- a/projects/SelfTest/MiscTests.cpp +++ b/projects/SelfTest/MiscTests.cpp @@ -5,7 +5,10 @@ * Distributed under the Boost Software License, Version 1.0. (See accompanying * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ + +#ifdef __clang__ #pragma clang diagnostic ignored "-Wpadded" +#endif #include "catch.hpp" #include "catch_self_test.hpp" diff --git a/projects/SelfTest/TestMain.cpp b/projects/SelfTest/TestMain.cpp index 4dd59c8f..e97afec0 100644 --- a/projects/SelfTest/TestMain.cpp +++ b/projects/SelfTest/TestMain.cpp @@ -56,7 +56,9 @@ TEST_CASE( "meta/Misc/Sections", "looped tests" ) { CHECK( totals.assertions.failed == 1 ); } +#ifdef __clang__ #pragma clang diagnostic ignored "-Wweak-vtables" +#endif #include "../../include/internal/catch_commandline.hpp" #include "../../include/reporters/catch_reporter_basic.hpp" diff --git a/projects/SelfTest/TrickyTests.cpp b/projects/SelfTest/TrickyTests.cpp index f1b0342a..50e6a394 100644 --- a/projects/SelfTest/TrickyTests.cpp +++ b/projects/SelfTest/TrickyTests.cpp @@ -6,7 +6,9 @@ * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#ifdef __clang__ #pragma clang diagnostic ignored "-Wpadded" +#endif #include "catch.hpp" diff --git a/projects/SelfTest/catch_self_test.cpp b/projects/SelfTest/catch_self_test.cpp index a5d9cb34..7e910cd4 100644 --- a/projects/SelfTest/catch_self_test.cpp +++ b/projects/SelfTest/catch_self_test.cpp @@ -6,7 +6,9 @@ * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#ifdef __clang__ #pragma clang diagnostic ignored "-Wpadded" +#endif #define CATCH_CONFIG_MAIN #include "catch_self_test.hpp"