diff --git a/examples/all_features/CMakeLists.txt b/examples/all_features/CMakeLists.txt
index 8af72c8..cca25e0 100644
--- a/examples/all_features/CMakeLists.txt
+++ b/examples/all_features/CMakeLists.txt
@@ -65,11 +65,10 @@
 elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
     target_compile_options(disabled PRIVATE -Wno-unknown-warning-option)
     target_compile_options(disabled PRIVATE -Wno-unneeded-internal-declaration)
-    target_compile_options(disabled PRIVATE -Wno-unused-variable)
-    target_compile_options(disabled PRIVATE -Wno-unused-local-typedef)
-elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
-    target_compile_options(disabled PRIVATE -Wno-unused-local-typedefs)
     target_compile_options(disabled PRIVATE -Wno-unused-parameter)
+    target_compile_options(disabled PRIVATE -Wno-unused-variable)
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
     target_compile_options(disabled PRIVATE -Wno-unused-function)
+    target_compile_options(disabled PRIVATE -Wno-unused-parameter)
     target_compile_options(disabled PRIVATE -Wno-unused-variable)
 endif()
diff --git a/examples/all_features/coverage_maxout.cpp b/examples/all_features/coverage_maxout.cpp
index 68016bc..3df66bd 100644
--- a/examples/all_features/coverage_maxout.cpp
+++ b/examples/all_features/coverage_maxout.cpp
@@ -45,4 +45,6 @@
     CHECK(doctest::detail::rawMemoryToString(a).length() > 0u);
 }
 
+#endif // DOCTEST_CONFIG_DISABLE
+
 */
diff --git a/examples/all_features/header.h b/examples/all_features/header.h
index e407558..099666b 100644
--- a/examples/all_features/header.h
+++ b/examples/all_features/header.h
@@ -42,7 +42,10 @@
 // to silence GCC warnings when inheriting from some class which has no virtual destructor - happens only on gcc 4.7/4.8
 #if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 6 && __GNUC_MINOR__ < 9
 #pragma GCC diagnostic ignored "-Weffc++"
-#endif // __GNUC__
+#endif // gcc 4.7 / 4.8
+#if defined(__GNUC__) && __GNUC__ == 5
+#pragma GCC diagnostic ignored "-Wstrict-overflow"
+#endif // gcc 5
 
 struct SomeFixture
 {
diff --git a/examples/all_features/templated_test_cases.cpp b/examples/all_features/templated_test_cases.cpp
index 59a52e8..c77425b 100644
--- a/examples/all_features/templated_test_cases.cpp
+++ b/examples/all_features/templated_test_cases.cpp
@@ -56,9 +56,11 @@
 TEST_CASE_TEMPLATE("multiple types", T, pairs) {
     typedef typename T::A T1;
     typedef typename T::B T2;
+    T1 t1;
+    T2 t2;
     // use T1 and T2 types
-    CHECK(T1() == T1());
-    CHECK(T2() != T2());
+    CHECK(t1 == T1());
+    CHECK(t2 != T2());
 }
 
 // if variadic macros are supported then "TypePair<int, int>" can be passed directly to the macro (otherwise the commas are a problem)
@@ -69,7 +71,9 @@
 TEST_CASE_TEMPLATE("bad stringification of type pair", T, doctest::Types<int_pair>) {
     typedef typename T::A T1;
     typedef typename T::B T2;
+    T1 t1;
+    T2 t2;
     // use T1 and T2 types
-    CHECK(T1() == T1());
-    CHECK(T2() != T2());
+    CHECK(t1 == T1());
+    CHECK(t2 != T2());
 }
diff --git a/examples/all_features/test_output/templated_test_cases.cpp.txt b/examples/all_features/test_output/templated_test_cases.cpp.txt
index 0373943..1a28b33 100644
--- a/examples/all_features/test_output/templated_test_cases.cpp.txt
+++ b/examples/all_features/test_output/templated_test_cases.cpp.txt
@@ -13,7 +13,7 @@
 multiple types<>
 
 templated_test_cases.cpp(0) ERROR!
-  CHECK( T2() != T2() )
+  CHECK( t2 != T2() )
 with expansion:
   CHECK( 0 != 0 )
 
@@ -22,7 +22,7 @@
 multiple types<>
 
 templated_test_cases.cpp(0) ERROR!
-  CHECK( T2() != T2() )
+  CHECK( t2 != T2() )
 with expansion:
   CHECK( 0 != 0 )
 
@@ -31,7 +31,7 @@
 multiple types<>
 
 templated_test_cases.cpp(0) ERROR!
-  CHECK( T2() != T2() )
+  CHECK( t2 != T2() )
 with expansion:
   CHECK( 0 != 0 )
 
@@ -40,7 +40,7 @@
 bad stringification of type pair<int_pair>
 
 templated_test_cases.cpp(0) ERROR!
-  CHECK( T2() != T2() )
+  CHECK( t2 != T2() )
 with expansion:
   CHECK( 0 != 0 )
 
