[PATCH] libstdc++ testsuite cxxflags

Jonathan Wakely jwakely.gcc@gmail.com
Thu Nov 21 13:43:00 GMT 2013


On 20 November 2013 23:57, Cesar Philippidis wrote:
> On 11/20/13, 1:46 PM, Jonathan Wakely wrote:
>> On 20 November 2013 21:44, Jonathan Wakely wrote:
>>> On 29 October 2013 15:37, Cesar Philippidis wrote:
>>>> This patch addresses two issues with the libstdc++ testsuite:
>>>>
>>>>   * duplicate "-g -O2" CXXFLAGS
>>>>   * missing "-g -O2" for remote targets
>>>>
>>>> The duplicate "-g -O2" flags is a result of testsuite_flags.in using
>>>> build-time CXXFLAGS and proc libstdc++_init using the environmental
>>>> CXXFLAGS, which defaults to its build-time value. This patch prevents
>>>> testsuite_flags.in from using build-time CXXFLAGS.
>>>
>>>> Certain remote targets require a minimum optimization level -O1 in order
>>>> to pass several atomics built-in function tests. This patch ensures
>>>> cxxflags contains "-g -O2" at minimum when no other optimization flags
>>>> are specified. The testsuite used to set those flags prior to Benjamin's
>>>> patch to remove duplicate cxxflags here
>>>> <http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01572.html>.
>>>>
>>>> Is this OK for trunk? If so, please apply (I don't have commit rights).
>>>
>>> I think so ... although I'm not sure I've got my head round the
>>> effects in all cases!
>>
>> Sorry, I didn't realise gmail thought Ctrl-Enter meant send. I meant
>> to ask a couple of questions about it ...
>>
>> Is removing EXTRA_CXX_FLAGS necessary too?
>
> I looked at it again, and it seems to be OK to leave it in there.
>
>> For remote targets, if CXXFLAGS is set in the env can -g still end up missing?
>
> No, but CXXFLAGS isn't necessarily set in the env. Specifically, if you
> run the testsuite without using the makefile, the CXXFLAGS may not be set.
>
> I revised the patch to preserve @EXTRA_CXX_FLAGS@. I also append the
> '-g' flag with '-O2', since the '-g' isn't as important in the testsuite
> as '-O2'.
>
> Is this patch OK? Is so, please commit it because I do not have an svn
> account.

I've been playing around with this patch and CXXFLAGS further, and I'm
not sure about it now.

What harm do the duplicate flags do? If you want different flags to be
used when running the testsuite you can set CXXFLAGS, which will come
later on the command-line and so take precedence. However, if we
remove "-g -O2" from CXXFLAGS_config and you use CXXFLAGS=-DFOO when
running the testsuite then after this change you won't get the same
result, you'd have to change to use CXXFLAGS="-g -O2 -DFOO"

Is that really what we want?



More information about the Libstdc++ mailing list