Some time ago a patch was merged to disable all clang-tidy warnings
from system macros. This led to bugprone-assert-side-effect
silently no longer working, since the warnings came from a system
macro. The problem was not detected because the fake assert functions
were implemented in the same file as the test, instead of being a
system include like it's done in the real world.
Move the assert to a proper system header, and fix the code to
warn at the correct location.
This patch is breakdown from https://reviews.llvm.org/D147081
by PiotrZSL.
There should be no need to define the function (the real header wouldn't either).