Index: COFF/Symbols.h =================================================================== --- COFF/Symbols.h +++ COFF/Symbols.h @@ -421,8 +421,8 @@ static_assert(sizeof(T) <= sizeof(SymbolUnion), "Symbol too small"); static_assert(alignof(T) <= alignof(SymbolUnion), "SymbolUnion not aligned enough"); - assert(static_cast(static_cast(nullptr)) == nullptr && - "Not a Symbol"); + static_assert(static_cast(static_cast(nullptr)) == nullptr, + "Not a Symbol"); new (S) T(std::forward(Arg)...); } } // namespace coff Index: ELF/Symbols.h =================================================================== --- ELF/Symbols.h +++ ELF/Symbols.h @@ -355,8 +355,8 @@ static_assert(sizeof(T) <= sizeof(SymbolUnion), "SymbolUnion too small"); static_assert(alignof(T) <= alignof(SymbolUnion), "SymbolUnion not aligned enough"); - assert(static_cast(static_cast(nullptr)) == nullptr && - "Not a Symbol"); + static_assert(static_cast(static_cast(nullptr)) == nullptr, + "Not a Symbol"); Symbol Sym = *S; Index: wasm/Symbols.h =================================================================== --- wasm/Symbols.h +++ wasm/Symbols.h @@ -242,8 +242,8 @@ static_assert(sizeof(T) <= sizeof(SymbolUnion), "Symbol too small"); static_assert(alignof(T) <= alignof(SymbolUnion), "SymbolUnion not aligned enough"); - assert(static_cast(static_cast(nullptr)) == nullptr && - "Not a Symbol"); + static_assert(static_cast(static_cast(nullptr)) == nullptr, + "Not a Symbol"); return new (S) T(std::forward(Arg)...); }