Builds almost completely cleanly with -WEverything in LLVM
diff --git a/projects/SelfTest/ApproxTests.cpp b/projects/SelfTest/ApproxTests.cpp
index f9addb4..5101c86 100644
--- a/projects/SelfTest/ApproxTests.cpp
+++ b/projects/SelfTest/ApproxTests.cpp
@@ -1,13 +1,9 @@
 /*
- *  ApproxTests.cpp
- *  Catch - Test
- *
  *  Created by Phil on 28/04/2011.
  *  Copyright 2011 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
 
 #include "catch.hpp"
diff --git a/projects/SelfTest/ClassTests.cpp b/projects/SelfTest/ClassTests.cpp
index 31713ea..76c06dd 100644
--- a/projects/SelfTest/ClassTests.cpp
+++ b/projects/SelfTest/ClassTests.cpp
@@ -1,13 +1,9 @@
 /*
- *  ClassTests.cpp
- *  Catch - Test
- *
  *  Created by Phil on 09/11/2010.
  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
 
 #include "catch.hpp"
diff --git a/projects/SelfTest/ConditionTests.cpp b/projects/SelfTest/ConditionTests.cpp
index db70611..cd874c3 100644
--- a/projects/SelfTest/ConditionTests.cpp
+++ b/projects/SelfTest/ConditionTests.cpp
@@ -1,14 +1,11 @@
 /*
- *  ConditionTests.cpp
- *  Catch - Test
- *
  *  Created by Phil on 08/11/2010.
  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
+#pragma clang diagnostic ignored "-Wpadded"
 
 #include "catch.hpp"
 
diff --git a/projects/SelfTest/ExceptionTests.cpp b/projects/SelfTest/ExceptionTests.cpp
index 8d8eb55..a6c2a60 100644
--- a/projects/SelfTest/ExceptionTests.cpp
+++ b/projects/SelfTest/ExceptionTests.cpp
@@ -1,15 +1,13 @@
 /*
- *  ExceptionTests.cpp
- *  Catch - Test
- *
  *  Created by Phil on 09/11/2010.
  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
 
+#pragma clang diagnostic ignored "-Wpadded"
+
 #include "catch.hpp"
 
 #include <string>
@@ -19,7 +17,7 @@
 
 namespace
 {
-    ATTRIBUTE_NORETURN
+    CATCH_ATTRIBUTE_NORETURN
     int thisThrows();
     
     int thisThrows()
@@ -41,6 +39,7 @@
     REQUIRE_THROWS( thisThrows() );
 }
 
+CATCH_ATTRIBUTE_NORETURN
 TEST_CASE( "./failing/exceptions/explicit", "When checked exceptions are thrown they can be expected or unexpected" )
 {
     CHECK_THROWS_AS( thisThrows(), std::string );
diff --git a/projects/SelfTest/GeneratorTests.cpp b/projects/SelfTest/GeneratorTests.cpp
index fe843bd..700b180 100644
--- a/projects/SelfTest/GeneratorTests.cpp
+++ b/projects/SelfTest/GeneratorTests.cpp
@@ -1,13 +1,9 @@
 /*
- *  GeneratorTests.cpp
- *  Catch - Test
- *
  *  Created by Phil on 28/01/2011.
  *  Copyright 2011 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
 
 // This define means we have to prefix all the CATCH macros with CATCH_
diff --git a/projects/SelfTest/MessageTests.cpp b/projects/SelfTest/MessageTests.cpp
index d7c148f..36a5071 100644
--- a/projects/SelfTest/MessageTests.cpp
+++ b/projects/SelfTest/MessageTests.cpp
@@ -1,13 +1,9 @@
 /*
- *  MessageTests.cpp
- *  Catch - Test
- *
  *  Created by Phil on 09/11/2010.
  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
 
 #include "catch.hpp"
diff --git a/projects/SelfTest/MiscTests.cpp b/projects/SelfTest/MiscTests.cpp
index cacc3f3..f9a9bad 100644
--- a/projects/SelfTest/MiscTests.cpp
+++ b/projects/SelfTest/MiscTests.cpp
@@ -1,14 +1,11 @@
 /*
- *  MiscTests.cpp
- *  Catch - Test
- *
  *  Created by Phil on 29/11/2010.
  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
+#pragma clang diagnostic ignored "-Wpadded"
 
 #include "catch.hpp"
 #include "catch_self_test.hpp"
diff --git a/projects/SelfTest/TestMain.cpp b/projects/SelfTest/TestMain.cpp
index 15616ee..324fc28 100644
--- a/projects/SelfTest/TestMain.cpp
+++ b/projects/SelfTest/TestMain.cpp
@@ -5,6 +5,8 @@
  *  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)
  */
+#pragma clang diagnostic ignored "-Wpadded"
+
 #include "catch_self_test.hpp"
 
 TEST_CASE( "selftest/main", "Runs all Catch self tests and checks their results" ) {
@@ -54,6 +56,8 @@
     CHECK( runner.getTotals().assertions.failed == 1 );
 }
 
+#pragma clang diagnostic ignored "-Wweak-vtables"
+
 #include "../../include/internal/catch_commandline.hpp"
 #include "../../include/reporters/catch_reporter_basic.hpp"
 #include "../../include/reporters/catch_reporter_xml.hpp"
diff --git a/projects/SelfTest/TrickyTests.cpp b/projects/SelfTest/TrickyTests.cpp
index ee7d236..f1b0342 100644
--- a/projects/SelfTest/TrickyTests.cpp
+++ b/projects/SelfTest/TrickyTests.cpp
@@ -1,15 +1,13 @@
 /*
- *  TrickyTests.cpp
- *  Catch - Test
- *
  *  Created by Phil on 09/11/2010.
  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
 
+#pragma clang diagnostic ignored "-Wpadded"
+
 #include "catch.hpp"
 
 namespace Catch
diff --git a/projects/SelfTest/catch_self_test.cpp b/projects/SelfTest/catch_self_test.cpp
index 96ffdbd..d0065a7 100644
--- a/projects/SelfTest/catch_self_test.cpp
+++ b/projects/SelfTest/catch_self_test.cpp
@@ -1,15 +1,13 @@
 /*
- *  catch_self_test.cpp
- *  Catch
- *
  *  Created by Phil on 14/02/2012.
  *  Copyright 2012 Two Blue Cubes Ltd. All rights reserved.
  *
  *  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)
- *
  */
 
+#pragma clang diagnostic ignored "-Wpadded"
+
 #define CATCH_CONFIG_MAIN
 #include "catch_self_test.hpp"
 
@@ -69,9 +67,6 @@
             case ResultWas::Exception:
                 m_log << "Exception";
                 break;
-            default:
-                m_log << "{unrecognised ResultType enum value}";
-                break;
         }
         
         if( resultInfo.hasExpression() )
diff --git a/projects/XCode4/CatchSelfTest/CatchSelfTest.xcodeproj/project.pbxproj b/projects/XCode4/CatchSelfTest/CatchSelfTest.xcodeproj/project.pbxproj
index ac89c59..437b137 100644
--- a/projects/XCode4/CatchSelfTest/CatchSelfTest.xcodeproj/project.pbxproj
+++ b/projects/XCode4/CatchSelfTest/CatchSelfTest.xcodeproj/project.pbxproj
@@ -465,14 +465,28 @@
 		4A6D0C2B149B3D3B00DB3EAA /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = NO;
 				PRODUCT_NAME = "$(TARGET_NAME)";
+				WARNING_CFLAGS = (
+					"-Weverything",
+					"-Wno-disabled-macro-expansion",
+					"-Wno-global-constructors",
+				);
 			};
 			name = Debug;
 		};
 		4A6D0C2C149B3D3B00DB3EAA /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = NO;
 				PRODUCT_NAME = "$(TARGET_NAME)";
+				WARNING_CFLAGS = (
+					"-Weverything",
+					"-Wno-disabled-macro-expansion",
+					"-Wno-global-constructors",
+				);
 			};
 			name = Release;
 		};