I noticed flags & ~SCRIPT_REPORT_SIGCHECKS was not expanding in the
intended way (gcc was warning this, but not clang). Classic macro
mistake, also there are other macro gotchas - this would have been
classified as an 'unsafe macro'.
https://wiki.sei.cmu.edu/confluence/display/c/PRE01-C.+Use+parentheses+within+macros+around+parameter+names
https://wiki.sei.cmu.edu/confluence/display/c/PRE12-C.+Do+not+define+unsafe+macros
The reason for using macros here was to make sure the origin of a
test failure can be printed out, as it's quite annoying to have a
context-less failure in an inner function. Fortunately
BOOST_TEST_CONTEXT provides a much nicer and more generic way to
give context, and I use it to make a safe macro instead. Awesome!