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

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.


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

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