This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [libstdc++] libstdc++/7691, pass -Wabi, sanity checks
> > Keeping the --enable-cxx-flags (better: making it actually work and
> > then maintaining it) helps to identify subtle issues regarding how
> > an installation has been built. I remember situations when building
> > libgcj failed simply due to some aggressive optimization flags used
> > for building libstdc++. Defining CXXFLAGS on the "make all" command
> > line works, but later on it may be difficult to remember how the
> > stuff had been built. FWIW, a similar flag might be useful for the
> > other runtime libraries, too.
I want to keep distinct these two ideas: 1) passing arbitrary compiler
options to the library build, and 2) remembering non-default options for
future debugging.
--enable-cxx-flags just doesn't work for (2). The information isn't
preserved for very much longer than it would be for CXXFLAGS. Let's not
take half measures here :-). If we want to remember compilation settings,
let's remember /all/ of them, /permanently/. (Think "gcc -v".)
- by storing the compiler options in the .o files, see PR 2678. I
can resurrect my patches once I get some free time. Or,
- add a "remember_compilation_settings" target to our Makefile, and
make the library depend on it. This target simply dumps all the
variables we can think of into a text file somewhere. We could
even install the file somewhere buried.
Now, for (1),...
> Maybe somebody should ask Alexandre Oliva why white space quoted string
> literals get munged...
...they're not getting munged exactly; it's just that there's been a lot of
changes in the toplevel configury, and quoted stirngs can only be evaluated
and assigned and passed around so many times before all the quoting levels
have been removed.
I am certain that we could eventually do enough quoting:
--enable-cxx-flags='"'"'"'..."'-foo -bar'"...'"'"'"'
to survive the repeated expansions. But at some point (arrived at very
quickly), the user will give up in disgust. :-) I'll ping Alexandre
for ideas.
Phil
--
I would therefore like to posit that computing's central challenge, viz. "How
not to make a mess of it," has /not/ been met.
- Edsger Dijkstra, 1930-2002
- References:
- [libstdc++] libstdc++/7691, pass -Wabi, sanity checks
- Re: [libstdc++] libstdc++/7691, pass -Wabi, sanity checks
- Re: [libstdc++] libstdc++/7691, pass -Wabi, sanity checks
- Re: [libstdc++] libstdc++/7691, pass -Wabi, sanity checks
- Re: [libstdc++] libstdc++/7691, pass -Wabi, sanity checks