Remove isTrue, alwaysTrue, alwaysFalse

isTrue and alwaysFalse were replaced by (void)0, 0 inspired by doctest
alwaysTrue was replaced by warning suppression
diff --git a/include/internal/catch_capture.hpp b/include/internal/catch_capture.hpp
index 595336d..e061348 100644
--- a/include/internal/catch_capture.hpp
+++ b/include/internal/catch_capture.hpp
@@ -63,7 +63,7 @@
             CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS \
         } INTERNAL_CATCH_CATCH( catchAssertionHandler ) \
         INTERNAL_CATCH_REACT( catchAssertionHandler ) \
-    } while( Catch::isTrue(false) && static_cast<bool>( !!(__VA_ARGS__) ) ) // the expression here is never evaluated at runtime but it forces the compiler to give it a look
+    } while( (void)0, 0 && static_cast<bool>( !!(__VA_ARGS__) ) ) // the expression here is never evaluated at runtime but it forces the compiler to give it a look
     // The double negation silences MSVC's C4800 warning, the static_cast forces short-circuit evaluation if the type has overloaded &&.
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -88,7 +88,7 @@
             catchAssertionHandler.useActiveException(); \
         } \
         INTERNAL_CATCH_REACT( catchAssertionHandler ) \
-    } while( Catch::alwaysFalse() )
+    } while( false )
 
 ///////////////////////////////////////////////////////////////////////////////
 #define INTERNAL_CATCH_THROWS( macroName, resultDisposition, ... ) \
@@ -105,7 +105,7 @@
         else \
             catchAssertionHandler.handle( Catch::ResultWas::Ok ); \
         INTERNAL_CATCH_REACT( catchAssertionHandler ) \
-    } while( Catch::alwaysFalse() )
+    } while( false )
 
 ///////////////////////////////////////////////////////////////////////////////
 #define INTERNAL_CATCH_THROWS_AS( macroName, exceptionType, resultDisposition, expr ) \
@@ -125,7 +125,7 @@
         else \
             catchAssertionHandler.handle( Catch::ResultWas::Ok ); \
         INTERNAL_CATCH_REACT( catchAssertionHandler ) \
-    } while( Catch::alwaysFalse() )
+    } while( false )
 
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -134,7 +134,7 @@
         Catch::AssertionHandler catchAssertionHandler( macroName, CATCH_INTERNAL_LINEINFO, "", resultDisposition ); \
         catchAssertionHandler.handle( messageType, ( Catch::MessageStream() << __VA_ARGS__ + ::Catch::StreamEndStop() ).m_stream.str() ); \
         INTERNAL_CATCH_REACT( catchAssertionHandler ) \
-    } while( Catch::alwaysFalse() )
+    } while( false )
 
 ///////////////////////////////////////////////////////////////////////////////
 #define INTERNAL_CATCH_INFO( macroName, log ) \
@@ -156,7 +156,7 @@
         else \
             catchAssertionHandler.handle( Catch::ResultWas::Ok ); \
         INTERNAL_CATCH_REACT( catchAssertionHandler ) \
-    } while( Catch::alwaysFalse() )
+    } while( false )
 
 #endif // CATCH_CONFIG_DISABLE
 
diff --git a/include/internal/catch_capture_matchers.h b/include/internal/catch_capture_matchers.h
index 77366f3..cce6174 100644
--- a/include/internal/catch_capture_matchers.h
+++ b/include/internal/catch_capture_matchers.h
@@ -63,7 +63,7 @@
             catchAssertionHandler.handle( Catch::makeMatchExpr( arg, matcher, #matcher ) ); \
         } INTERNAL_CATCH_CATCH( catchAssertionHandler ) \
         INTERNAL_CATCH_REACT( catchAssertionHandler ) \
-    } while( Catch::alwaysFalse() )
+    } while( false )
 
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -84,6 +84,6 @@
         else \
             catchAssertionHandler.handle( Catch::ResultWas::Ok ); \
         INTERNAL_CATCH_REACT( catchAssertionHandler ) \
-    } while( Catch::alwaysFalse() )
+    } while( false )
 
 #endif // TWOBLUECUBES_CATCH_CAPTURE_MATCHERS_HPP_INCLUDED
diff --git a/include/internal/catch_common.cpp b/include/internal/catch_common.cpp
index 470b7ea..e96c3be 100644
--- a/include/internal/catch_common.cpp
+++ b/include/internal/catch_common.cpp
@@ -38,9 +38,6 @@
         return os;
     }
 
-    bool alwaysTrue() { return true; }
-    bool alwaysFalse() { return false; }
-
     std::string StreamEndStop::operator+() const {
         return std::string();
     }
diff --git a/include/internal/catch_common.h b/include/internal/catch_common.h
index 026ac2b..c1a771c 100644
--- a/include/internal/catch_common.h
+++ b/include/internal/catch_common.h
@@ -60,11 +60,6 @@
 
     std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info );
 
-    // This is just here to avoid compiler warnings with macro constants and boolean literals
-    inline bool isTrue( bool value ){ return value; }
-    bool alwaysTrue();
-    bool alwaysFalse();
-
     // Use this in variadic streaming macros to allow
     //    >> +StreamEndStop
     // as well as
diff --git a/include/internal/catch_debugger.h b/include/internal/catch_debugger.h
index f842ff5..6ca6a53 100644
--- a/include/internal/catch_debugger.h
+++ b/include/internal/catch_debugger.h
@@ -40,7 +40,7 @@
 #ifdef CATCH_TRAP
     #define CATCH_BREAK_INTO_DEBUGGER() if( Catch::isDebuggerActive() ) { CATCH_TRAP(); }
 #else
-    #define CATCH_BREAK_INTO_DEBUGGER() Catch::alwaysTrue();
+    #define CATCH_BREAK_INTO_DEBUGGER() (void)0, 0
 #endif
 
 #endif // TWOBLUECUBES_CATCH_DEBUGGER_H_INCLUDED
diff --git a/projects/SelfTest/Baselines/console.sw.approved.txt b/projects/SelfTest/Baselines/console.sw.approved.txt
index 6eac35e..26270ec 100644
--- a/projects/SelfTest/Baselines/console.sw.approved.txt
+++ b/projects/SelfTest/Baselines/console.sw.approved.txt
@@ -762,9 +762,7 @@
 
 Tricky.tests.cpp:<line number>:
 PASSED:
-  REQUIRE( Catch::alwaysTrue() )
-with expansion:
-  true
+  REQUIRE( true )
 
 -------------------------------------------------------------------------------
 Assertions then sections
@@ -775,9 +773,7 @@
 
 Tricky.tests.cpp:<line number>:
 PASSED:
-  REQUIRE( Catch::alwaysTrue() )
-with expansion:
-  true
+  REQUIRE( true )
 
 -------------------------------------------------------------------------------
 Assertions then sections
@@ -789,9 +785,7 @@
 
 Tricky.tests.cpp:<line number>:
 PASSED:
-  REQUIRE( Catch::alwaysTrue() )
-with expansion:
-  true
+  REQUIRE( true )
 
 -------------------------------------------------------------------------------
 Assertions then sections
@@ -801,9 +795,7 @@
 
 Tricky.tests.cpp:<line number>:
 PASSED:
-  REQUIRE( Catch::alwaysTrue() )
-with expansion:
-  true
+  REQUIRE( true )
 
 -------------------------------------------------------------------------------
 Assertions then sections
@@ -814,9 +806,7 @@
 
 Tricky.tests.cpp:<line number>:
 PASSED:
-  REQUIRE( Catch::alwaysTrue() )
-with expansion:
-  true
+  REQUIRE( true )
 
 -------------------------------------------------------------------------------
 Assertions then sections
@@ -828,9 +818,7 @@
 
 Tricky.tests.cpp:<line number>:
 PASSED:
-  REQUIRE( Catch::alwaysTrue() )
-with expansion:
-  true
+  REQUIRE( true )
 
 -------------------------------------------------------------------------------
 Assorted miscellaneous tests
diff --git a/projects/SelfTest/Baselines/xml.sw.approved.txt b/projects/SelfTest/Baselines/xml.sw.approved.txt
index d194c96..925c54d 100644
--- a/projects/SelfTest/Baselines/xml.sw.approved.txt
+++ b/projects/SelfTest/Baselines/xml.sw.approved.txt
@@ -819,7 +819,7 @@
     <TestCase name="Assertions then sections" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
         <Original>
-          Catch::alwaysTrue()
+          true
         </Original>
         <Expanded>
           true
@@ -828,7 +828,7 @@
       <Section name="A section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
         <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
           <Original>
-            Catch::alwaysTrue()
+            true
           </Original>
           <Expanded>
             true
@@ -837,7 +837,7 @@
         <Section name="Another section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
           <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
             <Original>
-              Catch::alwaysTrue()
+              true
             </Original>
             <Expanded>
               true
@@ -849,7 +849,7 @@
       </Section>
       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
         <Original>
-          Catch::alwaysTrue()
+          true
         </Original>
         <Expanded>
           true
@@ -858,7 +858,7 @@
       <Section name="A section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
         <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
           <Original>
-            Catch::alwaysTrue()
+            true
           </Original>
           <Expanded>
             true
@@ -867,7 +867,7 @@
         <Section name="Another other section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
           <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
             <Original>
-              Catch::alwaysTrue()
+              true
             </Original>
             <Expanded>
               true
diff --git a/projects/SelfTest/UsageTests/Exception.tests.cpp b/projects/SelfTest/UsageTests/Exception.tests.cpp
index 1100114..b9a9ef3 100644
--- a/projects/SelfTest/UsageTests/Exception.tests.cpp
+++ b/projects/SelfTest/UsageTests/Exception.tests.cpp
@@ -12,11 +12,12 @@
 #include <stdexcept>
 
 #ifdef _MSC_VER
-#pragma warning(disable:4702) // Unreachable code -- MSVC 19 (VS 2015) sees right through the indirection
+#pragma warning(disable:4702) // Unreachable code -- uncoditional throws and so on
 #endif
 #ifdef __clang__
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wweak-vtables"
+#pragma clang diagnostic ignored "-Wmissing-noreturn"
 #endif
 
 namespace { namespace ExceptionTests {
@@ -24,9 +25,8 @@
 #ifndef EXCEPTION_TEST_HELPERS_INCLUDED // Don't compile this more than once per TU
 #define EXCEPTION_TEST_HELPERS_INCLUDED
 
-inline int thisThrows() {
-    if( Catch::alwaysTrue() )
-        throw std::domain_error( "expected exception" );
+int thisThrows() {
+    throw std::domain_error( "expected exception" );
     return 1;
 }
 
@@ -63,9 +63,8 @@
     std::string m_msg;
 };
 
-inline void throwCustom() {
-    if( Catch::alwaysTrue() )
-        throw CustomException( "custom exception - not std" );
+[[noreturn]] void throwCustom() {
+    throw CustomException( "custom exception - not std" );
 }
 
 #endif
@@ -83,20 +82,17 @@
 }
 
 TEST_CASE( "When unchecked exceptions are thrown directly they are always failures", "[.][failing][!throws]" ) {
-    if( Catch::alwaysTrue() )
-        throw std::domain_error( "unexpected exception" );
+    throw std::domain_error( "unexpected exception" );
 }
 
 TEST_CASE( "An unchecked exception reports the line of the last assertion", "[.][failing][!throws]" ) {
     CHECK( 1 == 1 );
-    if( Catch::alwaysTrue() )
-        throw std::domain_error( "unexpected exception" );
+    throw std::domain_error( "unexpected exception" );
 }
 
 TEST_CASE( "When unchecked exceptions are thrown from sections they are always failures", "[.][failing][!throws]" ) {
     SECTION( "section name" ) {
-        if( Catch::alwaysTrue() )
-            throw std::domain_error( "unexpected exception" );
+        throw std::domain_error("unexpected exception");
     }
 }
 
@@ -139,13 +135,11 @@
 }
 
 TEST_CASE("Non-std exceptions can be translated", "[.][failing][!throws]" ) {
-    if( Catch::alwaysTrue() )
-        throw CustomException( "custom exception" );
+    throw CustomException( "custom exception" );
 }
 
 TEST_CASE("Custom std-exceptions can be custom translated", "[.][failing][!throws]" ) {
-    if( Catch::alwaysTrue() )
-        throw CustomException( "custom std exception" );
+    throw CustomException( "custom std exception" );
 }
 
 TEST_CASE( "Custom exceptions can be translated when testing for nothrow", "[.][failing][!throws]" ) {
@@ -157,8 +151,7 @@
 }
 
 TEST_CASE( "Unexpected exceptions can be translated", "[.][failing][!throws]"  ) {
-    if( Catch::alwaysTrue() )
-        throw double( 3.14 );
+    throw double( 3.14 );
 }
 
 #ifndef CATCH_CONFIG_DISABLE_MATCHERS
diff --git a/projects/SelfTest/UsageTests/Tricky.tests.cpp b/projects/SelfTest/UsageTests/Tricky.tests.cpp
index 79d2c63..1c352ce 100644
--- a/projects/SelfTest/UsageTests/Tricky.tests.cpp
+++ b/projects/SelfTest/UsageTests/Tricky.tests.cpp
@@ -298,19 +298,19 @@
     // This was causing a failure due to the way the console reporter was handling
     // the current section
 
-    REQUIRE( Catch::alwaysTrue() );
+    REQUIRE( true );
 
     SECTION( "A section" )
     {
-        REQUIRE( Catch::alwaysTrue() );
+        REQUIRE( true );
 
         SECTION( "Another section" )
         {
-            REQUIRE( Catch::alwaysTrue() );
+            REQUIRE( true );
         }
         SECTION( "Another other section" )
         {
-            REQUIRE( Catch::alwaysTrue() );
+            REQUIRE( true );
         }
     }
 }