public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* GCC 4.0.1 RC2
@ 2005-06-17 23:01 Mark Mitchell
  2005-06-18 22:01 ` Ulrich Weigand
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Mark Mitchell @ 2005-06-17 23:01 UTC (permalink / raw)
  To: gcc

GCC 4.0.1 RC2 is now available here:

   ftp://gcc.gnu.org/pub/gcc/prerelease-4.0.1-20050616

This version has the libstdc++ versioning changes, and most of the PO 
file updates.  The PO file that Joseph checked in today is not included, 
but will be in the final release.

Please test this version and report problems in Bugzilla, with a Cc: to 
me.  I'd also appreciate explicit confirmation from a representative of 
the libstdc++ team that this version as packaged still has the desired 
behavior, just to catch any packaging snafus.

With luck, I'll announce the final release during the summit next week...

Thanks,

-- 
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-17 23:01 GCC 4.0.1 RC2 Mark Mitchell
@ 2005-06-18 22:01 ` Ulrich Weigand
  2005-06-18 22:06 ` David Edelsohn
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: Ulrich Weigand @ 2005-06-18 22:01 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: gcc

Mark Michell wrote:
> GCC 4.0.1 RC2 is now available here:
> 
>    ftp://gcc.gnu.org/pub/gcc/prerelease-4.0.1-20050616

Still fine on s390(x):
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01103.html
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01104.html

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  Linux on zSeries Development
  Ulrich.Weigand@de.ibm.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-17 23:01 GCC 4.0.1 RC2 Mark Mitchell
  2005-06-18 22:01 ` Ulrich Weigand
@ 2005-06-18 22:06 ` David Edelsohn
  2005-06-18 22:27 ` Eric Botcazou
  2005-06-19 21:56 ` Geoffrey Keating
  3 siblings, 0 replies; 14+ messages in thread
From: David Edelsohn @ 2005-06-18 22:06 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: gcc

	Good to go on AIX 5.2:

http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01101.html

David

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-17 23:01 GCC 4.0.1 RC2 Mark Mitchell
  2005-06-18 22:01 ` Ulrich Weigand
  2005-06-18 22:06 ` David Edelsohn
@ 2005-06-18 22:27 ` Eric Botcazou
  2005-06-18 22:39   ` Paolo Carlini
  2005-06-19 21:56 ` Geoffrey Keating
  3 siblings, 1 reply; 14+ messages in thread
From: Eric Botcazou @ 2005-06-18 22:27 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: gcc

> GCC 4.0.1 RC2 is now available here:
>
>    ftp://gcc.gnu.org/pub/gcc/prerelease-4.0.1-20050616

OK on SPARC/Solaris:
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01107.html
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01110.html
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01108.html
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01109.html
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01112.html
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01111.html

1 new failure for libstdc++-v3 in 64-bit mode:

FAIL: ext/array_allocator/2.cc execution test

but *not* a regression.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-18 22:27 ` Eric Botcazou
@ 2005-06-18 22:39   ` Paolo Carlini
  0 siblings, 0 replies; 14+ messages in thread
From: Paolo Carlini @ 2005-06-18 22:39 UTC (permalink / raw)
  To: Eric Botcazou; +Cc: Mark Mitchell, gcc

Eric Botcazou wrote:

>1 new failure for libstdc++-v3 in 64-bit mode:
>
>FAIL: ext/array_allocator/2.cc execution test
>
>but *not* a regression.
>  
>
Indeed, I can confirm that: it's a very long standing issue ultimately
due to basic_string not rebinding the allocator template argument to one
sufficiently aligned. Fixing these issues within v6 (in the wide sense,
i.e., also allowing interoperability between *.o) is basically
impossible - it's already fixed in v7-branch, for both the available
base classes.

Paolo.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-17 23:01 GCC 4.0.1 RC2 Mark Mitchell
                   ` (2 preceding siblings ...)
  2005-06-18 22:27 ` Eric Botcazou
@ 2005-06-19 21:56 ` Geoffrey Keating
  2005-06-19 22:45   ` Gabriel Dos Reis
  3 siblings, 1 reply; 14+ messages in thread
From: Geoffrey Keating @ 2005-06-19 21:56 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: gcc

Mark Mitchell <mark@codesourcery.com> writes:

> GCC 4.0.1 RC2 is now available here:
> 
>    ftp://gcc.gnu.org/pub/gcc/prerelease-4.0.1-20050616
> 
> This version has the libstdc++ versioning changes, and most of the PO
> file updates.  The PO file that Joseph checked in today is not
> included, but will be in the final release.
> 
> Please test this version and report problems in Bugzilla, with a Cc:
> to me.  I'd also appreciate explicit confirmation from a
> representative of the libstdc++ team that this version as packaged
> still has the desired behavior, just to catch any packaging snafus.
> 
> With luck, I'll announce the final release during the summit next week...

RC2 seems to be good on powerpc-darwin8,

<http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg01175.html>

compared to

<http://gcc.gnu.org/ml/gcc-testresults/2005-04/msg01328.html>

except that the testcase

libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc

appears to fail, with lots of complaints like

c99_classification_macros_c.cc:49:21: error: macro "isgreaterequal" requires 2 arguments, but only 1 given

but the actual file did this with previous versions too, I think
something changed in the test harness.  As far as I can tell, this
testcase is in fact invalid and should produce exactly this error
message.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-19 21:56 ` Geoffrey Keating
@ 2005-06-19 22:45   ` Gabriel Dos Reis
  2005-06-19 22:52     ` Geoff Keating
  0 siblings, 1 reply; 14+ messages in thread
From: Gabriel Dos Reis @ 2005-06-19 22:45 UTC (permalink / raw)
  To: Geoffrey Keating; +Cc: Mark Mitchell, gcc

Geoffrey Keating <geoffk@geoffk.org> writes:

| libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc
| 
| appears to fail, with lots of complaints like
| 
| c99_classification_macros_c.cc:49:21: error: macro "isgreaterequal" requires 2 arguments, but only 1 given
| 
| but the actual file did this with previous versions too, I think
| something changed in the test harness.  As far as I can tell, this
| testcase is in fact invalid and should produce exactly this error
| message.

Why?

(I only thing I see wrong, right now is that the function definitions
should be part of a class, instead of being at the global scope).

-- Gaby

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-19 22:45   ` Gabriel Dos Reis
@ 2005-06-19 22:52     ` Geoff Keating
  2005-06-19 23:26       ` Gabriel Dos Reis
  0 siblings, 1 reply; 14+ messages in thread
From: Geoff Keating @ 2005-06-19 22:52 UTC (permalink / raw)
  To: Gabriel Dos Reis; +Cc: Mark Mitchell, gcc

[-- Attachment #1: Type: text/plain, Size: 931 bytes --]


On 19/06/2005, at 3:45 PM, Gabriel Dos Reis wrote:

> Geoffrey Keating <geoffk@geoffk.org> writes:
>
> | libstdc++-v3/testsuite/26_numerics/cmath/ 
> c99_classification_macros_c.cc
> |
> | appears to fail, with lots of complaints like
> |
> | c99_classification_macros_c.cc:49:21: error: macro  
> "isgreaterequal" requires 2 arguments, but only 1 given
> |
> | but the actual file did this with previous versions too, I think
> | something changed in the test harness.  As far as I can tell, this
> | testcase is in fact invalid and should produce exactly this error
> | message.
>
> Why?
>
> (I only thing I see wrong, right now is that the function definitions
> should be part of a class, instead of being at the global scope).

The testcase includes math.h, which we've said should supply the C99  
functions (or, in this case, macros) even in C++ mode.  C99 says that  
'isgreaterequal' is a macro which takes 2 arguments.


[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 2410 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-19 22:52     ` Geoff Keating
@ 2005-06-19 23:26       ` Gabriel Dos Reis
  0 siblings, 0 replies; 14+ messages in thread
From: Gabriel Dos Reis @ 2005-06-19 23:26 UTC (permalink / raw)
  To: Geoff Keating; +Cc: Mark Mitchell, gcc

Geoff Keating <geoffk@geoffk.org> writes:

| On 19/06/2005, at 3:45 PM, Gabriel Dos Reis wrote:
| 
| > Geoffrey Keating <geoffk@geoffk.org> writes:
| >
| > | libstdc++-v3/testsuite/26_numerics/cmath/
| > c99_classification_macros_c.cc
| > |
| > | appears to fail, with lots of complaints like
| > |
| > | c99_classification_macros_c.cc:49:21: error: macro
| > "isgreaterequal" requires 2 arguments, but only 1 given
| > |
| > | but the actual file did this with previous versions too, I think
| > | something changed in the test harness.  As far as I can tell, this
| > | testcase is in fact invalid and should produce exactly this error
| > | message.
| >
| > Why?
| >
| > (I only thing I see wrong, right now is that the function definitions
| > should be part of a class, instead of being at the global scope).
| 
| The testcase includes math.h, which we've said should supply the C99

<math.h> is also mandated by C++.  Clearly, this is a tricky area and
I do not believe the testcase is invalid (except as I noted earlier).

| functions (or, in this case, macros) even in C++ mode.  C99 says that
| 'isgreaterequal' is a macro which takes 2 arguments.

C++ says that no functional macros (except assert) shall be active.
Which leads to interesting games we're playing in the V3 headers to
make sure those are not active.  The C++ TR1 which include proposals
to extend <math.h> to C99 features also mandate non-functional macros.
See what we do with <cmath>.

-- Gaby

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-20  7:07     ` Benjamin Kosnik
@ 2005-06-20 16:09       ` Benjamin Kosnik
  0 siblings, 0 replies; 14+ messages in thread
From: Benjamin Kosnik @ 2005-06-20 16:09 UTC (permalink / raw)
  To: Benjamin Kosnik; +Cc: jakub, mark, gcc-patches, gcc


> It is my strong preference to not do macro defines in c++config.h as
> per your last patch.

Strike this, it's incorrect. Sorry Jakub.

If doing this gets around the bad link behavior, at this point, I'm
for it.  I suggest you put in a link to 22109 to your patch. Then, the
patches for 22109 and 22111 should be checked in to gcc-4_0-branch.

At that point this issue will be resolved for more people.

-benjamin

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-19 20:20   ` Jakub Jelinek
@ 2005-06-20  7:07     ` Benjamin Kosnik
  2005-06-20 16:09       ` Benjamin Kosnik
  0 siblings, 1 reply; 14+ messages in thread
From: Benjamin Kosnik @ 2005-06-20  7:07 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: mark, gcc-patches, gcc


> PR 22111 is about libstdc++-v3 being built with binutils 2.15, while
> 2.15.90 or later are required by the patch. 

I say we solve this instead by enabling the abi checking rule only for
those platforms that are using symbol versioning. In addition, we try
to come up with an autoconf macro that tests the linker for the desired
behavior, and doesn't rely on a version number, which we seem to have
difficulty using as a designator for the required behavior on all
hosts. We know that all primary and secondary gcc targets are ok from
testresults postings, so I consider this a bit academic. 

It is my strong preference to not do macro defines in c++config.h as
per your last patch.

-benjamin

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-18 18:46 ` Mark Mitchell
@ 2005-06-19 20:20   ` Jakub Jelinek
  2005-06-20  7:07     ` Benjamin Kosnik
  0 siblings, 1 reply; 14+ messages in thread
From: Jakub Jelinek @ 2005-06-19 20:20 UTC (permalink / raw)
  To: Mark Mitchell, Benjamin Kosnik; +Cc: gcc-patches, gcc

On Sat, Jun 18, 2005 at 11:46:42AM -0700, Mark Mitchell wrote:
> Benjamin Kosnik wrote:
> >>Please test this version and report problems in Bugzilla, with a Cc:
> >>to me. I'd also appreciate explicit confirmation from a representative
> >>of the libstdc++ team that this version as packaged still has the
> >>desired behavior, just to catch any packaging snafus.
> >
> >
> >This version looks correct to me. Thanks!
> 
> Would you please comment on PR 22111?  This is apparently a new 
> testsuite failure from the changes.

PR 22111 is about libstdc++-v3 being built with binutils 2.15, while
2.15.90 or later are required by the patch.  But as seen on hppa,
even 2.15.90 is at least on some arches not enough.
The problem is still the one I have tried to explain to Paolo in
http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01421.html
Although what is ATM in CVS avoids doing that for 4 of the symbols
that need to be dual exported (@GLIBCXX_3.4 and @@GLIBCXX_3.4.5),
it does not avoid that for the remaining 22 symbols and clearly
it makes many linkers (apparently all I have tried < 2.15.90
and from recent PR also latest hppa GNU ld) very unhappy.

Below is a patch that makes sure all the 26 symbols in compatibility.cc
are renamed, rather than just the 4 that makes even current CVS crash
on all architectures.
I admit it is fragile, the renaming using #define is quite brutal hack,
as the #define can't selectively apply only to some occurences of the name
that needs to be renamed, but with current libstdc++-v3 it works properly
and exports the same symbols as current CVS, and is linkable even by far
older binutils (tried current CVS, 2.15.94.0.2.2 and 2.14.90.0.4, but
really, what it wants from the linker is what is glibc using for years).

The alternative is to add _GLIBCXX_SYMVER_COMPATIBILITY
renames like ATM include/bits/char_traits.h has to the remaining 22
templates, which would be cleaner thing for compatibility.cc, but
further uglification of the installed headers.

2005-06-19  Jakub Jelinek  <jakub@redhat.com>

	* src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
	(istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
	_M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
	_M_set_length_and_sharable, ignore, eq): Define to XX suffixed
	variants.
	(ignore (streamsize)): Remove _W prefixed aliases.
	(_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
	_GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
	(_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
	Use #XXname instead of #name as the alias argument.
	* config/abi/compatibility.h: Replace uses of
	_GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER.  Always
	pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
	* include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
	change.
	* acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
	* configure: Rebuilt.

--- libstdc++-v3/src/compatibility.cc.jj	2005-06-18 04:15:05.000000000 -0400
+++ libstdc++-v3/src/compatibility.cc	2005-06-19 02:52:31.000000000 -0400
@@ -31,7 +31,18 @@
 #include <bits/c++config.h>
 
 #if defined(_GLIBCXX_SYMVER) && defined(PIC)
-# define _GLIBCXX_SYMVER_COMPATIBILITY 1
+#define istreambuf_iterator istreambuf_iteratorXX
+#define basic_fstream basic_fstreamXX
+#define basic_ifstream basic_ifstreamXX
+#define basic_ofstream basic_ofstreamXX
+#define _M_copy(a, b, c) _M_copyXX(a, b, c)
+#define _M_move(a, b, c) _M_moveXX(a, b, c)
+#define _M_assign(a, b, c) _M_assignXX(a, b, c)
+#define _M_disjunct(a) _M_disjunctXX(a)
+#define _M_check_length(a, b, c) _M_check_lengthXX(a, b, c)
+#define _M_set_length_and_sharable(a) _M_set_length_and_sharableXX(a)
+#define ignore ignoreXX
+#define eq eqXX
 #endif
 
 #include <string>
@@ -42,27 +53,6 @@
 namespace std
 {
   // std::istream ignore explicit specializations.
-#if defined(_GLIBCXX_SYMVER) && defined(PIC)
-  template<>
-    basic_istream<char>&
-    basic_istream<char>::ignore(streamsize __n) 
-#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
-    asm ("_W_ZNSi6ignoreEi");
-#else
-    asm ("_W_ZNSi6ignoreEl");
-#endif
-
-#ifdef _GLIBCXX_USE_WCHAR_T
-  template<>
-    basic_istream<wchar_t>&
-    basic_istream<wchar_t>::ignore(streamsize __n)
-#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
-     asm ("_W_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi");
-#else
-     asm ("_W_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl");
-#endif
-#endif
-#endif // _GLIBCXX_SYMVER && PIC
 
   template<>
     basic_istream<char>&
@@ -347,43 +337,27 @@ namespace std
 // In the future, GLIBCXX_ABI > 6 should remove all uses of
 // _GLIBCXX_*_SYMVER macros in this file.
 
-#define _GLIBCXX_3_4_SYMVER(name) \
-   extern "C" void \
-   _X##name() \
-   __attribute__ ((alias(#name))); \
-   asm (".symver " "_X" #name "," #name "@GLIBCXX_3.4");
-
-#define _GLIBCXX_3_4_5_SYMVER(name) \
-   extern "C" void \
-   _Y##name() \
-   __attribute__ ((alias(#name))); \
-   asm (".symver " "_Y" #name  "," #name "@@GLIBCXX_3.4.5");
-
-#define _GLIBCXX_3_4_SYMVER_SPECIAL(name) \
+#define _GLIBCXX_3_4_SYMVER(XXname, name) \
    extern "C" void \
    _X##name() \
-   __attribute__ ((alias("_W" #name))); \
+   __attribute__ ((alias(#XXname))); \
    asm (".symver " "_X" #name "," #name "@GLIBCXX_3.4");
 
-#define _GLIBCXX_3_4_5_SYMVER_SPECIAL(name) \
+#define _GLIBCXX_3_4_5_SYMVER(XXname, name) \
    extern "C" void \
    _Y##name() \
-   __attribute__ ((alias("_W" #name))); \
+   __attribute__ ((alias(#XXname))); \
    asm (".symver " "_Y" #name  "," #name "@@GLIBCXX_3.4.5");
 
 #define _GLIBCXX_ASM_SYMVER(cur, old, version) \
    asm (".symver " #cur "," #old "@@" #version);
 
 #define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_SYMVER
-#define _GLIBCXX_APPLY_SYMVER_SPECIAL _GLIBCXX_3_4_SYMVER_SPECIAL
 #include <bits/compatibility.h>
 #undef _GLIBCXX_APPLY_SYMVER
-#undef _GLIBCXX_APPLY_SYMVER_SPECIAL
 
 #define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_5_SYMVER
-#define _GLIBCXX_APPLY_SYMVER_SPECIAL _GLIBCXX_3_4_5_SYMVER_SPECIAL
 #include <bits/compatibility.h>
 #undef _GLIBCXX_APPLY_SYMVER
-#undef _GLIBCXX_APPLY_SYMVER_SPECIAL
 
 #endif
--- libstdc++-v3/config/abi/compatibility.h.jj	2005-06-18 04:15:05.000000000 -0400
+++ libstdc++-v3/config/abi/compatibility.h	2005-06-19 14:57:33.757698293 -0400
@@ -39,10 +39,12 @@ _ZNSt19istreambuf_iteratorIwSt11char_tra
  */
 namespace __gnu_internal
 {
-_GLIBCXX_APPLY_SYMVER(_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv)
+_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIcSt11char_traitsIcEEppEv,
+		      _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv)
 
 #ifdef _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_APPLY_SYMVER(_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv)
+_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIwSt11char_traitsIwEEppEv,
+		      _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv)
 #endif
 } // namespace std
 
@@ -77,103 +79,136 @@ _ZNSt11char_traitsIwE2eqERKwS2_
  */
 namespace __gnu_internal
 {
-_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSt11char_traitsIcE2eqERKcS2_)
+_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIcE4eqXXERKcS2_,
+		      _ZNSt11char_traitsIcE2eqERKcS2_)
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSs7_M_copyEPcPKcj)
+_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcj,
+		      _ZNSs7_M_copyEPcPKcj)
 #else
-_GLIBCXX_APPLY_SYMVER(_ZNSs7_M_copyEPcPKcm)
+_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcm,
+		      _ZNSs7_M_copyEPcPKcm)
 #endif
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSs7_M_moveEPcPKcj)
+_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcj,
+		      _ZNSs7_M_moveEPcPKcj)
 #else
-_GLIBCXX_APPLY_SYMVER(_ZNSs7_M_moveEPcPKcm)
+_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcm,
+		      _ZNSs7_M_moveEPcPKcm)
 #endif
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_assignEPcjc)
+_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcjc,
+		      _ZNSs9_M_assignEPcjc)
 #else
-_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_assignEPcmc)
+_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcmc,
+		      _ZNSs9_M_assignEPcmc)
 #endif
 
-_GLIBCXX_APPLY_SYMVER(_ZNKSs11_M_disjunctEPKc)
+_GLIBCXX_APPLY_SYMVER(_ZNKSs13_M_disjunctXXEPKc,
+		      _ZNKSs11_M_disjunctEPKc)
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNKSs15_M_check_lengthEjjPKc)
+_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEjjPKc,
+		      _ZNKSs15_M_check_lengthEjjPKc)
 #else
-_GLIBCXX_APPLY_SYMVER(_ZNKSs15_M_check_lengthEmmPKc)
+_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEmmPKc,
+		      _ZNKSs15_M_check_lengthEmmPKc)
 #endif
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-  _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep26_M_set_length_and_sharableEj)
+  _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEj,
+			_ZNSs4_Rep26_M_set_length_and_sharableEj)
 #else
-  _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep26_M_set_length_and_sharableEm)
+  _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEm,
+			_ZNSs4_Rep26_M_set_length_and_sharableEm)
 #endif
 
-_GLIBCXX_APPLY_SYMVER(_ZNSi6ignoreEv)
+_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEv, _ZNSi6ignoreEv)
 
 #ifdef _GLIBCXX_PTRDIFF_T_IS_INT
-_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSi6ignoreEi)
+_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEi, _ZNSi6ignoreEi)
 #else
-_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSi6ignoreEl)
+_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEl, _ZNSi6ignoreEl)
 #endif
 
-_GLIBCXX_APPLY_SYMVER(_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv)
+_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIcSt11char_traitsIcEE7is_openEv,
+		      _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv)
 
-_GLIBCXX_APPLY_SYMVER(_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv)
+_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIcSt11char_traitsIcEE7is_openEv,
+		      _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv)
 
-_GLIBCXX_APPLY_SYMVER(_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv)
+_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIcSt11char_traitsIcEE7is_openEv,
+		      _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv)
 
   // Support for wchar_t.
 #ifdef _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSt11char_traitsIwE2eqERKwS2_)
+_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIwE4eqXXERKwS2_,
+		      _ZNSt11char_traitsIwE2eqERKwS2_)
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj)
+_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwj,
+		      _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj)
 #else
-  _GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm)
+  _GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwm,
+			_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm)
 #endif
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj)
+_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwj,
+		      _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj)
 #else
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm)
+_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwm,
+		      _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm)
 #endif
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw)
+_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwjw,
+		      _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw)
 #else
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw)
+_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwmw,
+		      _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw)
 #endif
 
-_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw)
+_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE13_M_disjunctXXEPKw,
+		      _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw)
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc)
+_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEjjPKc,
+		      _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc)
 #else
-_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc)
+_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEmmPKc,
+		      _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc)
 #endif
 
 #ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj)
+_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEj,
+		      _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj)
 #else
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm)
+_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEm,
+		      _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm)
 #endif
 
-_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv)
+_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEv,
+		      _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv)
 
 #ifdef _GLIBCXX_PTRDIFF_T_IS_INT
-_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi)
+_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEi,
+		      _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi)
 #else
-_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl)
+_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEl,
+		      _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl)
 #endif
 
-_GLIBCXX_APPLY_SYMVER(_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv)
+_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIwSt11char_traitsIwEE7is_openEv,
+		      _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv)
 
-_GLIBCXX_APPLY_SYMVER(_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv)
+_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIwSt11char_traitsIwEE7is_openEv,
+		      _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv)
 
-_GLIBCXX_APPLY_SYMVER(_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv)
+_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIwSt11char_traitsIwEE7is_openEv,
+		      _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv)
 #endif
 }
 
--- libstdc++-v3/include/bits/char_traits.h.jj	2005-06-18 04:15:05.000000000 -0400
+++ libstdc++-v3/include/bits/char_traits.h	2005-06-19 15:51:55.450613223 -0400
@@ -242,10 +242,7 @@ namespace std
 
       static bool
       eq(const char_type& __c1, const char_type& __c2)
-#ifdef _GLIBCXX_SYMVER_COMPATIBILITY
-      asm ("_W_ZNSt11char_traitsIcE2eqERKcS2_");
-#endif
-      ;
+      { return __c1 == __c2; }
 
       static bool
       lt(const char_type& __c1, const char_type& __c2)
@@ -297,9 +294,6 @@ namespace std
       { return (__c == eof()) ? 0 : __c; }
   };
 
-  inline bool
-  char_traits<char>::eq(const char_type& __c1, const char_type& __c2)
-  { return __c1 == __c2; } 
 
 #ifdef _GLIBCXX_USE_WCHAR_T
   /// @brief  21.1.3.2  char_traits specializations
@@ -317,11 +311,8 @@ namespace std
       { __c1 = __c2; }
 
       static bool
-      eq(const char_type& __c1, const char_type& __c2) 
-#ifdef _GLIBCXX_SYMVER_COMPATIBILITY
-      asm ("_W_ZNSt11char_traitsIwE2eqERKwS2_")
-#endif
-      ;
+      eq(const char_type& __c1, const char_type& __c2)
+      { return __c1 == __c2; }
 
       static bool
       lt(const char_type& __c1, const char_type& __c2)
@@ -368,10 +359,6 @@ namespace std
       not_eof(const int_type& __c)
       { return eq_int_type(__c, eof()) ? 0 : __c; }
   };
-
-  inline bool
-  char_traits<wchar_t>::eq(const char_type& __c1, const char_type& __c2)
-  { return __c1 == __c2; } 
 #endif //_GLIBCXX_USE_WCHAR_T
 
 } // namespace std
--- libstdc++-v3/acinclude.m4.jj	2005-06-18 04:15:05.000000000 -0400
+++ libstdc++-v3/acinclude.m4	2005-06-19 15:53:07.028546941 -0400
@@ -1759,8 +1759,7 @@ fi
 
 # For GNU ld, we need at least this version.  The format is described in
 # GLIBCXX_CHECK_LINKER_FEATURES above.
-# Need 21590 because of compatibility.cc's asm .symver strings for GLIBCXX_3.4.
-glibcxx_min_gnu_ld_version=21590
+glibcxx_min_gnu_ld_version=21400
 
 # Check to see if unspecified "yes" value can win, given results above.
 # Change "yes" into either "no" or a style name.
--- libstdc++-v3/configure.jj	2005-06-18 04:15:05.000000000 -0400
+++ libstdc++-v3/configure	2005-06-19 15:53:51.570416064 -0400
@@ -98270,8 +98270,7 @@ fi
 
 # For GNU ld, we need at least this version.  The format is described in
 # GLIBCXX_CHECK_LINKER_FEATURES above.
-# Need 21590 because of compatibility.cc's asm .symver strings for GLIBCXX_3.4.
-glibcxx_min_gnu_ld_version=21590
+glibcxx_min_gnu_ld_version=21400
 
 # Check to see if unspecified "yes" value can win, given results above.
 # Change "yes" into either "no" or a style name.


	Jakub

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
  2005-06-18 18:13 Benjamin Kosnik
@ 2005-06-18 18:46 ` Mark Mitchell
  2005-06-19 20:20   ` Jakub Jelinek
  0 siblings, 1 reply; 14+ messages in thread
From: Mark Mitchell @ 2005-06-18 18:46 UTC (permalink / raw)
  To: Benjamin Kosnik; +Cc: gcc

Benjamin Kosnik wrote:
>>Please test this version and report problems in Bugzilla, with a Cc:
>>to me. I'd also appreciate explicit confirmation from a representative
>>of the libstdc++ team that this version as packaged still has the
>>desired behavior, just to catch any packaging snafus.
> 
> 
> This version looks correct to me. Thanks!

Would you please comment on PR 22111?  This is apparently a new 
testsuite failure from the changes.

Thanks,

-- 
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GCC 4.0.1 RC2
@ 2005-06-18 18:13 Benjamin Kosnik
  2005-06-18 18:46 ` Mark Mitchell
  0 siblings, 1 reply; 14+ messages in thread
From: Benjamin Kosnik @ 2005-06-18 18:13 UTC (permalink / raw)
  To: gcc; +Cc: mark

> Please test this version and report problems in Bugzilla, with a Cc:
> to me. I'd also appreciate explicit confirmation from a representative
> of the libstdc++ team that this version as packaged still has the
> desired behavior, just to catch any packaging snafus.

This version looks correct to me. Thanks!

-benjamin

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2005-06-20 16:09 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-06-17 23:01 GCC 4.0.1 RC2 Mark Mitchell
2005-06-18 22:01 ` Ulrich Weigand
2005-06-18 22:06 ` David Edelsohn
2005-06-18 22:27 ` Eric Botcazou
2005-06-18 22:39   ` Paolo Carlini
2005-06-19 21:56 ` Geoffrey Keating
2005-06-19 22:45   ` Gabriel Dos Reis
2005-06-19 22:52     ` Geoff Keating
2005-06-19 23:26       ` Gabriel Dos Reis
2005-06-18 18:13 Benjamin Kosnik
2005-06-18 18:46 ` Mark Mitchell
2005-06-19 20:20   ` Jakub Jelinek
2005-06-20  7:07     ` Benjamin Kosnik
2005-06-20 16:09       ` Benjamin Kosnik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).