We don't actually check that -Wno-attribute does what
we think it does. On clang it doesn't since it happily
seems to recognize but ignore the attribute.
This patch factors out a silent version of CAIRO_CC_TRY_FLAG
which accepts an optional program argument and actually tests
that the compiler doesn't produce any warning messages. It
is then used to check that -Wno-attribute doesn't complain
when the __warn_unused_result__ attribute is applied to
void functions or variables.
As the number of places where we add valgrind client requests grows, it
becomes imperative that we should be able to disable them with a simple
configure time option.
Add the core support to cairo-test for running the test-suite under a
malloc fault injector. This commit contains the adjustments to
cairo_test_run() to repeat the test if it detects a failure due to fault
injection and complains if it detects unreported faults or memory leaks.
--coverage is a synonym for "--fprofile-arcs --ftest-coverage" during
compilation *and* "--lgcov" during linking. One might think this would
be a perfect workaround for the broken debian libtool which stopped the
linker seeing -lgcov - but they strip CFLAGS as well. Oh well.