This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [patch libstdc++]: Fix tests trying to override symbols in shared-library for mingw targets
2013/1/18 Jonathan Wakely <jwakely.gcc@gmail.com>:
> On 18 January 2013 10:17, Kai Tietz wrote:
>> Hi,
>>
>> this patch addresses some of libstdc++'s testsuite regressions on
>> pe-coff targets due none-overridable symbols in DLL files.
>> ChangeLog
>>
>> * 18_support/50594.cc: Force use of static libstdc++ for
>> mingw targets.
>> * 19_diagnostics/error_category/operators/equal.cc: Likewise.
>> * 19_diagnostics/error_code/cons/1.cc: Likewise.
>> * 19_diagnostics/error_code/operators/bool.cc: Likewise.
>> * 19_diagnostics/error_code/operators/equal.cc: Likewise.
>> * 19_diagnostics/error_condition/cons/1.cc: Likewise.
>> * 19_diagnostics/error_condition/operators/bool.cc: Likewise.
>> * 19_diagnostics/error_condition/operators/equal.cc: Likewise.
>> * 19_diagnostics/error_condition/operators/not_equal.cc: Likewise.
>> * 23_containers/set/requirements/exception/basic.cc: Likewise.
>> * lib/dg-options.exp (dg-additional-options): Likewise.
>> * 26_numerics/headers/cmath/c99_classification_macros_c.cc: Add mingw targets
>> as known to fail.
>>
>> Tested for x86_64-w64-mingw32, i686-w64-mingw32, and
>> x86_64-unknown-linux-gnu. Ok for apply?
>
> Congratulations, you're the first person to touch these files this
> year, so you win the privilege of updating the copyright years! ;-)
Oh lucky I am, I am winner! .... ;)
> (Don't forget that on the trunk now you can replace a series of dates
> like 2008, 2009, 2011 with the range 2008-2013.)
Sure I will modify the copyright-notice of the files I've touched here.
>> Index: testsuite/lib/dg-options.exp
>> ===================================================================
>> --- testsuite/lib/dg-options.exp (Revision 195288)
>> +++ testsuite/lib/dg-options.exp (Arbeitskopie)
>> @@ -219,3 +219,25 @@ proc add_options_for_no_pch { flags } {
>> # This forces any generated and possibly included PCH to be invalid.
>> return "-D__GLIBCXX__=99999999"
>> }
>> +
>> +# Like dg-options, but adds to the default options rather than replacing them.
>> +
>> +proc dg-additional-options { args } {
>> + upvar dg-extra-tool-flags extra-tool-flags
>> +
>> + if { [llength $args] > 3 } {
>> + error "[lindex $args 0]: too many arguments"
>> + return
>> + }
>> +
>> + if { [llength $args] >= 3 } {
>
> Is this condition right or should it check for exactly three?
Well, I copied stuff from gcc's testsuite. As we check some lines
about for args > 3 and error out, a test for == 3 makes sense, but
well, >= 3 is fine too.
>> + switch [dg-process-target [lindex $args 2]] {
>> + "S" { eval lappend extra-tool-flags [lindex $args 1] }
>> + "N" { }
>> + "F" { error "[lindex $args 0]: `xfail' not allowed here" }
>> + "P" { error "[lindex $args 0]: `xfail' not allowed here" }
>> + }
>> + } else {
>> + eval lappend extra-tool-flags [lindex $args 1]
>> + }
>> +}