mirror of
https://github.com/boostorg/test.git
synced 2026-02-02 09:12:10 +00:00
On gcc and clang, add __attribute__((__format__)) checking to the report_error function. Cast faulting addresses to uintptr_t for formatting as 0x%08lx - this won't work on LLP64, but Win64 uses SEH anyway. Fix swapped si_code/si_addr (& si_band) format arguments. Add missing %s to format diagnostic information. - Check __GNUC__ major : format attribute was introduced sometime during gcc 2.8, so 3 definitely has it. Same should apply for any compiler claiming GNUC compatibility - Check that diagnostic information is not passed to format unescaped: If it is passed unescaped, the '%%' will be condensed to a single '%' and the test will fail.