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
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Kai Tietz <ktietz70 at googlemail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, "libstdc++" <libstdc++ at gcc dot gnu dot org>
- Date: Fri, 18 Jan 2013 11:23:10 +0000
- Subject: Re: [patch libstdc++]: Fix tests trying to override symbols in shared-library for mingw targets
- References: <CAEwic4b-eauMUgi0kvMPYP06pC6Uko7SaSbsYKs7_nJUf+620g@mail.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! ;-)
(Don't forget that on the trunk now you can replace a series of dates
like 2008, 2009, 2011 with the range 2008-2013.)
> 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?
> + 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]
> + }
> +}