This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

System header warning exemptions and delta debugging don't mix well


Short story:
To make delta debugging more useful, gcc's
STL system headers should all compile without
warnings at the highest error checking level
without the use of hardcoded warning suppressions in the compiler
based on whether the code is in a system header or not
(see http://gcc.gnu.org/ml/gcc-patches/2005-07/msg00049.html
for an example of such a suppression).

Long story:
Recently I ran into a crash bug in generated code.
It was a little hard to figure out, so I
decided to try delta debugging
(http://www.cs.berkeley.edu/~dsw/)
to automatically generate a small testcase.
We turned delta loose on the 500KB preprocessed
source, with -Wall -Werror to help make sure it
didn't generate garbage programs,
and it faithfully hacked it down to 8KB
which crashed in the same way.  Only problem was,
because we left the #line directives in the
preprocessed source, and delta selectively
removed some of them, gcc thought that our
entire test case was in a system header.
As a result of the DECL_IN_SYSTEM_HEADER warning
suppressions, when delta generated garbage,
gcc couldn't tell delta it had done so.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]