diff --git a/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
index faf4605..ab44d3f 100644
--- a/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
+++ b/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
@@ -1288,7 +1288,7 @@
 
 #define FEATURE_ITEM(STRUCT, MEMBER) {#MEMBER, DE_OFFSET_OF(STRUCT, MEMBER)}
 // This macro is used to avoid the "out of array bounds" compiler warnings/errors in the checkFeatures function.
-#define SAFE_OFFSET(LIMITING_STRUCT, STRUCT, MEMBER) std::min(static_cast<deUint32>(sizeof(LIMITING_STRUCT) - sizeof(VkBool32)), DE_OFFSET_OF(STRUCT, MEMBER))
+#define SAFE_OFFSET(LIMITING_STRUCT, STRUCT, MEMBER) std::min<size_t>(sizeof(LIMITING_STRUCT) - sizeof(VkBool32), DE_OFFSET_OF(STRUCT, MEMBER))
 
 template<typename StructType>
 void checkFeatures (const PlatformInterface&				vkp,
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineBlendOperationAdvancedTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineBlendOperationAdvancedTests.cpp
index 3376e84..f809a91 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineBlendOperationAdvancedTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineBlendOperationAdvancedTests.cpp
@@ -2054,7 +2054,7 @@
 
 	// There are two different renderpasses, each of them draw
 	// one half of the colors.
-	deBool skippedColors = 0u;
+	deUint32 skippedColors = 0u;
 	for (deUint32 color = 0; color < DE_LENGTH_OF_ARRAY(srcColors)/2; color++)
 	{
 		// Skip ill-formed colors when we have non-premultiplied destination colors.
diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp
index e92243e..36cbfe0 100644
--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp
+++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp
@@ -150,43 +150,43 @@
 	const Implementation& m_impl;
 };
 
-#define GEN_INT_IMPL(INTTYPE, TYPECHAR, OPNAME, OPERATOR)															\
-	struct INTTYPE##OPNAME##IntImplClass : public IntCompareOperation<INTTYPE>::Implementation						\
+#define GEN_INT_IMPL(INTTYPE, PREFIX, TYPECHAR, OPNAME, OPERATOR)													\
+	struct PREFIX##OPNAME##IntImplClass : public IntCompareOperation<INTTYPE>::Implementation						\
 	{																												\
 		virtual std::string	typeChar	()								const	{ return #TYPECHAR;	}				\
 		virtual std::string	opName		()								const	{ return #OPNAME;	}				\
 		virtual bool		run			(INTTYPE left, INTTYPE right)	const	{ return left OPERATOR right; }		\
 	};																												\
-	INTTYPE##OPNAME##IntImplClass INTTYPE##OPNAME##IntImplInstance;
+	PREFIX##OPNAME##IntImplClass PREFIX##OPNAME##IntImplInstance;
 
-#define GEN_ALL_INT_TYPE_IMPL(INTTYPE, TYPECHAR)				\
-	GEN_INT_IMPL(INTTYPE, I,		Equal,				==	)	\
-	GEN_INT_IMPL(INTTYPE, I,		NotEqual,			!=	)	\
-	GEN_INT_IMPL(INTTYPE, TYPECHAR,	GreaterThan,		>	)	\
-	GEN_INT_IMPL(INTTYPE, TYPECHAR,	GreaterThanEqual,	>=	)	\
-	GEN_INT_IMPL(INTTYPE, TYPECHAR,	LessThan,			<	)	\
-	GEN_INT_IMPL(INTTYPE, TYPECHAR,	LessThanEqual,		<=	)
+#define GEN_ALL_INT_TYPE_IMPL(INTTYPE, PREFIX, TYPECHAR)				\
+	GEN_INT_IMPL(INTTYPE, PREFIX, I,		Equal,				==	)	\
+	GEN_INT_IMPL(INTTYPE, PREFIX, I,		NotEqual,			!=	)	\
+	GEN_INT_IMPL(INTTYPE, PREFIX, TYPECHAR,	GreaterThan,		>	)	\
+	GEN_INT_IMPL(INTTYPE, PREFIX, TYPECHAR,	GreaterThanEqual,	>=	)	\
+	GEN_INT_IMPL(INTTYPE, PREFIX, TYPECHAR,	LessThan,			<	)	\
+	GEN_INT_IMPL(INTTYPE, PREFIX, TYPECHAR,	LessThanEqual,		<=	)
 
-GEN_ALL_INT_TYPE_IMPL(deInt64,	S)
-GEN_ALL_INT_TYPE_IMPL(deUint64,	U)
+GEN_ALL_INT_TYPE_IMPL(deInt64,	int64, S)
+GEN_ALL_INT_TYPE_IMPL(deUint64,	uint64, U)
 
-#define GEN_INT_OP(INTTYPE, OPNAME)																			\
-	struct INTTYPE##OPNAME##OpClass: public IntCompareOperation<INTTYPE>									\
-	{																										\
-		INTTYPE##OPNAME##OpClass () : IntCompareOperation<INTTYPE>(INTTYPE##OPNAME##IntImplInstance) {}		\
-	};																										\
-	INTTYPE##OPNAME##OpClass INTTYPE##OPNAME##Op;
+#define GEN_INT_OP(INTTYPE, PREFIX, OPNAME)																\
+	struct PREFIX##OPNAME##OpClass: public IntCompareOperation<INTTYPE>									\
+	{																									\
+		PREFIX##OPNAME##OpClass () : IntCompareOperation<INTTYPE>(PREFIX##OPNAME##IntImplInstance) {}	\
+	};																									\
+	PREFIX##OPNAME##OpClass PREFIX##OPNAME##Op;
 
-#define GEN_ALL_INT_OPS(INTTYPE)				\
-	GEN_INT_OP(INTTYPE, Equal				)	\
-	GEN_INT_OP(INTTYPE, NotEqual			)	\
-	GEN_INT_OP(INTTYPE, GreaterThan			)	\
-	GEN_INT_OP(INTTYPE, GreaterThanEqual	)	\
-	GEN_INT_OP(INTTYPE, LessThan			)	\
-	GEN_INT_OP(INTTYPE, LessThanEqual		)
+#define GEN_ALL_INT_OPS(INTTYPE, PREFIX)				\
+	GEN_INT_OP(INTTYPE, PREFIX, Equal				)	\
+	GEN_INT_OP(INTTYPE, PREFIX, NotEqual			)	\
+	GEN_INT_OP(INTTYPE, PREFIX, GreaterThan			)	\
+	GEN_INT_OP(INTTYPE, PREFIX, GreaterThanEqual	)	\
+	GEN_INT_OP(INTTYPE, PREFIX, LessThan			)	\
+	GEN_INT_OP(INTTYPE, PREFIX, LessThanEqual		)
 
-GEN_ALL_INT_OPS(deInt64)
-GEN_ALL_INT_OPS(deUint64)
+GEN_ALL_INT_OPS(deInt64, int64)
+GEN_ALL_INT_OPS(deUint64, uint64)
 
 enum DataType {
 	DATA_TYPE_SINGLE = 0,
@@ -1816,12 +1816,12 @@
 {
 	static const std::vector<const CompareOperation<deInt64>*> operationList =
 	{
-		&deInt64EqualOp,
-		&deInt64NotEqualOp,
-		&deInt64LessThanOp,
-		&deInt64LessThanEqualOp,
-		&deInt64GreaterThanOp,
-		&deInt64GreaterThanEqualOp,
+		&int64EqualOp,
+		&int64NotEqualOp,
+		&int64LessThanOp,
+		&int64LessThanEqualOp,
+		&int64GreaterThanOp,
+		&int64GreaterThanEqualOp,
 	};
 
 	for (const auto&	stageNamePair	: *stageNames)
@@ -1838,12 +1838,12 @@
 {
 	static const std::vector<const CompareOperation<deUint64>*> operationList =
 	{
-		&deUint64EqualOp,
-		&deUint64NotEqualOp,
-		&deUint64LessThanOp,
-		&deUint64LessThanEqualOp,
-		&deUint64GreaterThanOp,
-		&deUint64GreaterThanEqualOp,
+		&uint64EqualOp,
+		&uint64NotEqualOp,
+		&uint64LessThanOp,
+		&uint64LessThanEqualOp,
+		&uint64GreaterThanOp,
+		&uint64GreaterThanEqualOp,
 	};
 
 	for (const auto&	stageNamePair	: *stageNames)
diff --git a/framework/common/tcuWaiverUtil.cpp b/framework/common/tcuWaiverUtil.cpp
index 09a1f19..4f61c48 100644
--- a/framework/common/tcuWaiverUtil.cpp
+++ b/framework/common/tcuWaiverUtil.cpp
@@ -345,7 +345,7 @@
 	deUint32 parentIndex = 0;
 
 	// construct root node
-	m_buildTree.emplace_back("root", DE_NULL);
+	m_buildTree.emplace_back("root", 0);
 
 	for (const auto& path : m_testList)
 	{
diff --git a/framework/delibs/debase/deDefs.h b/framework/delibs/debase/deDefs.h
index c78f934..de8a364 100644
--- a/framework/delibs/debase/deDefs.h
+++ b/framework/delibs/debase/deDefs.h
@@ -207,13 +207,6 @@
 #	endif
 #endif
 
-/* Debug code macro. */
-#if defined(DE_DEBUG)
-#	define DE_DEBUG_CODE(X) X
-#else
-#	define DE_DEBUG_CODE(X)
-#endif
-
 /* Inline. */
 #if (DE_COMPILER == DE_COMPILER_MSC)
 #	define DE_INLINE __forceinline
@@ -260,14 +253,14 @@
 
 /* Assertion macro. */
 #if defined(DE_DEBUG) && !defined(DE_COVERAGE_BUILD)
-#	define DE_ASSERT(X) do { if ((!deGetFalse() && (X)) ? DE_FALSE : DE_TRUE) deAssertFail(#X, __FILE__, __LINE__); } while(deGetFalse())
+#	define DE_ASSERT(X) do { if (!(X)) deAssertFail(#X, __FILE__, __LINE__); } while(deGetFalse())
 #else
 #	define DE_ASSERT(X) /*@ -noeffect*/ ((void)0)	/*!< Assertion macro. */
 #endif
 
 /* Verify macro. Behaves like assert in debug build, but executes statement in release build. */
 #if defined(DE_DEBUG)
-#	define DE_VERIFY(X) do { if ((!deGetFalse() && (X)) ? DE_FALSE : DE_TRUE) deAssertFail(#X, __FILE__, __LINE__); } while(deGetFalse())
+#	define DE_VERIFY(X) do { if (!(X)) deAssertFail(#X, __FILE__, __LINE__); } while(deGetFalse())
 #else
 #	define DE_VERIFY(X) X
 #endif
@@ -280,7 +273,7 @@
 #endif
 
 /** Test assert macro for use in testers (same as DE_ASSERT, but always enabled). */
-#define DE_TEST_ASSERT(X) do { if ((!deGetFalse() && (X)) ? DE_FALSE : DE_TRUE) deAssertFail(#X, __FILE__, __LINE__); } while(deGetFalse())
+#define DE_TEST_ASSERT(X) do { if (!(X)) deAssertFail(#X, __FILE__, __LINE__); } while(deGetFalse())
 
 #if (DE_COMPILER == DE_COMPILER_GCC) || (DE_COMPILER == DE_COMPILER_CLANG)
 	/* GCC 4.8 and newer warns about unused typedefs. */
@@ -291,10 +284,8 @@
 
 /** Compile-time assertion macro. */
 #define DE_STATIC_ASSERT(X)						typedef char DE_UNIQUE_NAME[(X) ? 1 : -1] DE_UNUSED_ATTR
-#define DE_HEADER_STATIC_ASSERT(HEADERTOKEN, X)	typedef char DE_HEADER_UNIQUE_NAME(HEADERTOKEN)[(X) ? 1 : -1] DE_UNUSED_ATTR
 
 #define DE_UNIQUE_NAME						DE_MAKE_NAME(__LINE__, hoax)
-#define DE_HEADER_UNIQUE_NAME(HEADERTOKEN)	DE_MAKE_NAME(__LINE__, HEADERTOKEN)
 #define DE_MAKE_NAME(line, token) DE_MAKE_NAME2(line, token)
 #define DE_MAKE_NAME2(line, token) _static_assert_##line##_##token
 
diff --git a/modules/gles3/functional/es3fMultiviewTests.cpp b/modules/gles3/functional/es3fMultiviewTests.cpp
index 06b1805..a2ddd83 100644
--- a/modules/gles3/functional/es3fMultiviewTests.cpp
+++ b/modules/gles3/functional/es3fMultiviewTests.cpp
@@ -20,7 +20,6 @@
  * \file
  * \brief Multiview tests.
  * Tests functionality provided by the three multiview extensions.
- * Note that this file is formatted using external/openglcts/.clang-format
  */ /*--------------------------------------------------------------------*/
 
 #include "es3fMultiviewTests.hpp"
diff --git a/modules/gles3/functional/es3fMultiviewTests.hpp b/modules/gles3/functional/es3fMultiviewTests.hpp
index e13bcba..ae81e15 100644
--- a/modules/gles3/functional/es3fMultiviewTests.hpp
+++ b/modules/gles3/functional/es3fMultiviewTests.hpp
@@ -22,7 +22,6 @@
  * \file
  * \brief Multiview tests.
  * Tests functionality provided by the three multiview extensions.
- * Note that this file is formatted using external/openglcts/.clang-format
 */ /*--------------------------------------------------------------------*/
 
 #include "tcuDefs.hpp"
