diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ef337295ada3d52f565c79694ab9266948e29ed..835aa3e9fe5927e938d0b802eaa50e5a1d10bab1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -100,7 +100,7 @@ set(FlatBuffers_GRPCTest_SRCS
 # source_group(Tests FILES ${FlatBuffers_Tests_SRCS})
 
 if(EXISTS "${CMAKE_TOOLCHAIN_FILE}")
-  # do not apply any global settings if the toolchain 
+  # do not apply any global settings if the toolchain
   # is being configured externally
 elseif(APPLE)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
@@ -117,7 +117,8 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
     "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror -Wextra -Werror=shadow")
   if (GCC_VERSION VERSION_GREATER 4.4)
     set(CMAKE_CXX_FLAGS
-      "${CMAKE_CXX_FLAGS} -Wunused-result -Werror=unused-result")
+      "${CMAKE_CXX_FLAGS} -Wunused-result -Werror=unused-result \
+                          -Wunused-parameter -Werror=unused-parameter")
   endif()
 
   # Certain platforms such as ARM do not use signed chars by default
diff --git a/tests/test.cpp b/tests/test.cpp
index f2854c671cc397b4f150c0c8c54ff4e8603f7539..34a556e07b9b53500e0ab6a29b8ad023c65123fc 100644
--- a/tests/test.cpp
+++ b/tests/test.cpp
@@ -319,9 +319,12 @@ void ObjectFlatBuffersTest(uint8_t *flatbuf) {
   // and such.
   auto resolver = flatbuffers::resolver_function_t([](void **pointer_adr,
                                                flatbuffers::hash_value_t hash) {
+    (void)pointer_adr;
+    (void)hash;
     // Don't actually do anything, leave variable null.
   });
   auto rehasher = flatbuffers::rehasher_function_t([](void *pointer) {
+    (void)pointer;
     return 0;
   });