This is the mail archive of the gcc-patches@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]

Re: script for `unincluding' header files (was Re: Patches to the FAQ and the fatal error messages for guiding bug-reports better)


>   > I have written this script a while ago.  Should I install it in the
>   > contrib directory?
> Why do we need/want to "uninclude" stuff?  Generally when I get a testcase
> I *want* a self-contained testcase including all the header files from
> the user's system.  

In some cases, we absolutely _do_ want the users's system headers.
In others, we don't.  For example, many of the C++ fragments in
g++.robertl/eb* were essentially five liners that happened to #include
something like stl.h ultimately that #included half the system headers.
Perhaps the bug we were exposing wasn't actually related to any of that,
but was an ICE for bogus parsing in the following four lines.  

When I preprocessed them down to create testcases, we end up with things
like size_t or system protos being set "right" for _my_ system, but this
means that even when the ICE itself is fixed, these tests would fail on
systems with different size_t's.  This has clearly caused people like
rth some grief when dragging the code to alpha where his size_t scoffs
at my puny 32 bit sizes. :-)

Like most such tools, it's up to the operator to know when to use them
and when not to use them.

RJL


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