diff --git a/Control/CxxUtils/share/ubsan.supp b/Control/CxxUtils/share/ubsan.supp
index 77dc9ed56a865116f1d1452d5a39f82ce5267520..e0ba8742c058c367d432764deccfbb5c5bd8d588 100644
--- a/Control/CxxUtils/share/ubsan.supp
+++ b/Control/CxxUtils/share/ubsan.supp
@@ -9,3 +9,6 @@ vptr_check:PrepRawDataCollection
 # Suppress false positives caused by ToolHandle calls from code
 # generated by cling.
 vptr_check:ToolHandle
+
+# Suppress downcast warnings from boost::any.
+vptr_check:holder
diff --git a/Control/CxxUtils/test/ConcurrentBitset_test.cxx b/Control/CxxUtils/test/ConcurrentBitset_test.cxx
index 3b5e985a608f6be69c7eb8fd297bec5f273fe312..8590fc000c5bc31073c7bab2d378de921e804328 100644
--- a/Control/CxxUtils/test/ConcurrentBitset_test.cxx
+++ b/Control/CxxUtils/test/ConcurrentBitset_test.cxx
@@ -17,14 +17,14 @@
 #include "CxxUtils/ConcurrentBitset.h"
 #include "CxxUtils/checker_macros.h"
 #include "TestTools/random.h"
-// Work around a warning in tbb, found by gcc8.
-// Fixed in TBB 2018 U5.
-#if defined(__GNUC__) && __GNUC__ >= 8
+// tbb/machine/gcc_generic.h has spurious trailing semicolons after
+// the clz() functiosn (as of TBB 2019 U1).
+#if defined(__GNUC__)
 # pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wclass-memaccess"
+# pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 #include "tbb/concurrent_unordered_set.h"
-#if defined(__GNUC__) && __GNUC__ >= 8
+#if defined(__GNUC__)
 # pragma GCC diagnostic pop
 #endif
 #include "boost/timer/timer.hpp"