[Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function::function(std::function

2013-02-11 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52887



Benjamin Kosnik  changed:



   What|Removed |Added



 CC||bkoz at gcc dot gnu.org,

   ||bkoz at redhat dot com



--- Comment #28 from Benjamin Kosnik  2013-02-11 
23:53:30 UTC ---



FWIW, I think the real fix here is to compile regex.cc with

-fimplicit-templates. I suspect that different things are being inlined on AIX

than on linux/ELF, there is an assumed implicit instantiation on AIX for this

symbol that is currently being supressed via -fno-implicit-templates.


[Bug libstdc++/54388] [4.7/4.8 Regression] std::array.at() const results in undefined behaviour

2012-08-28 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54388

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org

--- Comment #7 from Benjamin Kosnik  2012-08-28 
17:52:45 UTC ---

I like #5 Jonathan, thank you. 

It's ok if the initial implementation got things wrong and we have to correct
them later. No sweat. We can just update the paper anyway.


[Bug libstdc++/54005] Use __atomic_always_lock_free in libstdc++ is_lock_free instead of __atomic_is_lock_free

2012-08-28 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54005

Benjamin Kosnik  changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |

--- Comment #11 from Benjamin Kosnik  2012-08-28 
18:10:09 UTC ---

Andrew I'll revert


[Bug libstdc++/54102] generated html vs. utf8

2012-08-28 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54102

--- Comment #2 from Benjamin Kosnik  2012-08-29 
01:37:23 UTC ---
Author: bkoz
Date: Wed Aug 29 01:37:16 2012
New Revision: 190768

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190768
Log:
2012-08-28  Benjamin Kosnik  

PR libstdc++/54102
* doc/xsl/customization.xsl.in: New.
* configure.ac: Output local copy of customization xsl.
* doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
(stamp-html-docbook): Set stringparam to UTF-8.
* Makefile.in: Regenerated.
* configure: Same.
* doc/Makefile.in: Same.

Added:
trunk/libstdc++-v3/doc/xsl/
trunk/libstdc++-v3/doc/xsl/customization.xsl.in
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/Makefile.in
trunk/libstdc++-v3/configure
trunk/libstdc++-v3/configure.ac
trunk/libstdc++-v3/doc/Makefile.am
trunk/libstdc++-v3/doc/Makefile.in


[Bug libstdc++/54102] generated html vs. utf8

2012-08-28 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54102

--- Comment #3 from Benjamin Kosnik  2012-08-29 
04:44:19 UTC ---
Author: bkoz
Date: Wed Aug 29 04:44:10 2012
New Revision: 190771

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190771
Log:
2012-08-28  Benjamin Kosnik  

PR libstdc++/54102, part 2
* doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
* doc/Makefile.in: Regenerate.
* doc/html/*: Same.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/doc/Makefile.am
trunk/libstdc++-v3/doc/Makefile.in
trunk/libstdc++-v3/doc/html/api.html
trunk/libstdc++-v3/doc/html/bk02.html
trunk/libstdc++-v3/doc/html/bk03.html
trunk/libstdc++-v3/doc/html/faq.html
trunk/libstdc++-v3/doc/html/index.html
trunk/libstdc++-v3/doc/html/manual/abi.html
trunk/libstdc++-v3/doc/html/manual/algorithms.html
trunk/libstdc++-v3/doc/html/manual/api.html
trunk/libstdc++-v3/doc/html/manual/appendix_contributing.html
trunk/libstdc++-v3/doc/html/manual/appendix_free.html
trunk/libstdc++-v3/doc/html/manual/appendix_gfdl.html
trunk/libstdc++-v3/doc/html/manual/appendix_gpl.html
trunk/libstdc++-v3/doc/html/manual/appendix_porting.html
trunk/libstdc++-v3/doc/html/manual/associative.html
trunk/libstdc++-v3/doc/html/manual/atomics.html
trunk/libstdc++-v3/doc/html/manual/backwards.html
trunk/libstdc++-v3/doc/html/manual/bitmap_allocator.html
trunk/libstdc++-v3/doc/html/manual/bk01pt02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch20s02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch20s03.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch20s04.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch20s05.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch23s02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03ch30s03.html
trunk/libstdc++-v3/doc/html/manual/bk01pt03pr01.html
trunk/libstdc++-v3/doc/html/manual/bk01pt04.html
trunk/libstdc++-v3/doc/html/manual/bugs.html
trunk/libstdc++-v3/doc/html/manual/concurrency.html
trunk/libstdc++-v3/doc/html/manual/configure.html
trunk/libstdc++-v3/doc/html/manual/containers.html
trunk/libstdc++-v3/doc/html/manual/containers_and_c.html
trunk/libstdc++-v3/doc/html/manual/debug.html
trunk/libstdc++-v3/doc/html/manual/debug_mode.html
trunk/libstdc++-v3/doc/html/manual/diagnostics.html
trunk/libstdc++-v3/doc/html/manual/documentation_hacking.html
trunk/libstdc++-v3/doc/html/manual/dynamic_memory.html
trunk/libstdc++-v3/doc/html/manual/ext_algorithms.html
trunk/libstdc++-v3/doc/html/manual/ext_compile_checks.html
trunk/libstdc++-v3/doc/html/manual/ext_concurrency.html
trunk/libstdc++-v3/doc/html/manual/ext_containers.html
trunk/libstdc++-v3/doc/html/manual/ext_demangling.html
trunk/libstdc++-v3/doc/html/manual/ext_io.html
trunk/libstdc++-v3/doc/html/manual/ext_iterators.html
trunk/libstdc++-v3/doc/html/manual/ext_numerics.html
trunk/libstdc++-v3/doc/html/manual/ext_utilities.html
trunk/libstdc++-v3/doc/html/manual/extensions.html
trunk/libstdc++-v3/doc/html/manual/facets.html
trunk/libstdc++-v3/doc/html/manual/fstreams.html
trunk/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
trunk/libstdc++-v3/doc/html/manual/index.html
trunk/libstdc++-v3/doc/html/manual/internals.html
trunk/libstdc++-v3/doc/html/manual/intro.html
trunk/libstdc++-v3/doc/html/manual/io.html
trunk/libstdc++-v3/doc/html/manual/io_and_c.html
trunk/libstdc++-v3/doc/html/manual/iterators.html
trunk/libstdc++-v3/doc/html/manual/license.html
trunk/libstdc++-v3/doc/html/manual/localization.html
trunk/libstdc++-v3/doc/html/manual/make.html
trunk/libstdc++-v3/doc/html/manual/memory.html
trunk/libstdc++-v3/doc/html/manual/mt_allocator.html
trunk/libstdc++-v3/doc/html/manual/numerics.html
trunk/libstdc++-v3/doc/html/manual/numerics_and_c.html
trunk/libstdc++-v3/doc/html/manual/pairs.html
trunk/libstdc++-v3/do

[Bug libstdc++/54388] [4.7/4.8 Regression] std::array.at() const results in undefined behaviour

2012-08-30 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54388

--- Comment #9 from Benjamin Kosnik  2012-08-30 
15:36:18 UTC ---

BTW, we definitely need a comment on  why this particular code is so tricky. 

// NB: Interesting use of comma operator semantics.

at the very least...

;)


[Bug libstdc++/54005] Use __atomic_always_lock_free in libstdc++ is_lock_free instead of __atomic_is_lock_free

2012-08-30 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54005

--- Comment #13 from Benjamin Kosnik  2012-08-30 
19:25:03 UTC ---
Author: bkoz
Date: Thu Aug 30 19:24:58 2012
New Revision: 190810

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190810
Log:
2012-08-30  Benjamin Kosnik  

PR libstdc++/54005 continued
* include/std/atomic: Use __atomic_lock_free with
* include/bits/atomic_base.h: Same.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/atomic_base.h
trunk/libstdc++-v3/include/std/atomic


[Bug libstdc++/54172] [4.7/4.8 Regression] __cxa_guard_acquire thread-safety issue

2012-09-06 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54172

--- Comment #12 from Benjamin Kosnik  2012-09-06 
20:31:13 UTC ---
Author: bkoz
Date: Thu Sep  6 20:31:08 2012
New Revision: 191042

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191042
Log:
2012-09-06  Thiago Macieira  

PR libstdc++/54172
* libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
we detect that another thread has had success. Don't compare_exchange
from a finished state back to a waiting state. Comment.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/libsupc++/guard.cc


[Bug libstdc++/54172] [4.7 Regression] __cxa_guard_acquire thread-safety issue

2012-09-09 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54172

--- Comment #14 from Benjamin Kosnik  2012-09-10 
05:08:15 UTC ---
Author: bkoz
Date: Mon Sep 10 05:08:07 2012
New Revision: 191125

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191125
Log:
2012-09-09  Thiago Macieira  

PR libstdc++/54172
* libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
we detect that another thread has had success. Don't compare_exchange
from a finished state back to a waiting state. Comment.


Modified:
branches/gcc-4_7-branch/libstdc++-v3/ChangeLog
branches/gcc-4_7-branch/libstdc++-v3/libsupc++/guard.cc


[Bug libstdc++/54172] [4.7 Regression] __cxa_guard_acquire thread-safety issue

2012-09-09 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54172

--- Comment #14 from Benjamin Kosnik  2012-09-10 
05:08:15 UTC ---
Author: bkoz
Date: Mon Sep 10 05:08:07 2012
New Revision: 191125

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191125
Log:
2012-09-09  Thiago Macieira  

PR libstdc++/54172
* libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
we detect that another thread has had success. Don't compare_exchange
from a finished state back to a waiting state. Comment.


Modified:
branches/gcc-4_7-branch/libstdc++-v3/ChangeLog
branches/gcc-4_7-branch/libstdc++-v3/libsupc++/guard.cc

--- Comment #15 from Benjamin Kosnik  2012-09-10 
05:08:51 UTC ---
In 4.7-branch


[Bug libstdc++/54172] [4.7 Regression] __cxa_guard_acquire thread-safety issue

2012-09-09 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54172

--- Comment #15 from Benjamin Kosnik  2012-09-10 
05:08:51 UTC ---
In 4.7-branch


[Bug libstdc++/54482] failures in static linking with libstdc++, due to versioned symbols

2012-09-11 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54482

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org,
   ||Ralf.Wildenhues at gmx dot
   ||de

--- Comment #2 from Benjamin Kosnik  2012-09-12 
03:26:23 UTC ---
FYI this bug is a duplicate of 28811. The summary/diagnosis is wrong. It's not
about versioned symbols, at least not in 4.7.x and above (after fix of 52689).

The issue is that even for all libstdc++ sources that are destined for the
static library, ie libstdc++.a, compile flags should include -fPIC or
equivalent, so that -static-libstdc++ works.

These files are not compiled this way at the moment.

So, compat*.o files need to be compiled with -prefer-pic.

But, using that means that the delicate balance of the non-convenience library
files in src, ie compat*.cc files is disturbed.

At the moment, compat*.cc files are special, and have have code suitable for
static and shared libs, and some code intended only for shared libs. Right now,
the compile-time macro to designate these shared-only sections is PIC.

But, using libtool's -prefer-pic for the compat*.cc files means -fPIC -DPIC,
which messes up static/shared code paths. So, one solution may be to use
-prefer-pic when using libtool to create all object files, but to use another
macro, say _GLIBCXX_SHARED when compiling only shared code.

(Another solution is to make yet-another convenience libary, that is only
shared, and manually separate the source file dependencies. Let's try not to do
it this way.)

So, what is desired is a compile-time hook or flag into libtool that deals with
just the static or just the shared compiled objects. There are currently
configure-time hooks for this (--enable-shared/-static, etc).

One "hook"  is to create an override for libtool's pic_flag variable, using
CXX_pic_flag, that is special for libstdc++. 

ie, from the generated libtool:

from:
pic_flag=" -fPIC -DPIC"

to:
pic_flag="-D_GLIBCXX_SHARED  -fPIC -DPIC"

Sadly, I cannot figure out the correct way to do this, perhaps Ralf can help
me.

In the meantime:

A hacky way to do this in configure.ac:

# Use _GLIBCXX_SHARED as a compile-time switch just for libstdc++ to designate
# a shared-only codepath.
AC_CONFIG_COMMANDS([libtool-pic-patch],
[echo "config.status: patching libtool's pic_flag with -D_GLIBCXX_SHARED";
 sed < libtool > libtool.tmp 's/^pic_flag="/pic_flag="-D_GLIBCXX_SHARED /';
 mv libtool.tmp libtool;
 chmod 775 libtool;
])


[Bug libstdc++/54482] failures in static linking with libstdc++, due to versioned symbols

2012-09-19 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54482



--- Comment #4 from Benjamin Kosnik  2012-09-20 
02:10:32 UTC ---

Author: bkoz

Date: Thu Sep 20 02:10:22 2012

New Revision: 191509



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191509

Log:

2012-09-18  Benjamin Kosnik  



PR libstdc++/28811

PR libstdc++/54482

* configure.ac (glibcxx_lt_pic_flag,

  glibcxx_compiler_pic_flag,

  glibcxx_compiler_shared_flag): New. Use them.

(lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.

(pic_mode): Set to default.

(PIC_CXXFLAGS): Remove.

* Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.

* libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and

  glibcxx_compiler_shared_flag. Comment.

* src/c++11/Makefile.am: Same.

* src/c++98/Makefile.am: Same.

* src/Makefile.am: Use glibcxx_compiler_pic_flag.



* Makefile.in: Regenerated.

* aclocal.m4: Same.

* configure: Same.

* doc/Makefile.in: Same.

* include/Makefile.in: Same.

* libsupc++/Makefile.in: Same.

* po/Makefile.in: Same.

* python/Makefile.in: Same.

* src/Makefile.in: Same.

* src/c++11/Makefile.in: Same.

* src/c++98/Makefile.in: Same.

* testsuite/Makefile.in: Same.



* src/c++11/compatibility-atomic-c++0x.cc: Use

  _GLIBCXX_SHARED instead of PIC to designate shared-only

  code blocks.

* src/c++11/compatibility-c++0x.cc: Same.

* src/c++11/compatibility-thread-c++0x.cc: Same.

* src/c++98/compatibility-list-2.cc: Same.

* src/c++98/compatibility.cc: : Same.



* testsuite/17_intro/shared_with_static_deps.cc: New.



* doc/xml/manual/build_hacking.xml: Separate configure from

make/build issues, add build details.



Added:

trunk/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc

Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/Makefile.am

trunk/libstdc++-v3/Makefile.in

trunk/libstdc++-v3/aclocal.m4

trunk/libstdc++-v3/configure

trunk/libstdc++-v3/configure.ac

trunk/libstdc++-v3/doc/Makefile.in

trunk/libstdc++-v3/doc/xml/manual/build_hacking.xml

trunk/libstdc++-v3/include/Makefile.in

trunk/libstdc++-v3/libsupc++/Makefile.am

trunk/libstdc++-v3/libsupc++/Makefile.in

trunk/libstdc++-v3/po/Makefile.in

trunk/libstdc++-v3/python/Makefile.in

trunk/libstdc++-v3/src/Makefile.am

trunk/libstdc++-v3/src/Makefile.in

trunk/libstdc++-v3/src/c++11/Makefile.am

trunk/libstdc++-v3/src/c++11/Makefile.in

trunk/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc

trunk/libstdc++-v3/src/c++11/compatibility-c++0x.cc

trunk/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc

trunk/libstdc++-v3/src/c++98/Makefile.am

trunk/libstdc++-v3/src/c++98/Makefile.in

trunk/libstdc++-v3/src/c++98/compatibility-list-2.cc

trunk/libstdc++-v3/src/c++98/compatibility.cc

trunk/libstdc++-v3/testsuite/Makefile.in


[Bug libstdc++/28811] --with-pic vs static libraries and libstdc++

2012-09-19 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28811



--- Comment #20 from Benjamin Kosnik  2012-09-20 
02:10:32 UTC ---

Author: bkoz

Date: Thu Sep 20 02:10:22 2012

New Revision: 191509



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191509

Log:

2012-09-18  Benjamin Kosnik  



PR libstdc++/28811

PR libstdc++/54482

* configure.ac (glibcxx_lt_pic_flag,

  glibcxx_compiler_pic_flag,

  glibcxx_compiler_shared_flag): New. Use them.

(lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.

(pic_mode): Set to default.

(PIC_CXXFLAGS): Remove.

* Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.

* libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and

  glibcxx_compiler_shared_flag. Comment.

* src/c++11/Makefile.am: Same.

* src/c++98/Makefile.am: Same.

* src/Makefile.am: Use glibcxx_compiler_pic_flag.



* Makefile.in: Regenerated.

* aclocal.m4: Same.

* configure: Same.

* doc/Makefile.in: Same.

* include/Makefile.in: Same.

* libsupc++/Makefile.in: Same.

* po/Makefile.in: Same.

* python/Makefile.in: Same.

* src/Makefile.in: Same.

* src/c++11/Makefile.in: Same.

* src/c++98/Makefile.in: Same.

* testsuite/Makefile.in: Same.



* src/c++11/compatibility-atomic-c++0x.cc: Use

  _GLIBCXX_SHARED instead of PIC to designate shared-only

  code blocks.

* src/c++11/compatibility-c++0x.cc: Same.

* src/c++11/compatibility-thread-c++0x.cc: Same.

* src/c++98/compatibility-list-2.cc: Same.

* src/c++98/compatibility.cc: : Same.



* testsuite/17_intro/shared_with_static_deps.cc: New.



* doc/xml/manual/build_hacking.xml: Separate configure from

make/build issues, add build details.



Added:

trunk/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc

Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/Makefile.am

trunk/libstdc++-v3/Makefile.in

trunk/libstdc++-v3/aclocal.m4

trunk/libstdc++-v3/configure

trunk/libstdc++-v3/configure.ac

trunk/libstdc++-v3/doc/Makefile.in

trunk/libstdc++-v3/doc/xml/manual/build_hacking.xml

trunk/libstdc++-v3/include/Makefile.in

trunk/libstdc++-v3/libsupc++/Makefile.am

trunk/libstdc++-v3/libsupc++/Makefile.in

trunk/libstdc++-v3/po/Makefile.in

trunk/libstdc++-v3/python/Makefile.in

trunk/libstdc++-v3/src/Makefile.am

trunk/libstdc++-v3/src/Makefile.in

trunk/libstdc++-v3/src/c++11/Makefile.am

trunk/libstdc++-v3/src/c++11/Makefile.in

trunk/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc

trunk/libstdc++-v3/src/c++11/compatibility-c++0x.cc

trunk/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc

trunk/libstdc++-v3/src/c++98/Makefile.am

trunk/libstdc++-v3/src/c++98/Makefile.in

trunk/libstdc++-v3/src/c++98/compatibility-list-2.cc

trunk/libstdc++-v3/src/c++98/compatibility.cc

trunk/libstdc++-v3/testsuite/Makefile.in


[Bug libstdc++/54102] generated html vs. utf8

2012-09-20 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54102



--- Comment #5 from Benjamin Kosnik  2012-09-21 
06:29:39 UTC ---

Author: bkoz

Date: Fri Sep 21 06:29:32 2012

New Revision: 191603



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191603

Log:

2012-09-20  Benjamin Kosnik  



PR libstdc++/54102, part 2

* doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.

* doc/Makefile.in: Regenerate.

* doc/html/*: Same.



2012-09-20  Benjamin Kosnik  



* doc/html/*: Regenerate.



2012-09-20  Benjamin Kosnik  



PR libstdc++/54102

* doc/xsl/customization.xsl.in: New.

* configure.ac: Output local copy of customization xsl.

* doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.

(stamp-html-docbook): Set stringparam to UTF-8.

* Makefile.in: Regenerated.

* configure: Same.

* doc/Makefile.in: Same.





Added:

branches/gcc-4_7-branch/libstdc++-v3/doc/xsl/

branches/gcc-4_7-branch/libstdc++-v3/doc/xsl/customization.xsl.in   (with

props)

Modified:

branches/gcc-4_7-branch/libstdc++-v3/ChangeLog

branches/gcc-4_7-branch/libstdc++-v3/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/configure

branches/gcc-4_7-branch/libstdc++-v3/configure.ac

branches/gcc-4_7-branch/libstdc++-v3/doc/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/doc/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/doc/html/api.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/bk02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/bk03.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/faq.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/index.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/abi.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/algorithms.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/api.html

   

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/appendix_contributing.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/appendix_free.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/appendix_gfdl.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/appendix_gpl.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/appendix_porting.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/associative.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/atomics.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/backwards.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bitmap_allocator.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch20s02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch20s03.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch20s04.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch20s05.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch23s02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03ch30s03.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt03pr01.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bk01pt04.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/bugs.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/concurrency.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/configure.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/containers.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/containers_and_c.html

branches/gcc-4_7-branch/libstdc++-v3/doc/html/manual/debug.html

branches/gcc

[Bug libstdc++/54102] generated html vs. utf8

2012-09-26 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54102



Benjamin Kosnik  changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #6 from Benjamin Kosnik  2012-09-26 
18:38:50 UTC ---

Fixed in trunk, 4.7.3


[Bug libstdc++/54172] [4.7 Regression] __cxa_guard_acquire thread-safety issue

2012-09-26 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54172



Benjamin Kosnik  changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 CC||bkoz at gcc dot gnu.org

 Resolution||FIXED

   Target Milestone|4.7.3   |4.7.2



--- Comment #19 from Benjamin Kosnik  2012-09-26 
18:40:33 UTC ---

Fixed in trunk and 4.7.2.


[Bug libstdc++/54314] [4.8 Regression] undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream, std::allocator >'

2012-09-26 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54314



Benjamin Kosnik  changed:



   What|Removed |Added



 CC||bkoz at gcc dot gnu.org



--- Comment #13 from Benjamin Kosnik  2012-09-26 
19:06:12 UTC ---



Hey P, I think you mean:



diff --git a/libstdc++-v3/config/abi/pre/gnu.ver

b/libstdc++-v3/config/abi/pre/g

index 5265b21..396feec 100644

--- a/libstdc++-v3/config/abi/pre/gnu.ver

+++ b/libstdc++-v3/config/abi/pre/gnu.ver

@@ -1322,6 +1322,7 @@ GLIBCXX_3.4.17 {

 } GLIBCXX_3.4.16;



 GLIBCXX_3.4.18 {

+

   global:



 # Names inside the 'extern' block are demangled names.

@@ -1330,6 +1331,9 @@ GLIBCXX_3.4.18 {

   std::random_device::*;

 };



+# construction vtable

+_ZTCSt*;

+

 } GLIBCXX_3.4.17;



 # Symbols in the support library (libsupc++) have their own tag.





ie, not in CXXABI for std:: non-support things.



This is an interesting thread thanks for the info Kai, very informative. The

analysis looks good and patch looks correct, modulo above.



Anyway, i have to add this export to gnu-versioned as well, so if it's ok with

you I'll check in this modified patch along with the gnu-versioned-namespace

one.



best,

Benjamin


[Bug libstdc++/54314] [4.8 Regression] undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream, std::allocator >'

2012-09-26 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54314



--- Comment #16 from Benjamin Kosnik  2012-09-27 
00:05:07 UTC ---

Author: bkoz

Date: Thu Sep 27 00:05:03 2012

New Revision: 191788



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191788

Log:

2012-09-26  Benjamin Kosnik  



   PR libstdc++/54314

   * config/abi/pre/gnu.ver: Add vtable exports.

   * config/abi/pre/gnu-versioned-namespace.ver: Same.



Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver

trunk/libstdc++-v3/config/abi/pre/gnu.ver


[Bug libstdc++/54314] [4.8 Regression] undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream, std::allocator >'

2012-09-27 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54314



Benjamin Kosnik  changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #17 from Benjamin Kosnik  2012-09-27 
17:05:35 UTC ---

Fixed.


[Bug c++/54731] New: arm-elf/arm-eabisim crosses fails in make-check due to undefined LFE refrences

2012-09-27 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54731



 Bug #: 54731

   Summary: arm-elf/arm-eabisim crosses fails in make-check due to

undefined LFE refrences

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: b...@gcc.gnu.org





trunk sources, host is x86/linux, target is cross arm-elf or arm-eabisim has a

bunch of fails in libstdc++ due to unresolved references to ".LFE1602" etc

references.



These are keyed to out-of-line destructors (_ZThn8_NSt* mangled symbols) in:



strstream.o

sstream.o

iostream-inst.o

fstream-inst.o



this causes failed linking in the check-c++, check-libstdc++ testsuite.


[Bug debug/54731] [4.8 regression] arm-elf/arm-eabisim crosses fails in make-check due to undefined LFE references: corrupt debug_line tables

2012-09-28 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54731



--- Comment #2 from Benjamin Kosnik  2012-09-29 
03:59:12 UTC ---

Confirmed, -g0 and the problem is not present, -g1 and yes.


[Bug debug/54731] [4.8 regression] arm-elf/arm-eabisim crosses fails in make-check due to undefined LFE references: corrupt debug_line tables

2012-10-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54731



Benjamin Kosnik  changed:



   What|Removed |Added



   Severity|normal  |major


[Bug c++/54968] New: spurious constexpr error, 20_util/tuple/comparison_operators/35480_neg.cc

2012-10-18 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54968



 Bug #: 54968

   Summary: spurious constexpr error,

20_util/tuple/comparison_operators/35480_neg.cc

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: b...@gcc.gnu.org





Created attachment 28477

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28477

pre-processed test



While finishing up the latest constexpr hacking, I noticed that tuple's

relational operators now give a bogus excess error:



FAIL: 20_util/tuple/comparison_operators/35480_neg.cc (test for excess errors)

Excess errors:

/mnt/share/bld/gcc.git-trunk/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:824:5:

error: body of constexpr function 'constexpr bool std::operator<(const

std::tuple<_Elements ...>&, const std::tuple<_Elements ...>&) [with _TElements

= {int}; _UElements = {int, int}]' not a return-statement

/mnt/share/bld/gcc.git-trunk/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:813:5:

error: body of constexpr function 'constexpr bool std::operator==(const

std::tuple<_Elements ...>&, const std::tuple<_Elements ...>&) [with _TElements

= {int}; _UElements = {int, int}]' not a return-statement





but this seems unlikely, given:



  template

constexpr bool

operator==(const tuple<_TElements...>& __t,

   const tuple<_UElements...>& __u)

{

  typedef tuple<_TElements...> _Tp;

  typedef tuple<_UElements...> _Up;

  return (__tuple_compare::value - tuple_size<_Up>::value,

  0, tuple_size<_Tp>::value, _Tp, _Up>::__eq(__t, __u));

}



and more importantly, the passing of the positive test here:

libstdc++-v3/testsuite/20_util/tuple/comparison_operators/constexpr.cc



Reasonable people may disagree, and hey, it's late.


[Bug c++/55039] New: std::addressof vs. constexpr

2012-10-23 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55039



 Bug #: 55039

   Summary: std::addressof vs. constexpr

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: enhancement

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: b...@gcc.gnu.org





If std::addressof can be made constexpr, then the iterator member functions of

std::array should be able to be made constexpr as well (begin/end, etc.)



As it stands, std::addressof calls into std::__addressof, which has a

reinterpret_cast, killing constexpr. 



If some variation of



http://gcc.gnu.org/onlinedocs/gcc/Return-Address.html



could be extended to support this, then the new intrinsic could be used to

implement std::addressof.


[Bug libstdc++/55041] New: prettyprinting/shared_ptr & cxx11 fails on some platforms

2012-10-23 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55041



 Bug #: 55041

   Summary: prettyprinting/shared_ptr & cxx11 fails on some

platforms

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: libstdc++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: b...@gcc.gnu.org





I'm seeing fails on some linux in prettyprinting, but the logs look ok, and

there are no real changes in the primary sources as far as I can tell.



See:

http://gcc.gnu.org/ml/libstdc++/2012-10/msg00149.html


[Bug libstdc++/55028] _GLIBCXX_DEBUG is broken when using v7 namespace

2012-11-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55028



Benjamin Kosnik  changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2012-11-05

 CC||bkoz at gcc dot gnu.org

 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org

   |gnu.org |

 Ever Confirmed|0   |1



--- Comment #5 from Benjamin Kosnik  2012-11-05 
19:19:26 UTC ---



vtable exported needed too, FYI. fixed on trunk, porting to 4.7.x.


[Bug libstdc++/55028] _GLIBCXX_DEBUG is broken when using v7 namespace

2012-11-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55028



--- Comment #6 from Benjamin Kosnik  2012-11-05 
21:01:15 UTC ---

Author: bkoz

Date: Mon Nov  5 21:01:08 2012

New Revision: 193185



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193185

Log:

2012-11-05  Benjamin Kosnik  

Oleg Smolsky  



PR libstdc++/55028

*  config/abi/pre/gnu-versioned-namespace.ver: Add symbols.

* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.



Added:

   

trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc

Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver


[Bug libstdc++/55028] _GLIBCXX_DEBUG is broken when using v7 namespace

2012-11-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55028



--- Comment #7 from Benjamin Kosnik  2012-11-05 
21:52:32 UTC ---

Author: bkoz

Date: Mon Nov  5 21:52:28 2012

New Revision: 193190



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193190

Log:

2012-11-05  Benjamin Kosnik  

Oleg Smolsky  



PR libstdc++/55028

*  config/abi/pre/gnu-versioned-namespace.ver: Add symbols.

* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.





Modified:

branches/gcc-4_7-branch/libstdc++-v3/ChangeLog

   

branches/gcc-4_7-branch/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver


[Bug libstdc++/55028] _GLIBCXX_DEBUG is broken when using v7 namespace

2012-11-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55028



--- Comment #8 from Benjamin Kosnik  2012-11-05 
21:53:40 UTC ---

Author: bkoz

Date: Mon Nov  5 21:53:31 2012

New Revision: 193191



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193191

Log:

2012-11-05  Benjamin Kosnik  

Oleg Smolsky  



PR libstdc++/55028

*  config/abi/pre/gnu-versioned-namespace.ver: Add symbols.

* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.





Added:

   

branches/gcc-4_7-branch/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc


[Bug libstdc++/55028] _GLIBCXX_DEBUG is broken when using v7 namespace

2012-11-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55028



--- Comment #9 from Benjamin Kosnik  2012-11-05 
21:54:29 UTC ---



Fixed in trunk and 4.7


[Bug libstdc++/54482] failures in static linking with libstdc++, due to versioned symbols

2012-11-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54482



--- Comment #5 from Benjamin Kosnik  2012-11-05 
23:42:36 UTC ---

Author: bkoz

Date: Mon Nov  5 23:42:32 2012

New Revision: 193195



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193195

Log:

2012-11-05  Benjamin Kosnik  



PR libstdc++/28811

PR libstdc++/54482

* configure.ac (glibcxx_lt_pic_flag,

  glibcxx_compiler_pic_flag,

  glibcxx_compiler_shared_flag): New. Use them.

(lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.

(pic_mode): Set to default.

(PIC_CXXFLAGS): Remove.

* Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.

* libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and

  glibcxx_compiler_shared_flag. Comment.

* src/c++11/Makefile.am: Same.

* src/c++98/Makefile.am: Same.

* src/Makefile.am: Use glibcxx_compiler_pic_flag.



* Makefile.in: Regenerated.

* aclocal.m4: Same.

* configure: Same.

* doc/Makefile.in: Same.

* include/Makefile.in: Same.

* libsupc++/Makefile.in: Same.

* po/Makefile.in: Same.

* python/Makefile.in: Same.

* src/Makefile.in: Same.

* src/c++11/Makefile.in: Same.

* src/c++98/Makefile.in: Same.

* testsuite/Makefile.in: Same.



* src/c++11/compatibility-atomic-c++0x.cc: Use

  _GLIBCXX_SHARED instead of PIC to designate shared-only

  code blocks.

* src/c++11/compatibility-c++0x.cc: Same.

* src/c++11/compatibility-thread-c++0x.cc: Same.

* src/c++98/compatibility-list-2.cc: Same.

* src/c++98/compatibility.cc: : Same.



* testsuite/17_intro/shared_with_static_deps.cc: New.



* doc/xml/manual/build_hacking.xml: Separate configure from

make/build issues, add build details.





Added:

   

branches/gcc-4_7-branch/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc

Modified:

branches/gcc-4_7-branch/libstdc++-v3/ChangeLog

branches/gcc-4_7-branch/libstdc++-v3/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/configure

branches/gcc-4_7-branch/libstdc++-v3/configure.ac

branches/gcc-4_7-branch/libstdc++-v3/doc/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/doc/xml/manual/build_hacking.xml

branches/gcc-4_7-branch/libstdc++-v3/include/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/libsupc++/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/libsupc++/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/po/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/python/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/src/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/src/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/Makefile.in

   

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-c++0x.cc

   

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc

branches/gcc-4_7-branch/libstdc++-v3/src/c++98/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/src/c++98/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/src/c++98/compatibility-list-2.cc

branches/gcc-4_7-branch/libstdc++-v3/src/c++98/compatibility.cc

branches/gcc-4_7-branch/libstdc++-v3/testsuite/Makefile.in


[Bug libstdc++/28811] --with-pic vs static libraries and libstdc++

2012-11-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28811



--- Comment #21 from Benjamin Kosnik  2012-11-05 
23:42:36 UTC ---

Author: bkoz

Date: Mon Nov  5 23:42:32 2012

New Revision: 193195



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193195

Log:

2012-11-05  Benjamin Kosnik  



PR libstdc++/28811

PR libstdc++/54482

* configure.ac (glibcxx_lt_pic_flag,

  glibcxx_compiler_pic_flag,

  glibcxx_compiler_shared_flag): New. Use them.

(lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.

(pic_mode): Set to default.

(PIC_CXXFLAGS): Remove.

* Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.

* libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and

  glibcxx_compiler_shared_flag. Comment.

* src/c++11/Makefile.am: Same.

* src/c++98/Makefile.am: Same.

* src/Makefile.am: Use glibcxx_compiler_pic_flag.



* Makefile.in: Regenerated.

* aclocal.m4: Same.

* configure: Same.

* doc/Makefile.in: Same.

* include/Makefile.in: Same.

* libsupc++/Makefile.in: Same.

* po/Makefile.in: Same.

* python/Makefile.in: Same.

* src/Makefile.in: Same.

* src/c++11/Makefile.in: Same.

* src/c++98/Makefile.in: Same.

* testsuite/Makefile.in: Same.



* src/c++11/compatibility-atomic-c++0x.cc: Use

  _GLIBCXX_SHARED instead of PIC to designate shared-only

  code blocks.

* src/c++11/compatibility-c++0x.cc: Same.

* src/c++11/compatibility-thread-c++0x.cc: Same.

* src/c++98/compatibility-list-2.cc: Same.

* src/c++98/compatibility.cc: : Same.



* testsuite/17_intro/shared_with_static_deps.cc: New.



* doc/xml/manual/build_hacking.xml: Separate configure from

make/build issues, add build details.





Added:

   

branches/gcc-4_7-branch/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc

Modified:

branches/gcc-4_7-branch/libstdc++-v3/ChangeLog

branches/gcc-4_7-branch/libstdc++-v3/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/configure

branches/gcc-4_7-branch/libstdc++-v3/configure.ac

branches/gcc-4_7-branch/libstdc++-v3/doc/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/doc/xml/manual/build_hacking.xml

branches/gcc-4_7-branch/libstdc++-v3/include/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/libsupc++/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/libsupc++/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/po/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/python/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/src/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/src/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/Makefile.in

   

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-c++0x.cc

   

branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc

branches/gcc-4_7-branch/libstdc++-v3/src/c++98/Makefile.am

branches/gcc-4_7-branch/libstdc++-v3/src/c++98/Makefile.in

branches/gcc-4_7-branch/libstdc++-v3/src/c++98/compatibility-list-2.cc

branches/gcc-4_7-branch/libstdc++-v3/src/c++98/compatibility.cc

branches/gcc-4_7-branch/libstdc++-v3/testsuite/Makefile.in


[Bug libstdc++/28811] --with-pic vs static libraries and libstdc++

2012-11-05 Thread bkoz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28811



--- Comment #22 from Benjamin Kosnik  2012-11-05 
23:43:32 UTC ---



Fixed on trunk and 4.7 branch


[Bug libstdc++/46869] FAIL: 20_util/enable_shared_from_this/cons/constexpr.cc scan-assembler-not _ZNSt23enable_shared_from_thisIiEC2Ev

2010-12-16 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46869

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org

--- Comment #6 from Benjamin Kosnik  2010-12-16 
22:49:23 UTC ---

Does this still happen if -g is removed? (Via -g0)

-benjamin


[Bug libstdc++/46869] FAIL: 20_util/enable_shared_from_this/cons/constexpr.cc scan-assembler-not _ZNSt23enable_shared_from_thisIiEC2Ev

2010-12-16 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46869

--- Comment #7 from Benjamin Kosnik  2010-12-16 
22:51:54 UTC ---

this might be an int-long mangling issue on s390 (ie swap i for l)


[Bug libstdc++/47145] [4.6 Regression] cross-compilation fails with "cannot check for file existence when cross compiling"

2011-01-04 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47145

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org

--- Comment #11 from Benjamin Kosnik  2011-01-04 
17:27:36 UTC ---

Kai looks good, sorry about the cross breakage: please check in your fix. My
connectivity is somewhat flaky till the 5th.

What's being checked for (pure form) is xsltproc + specific version of the HTML
style sheets, which should be local and vendor supplied if possible so that the
toolchain doesn't fall down later in the process.

What's being checked for now is the existence of the stylesheet file. This
seems reasonable at present time to get over the hump wrt doc rules, but should
be made more robust later. 

FWIW, Doc patches for release are reasonable for stage 3 or whatever we call
right after stage 1 now, just like spec patches. Chill.


[Bug libstdc++/36104] [4.3/4.4/4.5/4.6 Regression] gnu-versioned-namespace is broken

2011-01-14 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36104

--- Comment #9 from Benjamin Kosnik  2011-01-15 
00:27:14 UTC ---
Author: bkoz
Date: Sat Jan 15 00:27:10 2011
New Revision: 168831

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168831
Log:
2011-01-14  Benjamin Kosnik  

PR libstdc++/36104
* include/Makefile.am (bits_sup_headers, stamp-bits-sup): New.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.am (std_HEADERS, bits_HEADERS): New.
(install-stdHEADERS, install-bitsHEADERS): New.
* libsupc++/Makefile.in: Regenerate.

* include/bits/c++config: Update for inline namespaces.
* libsupc++/cxxabi-forced.h: To...
* libsupc++/cxxabi_forced.h: ...this.
* libsupc++/hash_bytes.h: Separate file.
* libsupc++/typeinfo: Use it.
* libsupc++/exception: Adjust for bits subdirectory.
* libsupc++/eh_aux_runtime.cc: Same.
* libsupc++/eh_ptr.cc: Same.
* libsupc++/new_op.cc: Same.
* libsupc++/exception_defines.h: Same.
* libsupc++/nested_exception.h: Same.
* libsupc++/eh_terminate.cc: Same.
* libsupc++/vec.cc: Same.
* libsupc++/vterminate.cc: Same.
* libsupc++/exception_ptr.h: Same.
* libsupc++/eh_personality.cc: Same.
* libsupc++/eh_call.cc: Same.
* libsupc++/new_opnt.cc: Same.
* libsupc++/hash_bytes.cc: Same.
* config/cpu/arm/cxxabi_tweaks.h: Same.
* config/cpu/generic/cxxabi_tweaks.h: Same.
* libsupc++/cxxabi.h: Same. Consolidate _GLIBCXX_NOTHROW defines.
* include/std/bitset: Same.
* include/ext/vstring.tcc: Same.
* include/bits/hashtable.h: Same.
* include/bits/functional_hash.h: Same.
* include/bits/hashtable_policy.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/istream.tcc: Same.
* include/bits/ostream.tcc: Same.
* include/bits/algorithmfwd.h: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/ostream_insert.h: Same.
* include/bits/fstream.tcc: Same.
* include/bits/functexcept.h: Same.

* doc/doxygen/user.cfg.in: Adjust names.

* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.


Added:
trunk/libstdc++-v3/libsupc++/cxxabi_forced.h
  - copied, changed from r168824,
trunk/libstdc++-v3/libsupc++/cxxabi-forced.h
trunk/libstdc++-v3/libsupc++/hash_bytes.h
Removed:
trunk/libstdc++-v3/libsupc++/cxxabi-forced.h
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
trunk/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
trunk/libstdc++-v3/doc/doxygen/user.cfg.in
trunk/libstdc++-v3/include/Makefile.am
trunk/libstdc++-v3/include/Makefile.in
trunk/libstdc++-v3/include/bits/algorithmfwd.h
trunk/libstdc++-v3/include/bits/basic_string.h
trunk/libstdc++-v3/include/bits/basic_string.tcc
trunk/libstdc++-v3/include/bits/c++config
trunk/libstdc++-v3/include/bits/fstream.tcc
trunk/libstdc++-v3/include/bits/functexcept.h
trunk/libstdc++-v3/include/bits/functional_hash.h
trunk/libstdc++-v3/include/bits/hashtable.h
trunk/libstdc++-v3/include/bits/hashtable_policy.h
trunk/libstdc++-v3/include/bits/istream.tcc
trunk/libstdc++-v3/include/bits/ostream.tcc
trunk/libstdc++-v3/include/bits/ostream_insert.h
trunk/libstdc++-v3/include/ext/vstring.tcc
trunk/libstdc++-v3/include/std/bitset
trunk/libstdc++-v3/libsupc++/Makefile.am
trunk/libstdc++-v3/libsupc++/Makefile.in
trunk/libstdc++-v3/libsupc++/cxxabi.h
trunk/libstdc++-v3/libsupc++/eh_aux_runtime.cc
trunk/libstdc++-v3/libsupc++/eh_call.cc
trunk/libstdc++-v3/libsupc++/eh_personality.cc
trunk/libstdc++-v3/libsupc++/eh_ptr.cc
trunk/libstdc++-v3/libsupc++/eh_terminate.cc
trunk/libstdc++-v3/libsupc++/exception
trunk/libstdc++-v3/libsupc++/exception_defines.h
trunk/libstdc++-v3/libsupc++/exception_ptr.h
trunk/libstdc++-v3/libsupc++/hash_bytes.cc
trunk/libstdc++-v3/libsupc++/nested_exception.h
trunk/libstdc++-v3/libsupc++/new_op.cc
trunk/libstdc++-v3/libsupc++/new_opnt.cc
trunk/libstdc++-v3/libsupc++/typeinfo
trunk/libstdc++-v3/libsupc++/vec.cc
trunk/libstdc++-v3/libsupc++/vterminate.cc
trunk/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc


[Bug libstdc++/36104] [4.3/4.4/4.5/4.6 Regression] gnu-versioned-namespace is broken

2011-01-18 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36104

--- Comment #11 from Benjamin Kosnik  2011-01-18 
19:01:01 UTC ---

yes. debug mode + versioning still in progress. expect to wrap that up asap


[Bug libstdc++/36104] [4.3/4.4/4.5/4.6 Regression] gnu-versioned-namespace is broken

2011-01-19 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36104

--- Comment #12 from Benjamin Kosnik  2011-01-19 
20:00:52 UTC ---
Author: bkoz
Date: Wed Jan 19 20:00:47 2011
New Revision: 169021

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169021
Log:
2011-01-19  Benjamin Kosnik  

PR libstdc++/36104 part two
* include/bits/hashtable.h: Revert to non-nested macro usage.
* include/bits/hashtable_policy.h: Same.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/hashtable.h
trunk/libstdc++-v3/include/bits/hashtable_policy.h


[Bug libstdc++/45149] [C++0x] constexpr libstdc++ issues

2011-01-20 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45149

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0

--- Comment #2 from Benjamin Kosnik  2011-01-20 
18:05:48 UTC ---

Closing this to reflect mainline status for constexpr. Now this is tracked in
the draft + constexpr papers, and in bugzilla with the feature
request/diagnostic enhancements pr.


[Bug c++/45923] constexpr diagnostics, more more

2011-01-20 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45923

--- Comment #11 from Benjamin Kosnik  2011-01-20 
19:27:27 UTC ---

Know this is not high-priority bug for 4.6.0 but it should be as constexpr is a
new feature and the initial QoI for diagnostics is important for user's first
impressions. Diagnostics are lagging, as this is a new form of C++ diagnostic:
there are some interesting opportunities here. We can do better!!

I've given some examples, but I'm  not quite sure what is required and what
Jason and Gaby are thinking in terms of how this stuff should be architected.
Thoughts or sketches guys?

If a plan can be outlined here in bugzilla, then perhaps it could be split into
smaller parts and independently executed?


[Bug libstdc++/36104] [4.3/4.4/4.5/4.6 Regression] gnu-versioned-namespace is broken

2011-01-20 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36104

--- Comment #13 from Benjamin Kosnik  2011-01-20 
20:04:29 UTC ---
Author: bkoz
Date: Thu Jan 20 20:04:25 2011
New Revision: 169063

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169063
Log:
2011-01-20  Benjamin Kosnik  

PR libstdc++/36104 part three
* src/hashtable_c++0x.cc: Adjust namespace macros.
* testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
* config/abi/pre/gnu-versioned-namespace.ver: Update.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
trunk/libstdc++-v3/src/hashtable_c++0x.cc
trunk/libstdc++-v3/testsuite/util/testsuite_rvalref.h


[Bug libstdc++/36104] [4.3/4.4/4.5/4.6 Regression] gnu-versioned-namespace is broken

2011-01-20 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36104

--- Comment #14 from Benjamin Kosnik  2011-01-20 
23:41:28 UTC ---
Author: bkoz
Date: Thu Jan 20 23:41:24 2011
New Revision: 169072

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169072
Log:
2011-01-20  Benjamin Kosnik  

PR libstdc++/36104
* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.


Modified:
trunk/libgomp/ChangeLog
trunk/libgomp/Makefile.in
trunk/libgomp/acinclude.m4
trunk/libgomp/aclocal.m4
trunk/libgomp/configure
trunk/libgomp/testsuite/Makefile.in


[Bug pch/47430] [4.6 Regression] Random PCH related bootstrap failures on powerpc64-linux

2011-01-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47430

--- Comment #2 from Benjamin Kosnik  2011-01-24 
18:53:14 UTC ---

4) is not possible, as stdc++.h is included in precompiled/stdtr1c++.h and the
extension PCH. (ie, chained pches.) We don't want to re-order this, and build
stdtr1c++.h without stdc++.h, as then PCH file sizes for
stdtr1c++.h.gch/extc++.h.gch will balloon massively.

You can work around this with --disable-libstdcxx-pch at configure time for
PPC.

Long term solution IMHO is to make .gch files smaller.


[Bug c++/47451] New: [c++0x] outer inlined namespace vs. inner nested namespace

2011-01-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47451

   Summary: [c++0x] outer inlined namespace vs. inner nested
namespace
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: b...@gcc.gnu.org


Created attachment 23114
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23114
test for nested inline namespace

Interesting g++ behavior I ran into while revamping "versioning with inline
namespaces", which I believe to be a bug.

Compiling the attached as so:

$bin/H-x86_64-gcc-trunk.20110124/bin/g++ -c -g -O2 -std=gnu++0x
inline_ns_trouble.cc

ok, great.

adding an inlined namespace however gives error:
%$bin/H-x86_64-gcc-trunk.20110124/bin/g++ -DBUG -c -g -O2 -std=gnu++0x
inline_ns_trouble.cc
inline_ns_trouble.cc:68:14: error: ‘treat_as_floating_point’ is not a template
inline_ns_trouble.cc:70:7: error: explicit specialization of non-template
‘std::chrono::treat_as_floating_point’


[Bug libstdc++/16896] Use of non-reserved names in stl_list.h

2011-01-28 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16896

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org

--- Comment #11 from Benjamin Kosnik  2011-01-28 
09:36:15 UTC ---

FYI: this does fix it, and without symbol aliasing (so I guess it is supported
on more platforms.)

However, all these _List_node_base definitions are the same, the same, the
same.  

A cleaner fix is to move __List_node_base out of std:: and into std::__detail
to remove any lingering ADL issues, and to not include it in the inlined
namespace for debug/parallel/profile etc mode.

This had been hard to do in the past due to the complicated way the inlined
namespaces were constructed. However, I have to fix this anyway for 36104 and
so choose to clean this up as part of that.

best,
benjamin


[Bug libstdc++/36104] [4.3/4.4/4.5/4.6 Regression] gnu-versioned-namespace is broken

2011-01-28 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36104

--- Comment #15 from Benjamin Kosnik  2011-01-28 
09:51:23 UTC ---

Patches 1-3 restore gcc-4.2 behavior. Configure works, the library builds, most
all of the tests pass regression, etc.

Unfortunately, this is still annoyingly wrong on close inspection. Namespaces
nested within std containing definitions will be mis-versioned. Using
versioning + modes fails. 

The inline namespace code, which unfortunately includes most of the macros used
to define namespaces in every libstdc++ header, was done as part of the initial
work for this feature, nee namespace association. Then changes were made,
nesting was made de rigeur, and the original macros were pushed and squeezed
into submission. Yet more modes were added: parallel, profile. 

Yet another level of nesting was added for versioning, overloading the
namespace macros with another condition.

C++0x support starts to partition the std:: namespace into finer bits: chrono,
regex, etc. All of these nested namespaces + current macros are wrong.

Patch 4 fixes these issues, and provides a saner infrastructure for future
debug/profile/parallel work.


[Bug libstdc++/36104] [4.3/4.4/4.5/4.6 Regression] gnu-versioned-namespace is broken

2011-01-30 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36104

--- Comment #16 from Benjamin Kosnik  2011-01-30 
22:39:49 UTC ---
Author: bkoz
Date: Sun Jan 30 22:39:36 2011
New Revision: 169421

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169421
Log:
2011-01-30  Benjamin Kosnik  

PR libstdc++/36104 part four
* include/bits/c++config (_GLIBCXX_STD): Remove.
(_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
(_GLIBCXX_P): Now _GLIBCXX_STD_A.
(_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
 _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
(_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
 _GLIBCXX_INLINE_PROFILE): Remove.
(_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
(_GLIBCXX_END_NAMESPACE): Remove.
(_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
(_GLIBCXX_END_NESTED_NAMESPACE): Remove.
(_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
(_GLIBCXX_END_NAMESPACE_ALGO): Add.
(_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
(_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
(_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
(_GLIBCXX_END_NAMESPACE_VERSION): Add.
(_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
(_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
(_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
* include/*: Use new macros for namespace scope.
* config/*: Same.
* src/*: Same.

* src/Makefile.am (sources): Remove debug_list.cc, add
compatibility-debug_list-2.cc.
(parallel_sources): Remove parallel_list.cc, add
compatibility-parallel_list-2.cc.
(compatibility-parallel_list-2.[o,lo]): New rule.
* src/Makefile.in: Regenerate.
* src/debug_list.cc: Remove.
* src/parallel_list.cc: Remove.
* src/compatibility-list-2.cc: New.
* src/compatibility-debug_list-2.cc: New.
* src/compatibility-parallel_list-2.cc: New.

* doc/doxygen/user.cfg.in: Adjust macros.

* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
* testsuite/20_util/declval/requirements/1_neg.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
* testsuite/20_util/forward/c_neg.cc: Same.
* testsuite/20_util/forward/f_neg.cc: Same.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/forward_list/capacity/1.cc: Same.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Same.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Same.
* testsuite/23_containers/list/capacity/29134.cc: Same.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
* testsuite/25_algorithms/sort/35588.cc: Same.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
* testsuite/ext/profile/mutex_extensions_neg.cc: Same.
* testsuite/ext/profile/profiler_algos.cc: Same.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
* testsuite/tr1/2_general_utilities/sha

[Bug libstdc++/47560] [4.6 Regression] FAIL: abi/header_cxxabi.c (test for excess errors)

2011-02-01 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47560

--- Comment #2 from Benjamin Kosnik  2011-02-01 
17:11:25 UTC ---
Author: bkoz
Date: Tue Feb  1 17:11:17 2011
New Revision: 169491

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169491
Log:
2011-02-01  Benjamin Kosnik  

PR libstdc++/47560
* config/os/hpux/os_defines.h: Remove use of macros on namespace.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/os/hpux/os_defines.h


[Bug libstdc++/47560] [4.6 Regression] FAIL: abi/header_cxxabi.c (test for excess errors)

2011-02-01 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47560

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |

--- Comment #3 from Benjamin Kosnik  2011-02-01 
17:18:16 UTC ---
Mine. Please test.


[Bug libstdc++/47560] [4.6 Regression] FAIL: abi/header_cxxabi.c (test for excess errors)

2011-02-07 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47560

--- Comment #6 from Benjamin Kosnik  2011-02-07 
20:06:08 UTC ---
Author: bkoz
Date: Mon Feb  7 20:06:03 2011
New Revision: 169897

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169897
Log:
2011-02-07  Benjamin Kosnik  

PR libstdc++/47560 try two
* config/os/hpux/os_defines.h: Guard for C++.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/os/hpux/os_defines.h


[Bug c++/47693] New: warning flag for emission of vague linkage bits

2011-02-10 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47693

   Summary: warning flag for emission of vague linkage bits
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: b...@gcc.gnu.org


Request for -Wvague-linkage. 

This flag would warn for the lack of key function, etc that makes
typeinfo/vtable information emitted in every TU for polymorphic classes

  class regex_error
  : public std::runtime_error
  {
  public:
explicit
regex_error(regex_constants::error_type __ecode)
: std::runtime_error("regex_error"), _M_code(__ecode)
{ }

regex_constants::error_type
code() const
{ return _M_code; }

  protected:
regex_constants::error_type _M_code;
  };


It's hard to scan through the libstdc++ sources for other places where
maintainers might want to know exact linkage. However, the compiler already
knows this.


[Bug c++/47865] [4.6 Regression] exception_defines.h: No such file or directory

2011-02-23 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47865

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org

--- Comment #3 from Benjamin Kosnik  2011-02-24 
01:51:36 UTC ---

Agreed on invalid.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-23 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.6.0

--- Comment #1 from Benjamin Kosnik  2011-02-24 
07:33:56 UTC ---
Mine.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #3 from Benjamin Kosnik  2011-02-24 
18:53:08 UTC ---

Expecting this as exported as fundamental_type_info, see in emit_support_tinfos
via rtti.c:1461:

  static tree *const fundamentals[] =
  {
&void_type_node,
&boolean_type_node,
&wchar_type_node, &char16_type_node, &char32_type_node,
&char_type_node, &signed_char_type_node, &unsigned_char_type_node,
&short_integer_type_node, &short_unsigned_type_node,
&integer_type_node, &unsigned_type_node,
&long_integer_type_node, &long_unsigned_type_node,
&long_long_integer_type_node, &long_long_unsigned_type_node,
&int128_integer_type_node, &int128_unsigned_type_node,
&float_type_node, &double_type_node, &long_double_type_node,
&dfloat32_type_node, &dfloat64_type_node, &dfloat128_type_node,
&nullptr_type_node,
0
  };

Which should take care of this, given the libstdc++ ver patch to export the
symbols. However, none is emitted when building
libsupc++/fundamental_type_info.o.

Ouch.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #4 from Benjamin Kosnik  2011-02-24 
18:54:06 UTC ---
Created attachment 23457
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23457
typeinfo exports for float128


[Bug libstdc++/46922] Missing exported symbols from libstdc++

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46922

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #4 from Benjamin Kosnik  2011-02-24 
18:59:48 UTC ---

Fixed in 4.6.0


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #5 from Benjamin Kosnik  2011-02-24 
19:09:33 UTC ---

RE comment 2. 

Yes, agreed full support is a ways off. However, typeinfo support is ostensibly
already there, just not emitted. This is a bug, and not something users can
work around. IMHO it should be fixed, and since there are already 4.6.0
typeinfo exports this seems like an opportune time to do it.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #7 from Benjamin Kosnik  2011-02-24 
19:28:02 UTC ---

ack, I mis-read rtti.c, these are the decimal exports, ie decimal128  not
float128.

Jakub you are correct these are exports as LD symbols via ld versioning via
inclusion. I missed that!

%find . -type f | xargs grep _ZTIg
./powerpc-linux-gnu/baseline_symbols.txt:OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
./sparc-linux-gnu/baseline_symbols.txt:OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
./powerpc64-linux-gnu/32/baseline_symbols.txt:OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
./powerpc64-linux-gnu/baseline_symbols.txt:OBJECT:16:_ZTIg@@CXXABI_LDBL_1.3
./s390-linux-gnu/baseline_symbols.txt:OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
./s390x-linux-gnu/baseline_symbols.txt:OBJECT:16:_ZTIg@@CXXABI_LDBL_1.3
./alpha-linux-gnu/baseline_symbols.txt:OBJECT:16:_ZTIg@@CXXABI_LDBL_1.3

sparc may be questionable in reality as it is inferred on alpha.


[Bug libstdc++/47145] configure test for docbook-xsl-ns stylesheets uses hardcoded path

2011-03-01 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47145

--- Comment #22 from Benjamin Kosnik  2011-03-01 
21:31:57 UTC ---

Here's a plan. 

Remove as per #4

-AC_CHECK_FILE([/usr/share/sgml/docbook/xsl-ns-stylesheets/VERSION],
- [glibcxx_stylesheets=yes], [glibcxx_stylesheets=no])

replace with new

_GLIBCXX_ENABLE_DOCS

in acinclude.m4 that

sets 
XSL_STYLE_DIR, SCHEMA_FLAGS
and conditionally exports them in 

doc/Makefile.am

as per #12, #18, #19

echo '' | xsltproc --noout --nonet \
http://docbook.sourceforge.net/release/xsl-ns/current/xhtml-1_1/docbook.xsl -

is the enable flag


[Bug libstdc++/47145] configure test for docbook-xsl-ns stylesheets uses hardcoded path

2011-03-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47145

--- Comment #23 from Benjamin Kosnik  2011-03-02 
17:43:54 UTC ---
Created attachment 23517
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23517
what debian is currently using

from Matthias Klose


[Bug c++/57581] New: abi_tag vs. demangler

2013-06-10 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57581

Bug ID: 57581
   Summary: abi_tag vs. demangler
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bkoz at gcc dot gnu.org

Some member functions in libstdc++ have been decorated with the "abi_tag"
attribute.

Any abi_tag attribution renders these names unable to be demangled.

For instance:

  iterator
  erase(const_iterator __first, const_iterator __last)
  { return _M_t.erase(__first, __last); }

For set turns from:
_ZNSt3setIiSt4lessIiESaIiEE5eraseESt23_Rb_tree_const_iteratorIiES5_

into:
 _ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiES5_


The first can be de-mangled into:
std::set, std::allocator
>::erase(std::_Rb_tree_const_iterator, std::_Rb_tree_const_iterator)

The second, not so much.


[Bug c++/57581] abi_tag vs. demangler

2013-06-11 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57581

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Benjamin Kosnik  ---
confirmed, it works, thanks!


[Bug c++/50234] New: internal compiler error: in cxx_eval_component_reference, at cp/semantics.c:6527

2011-08-29 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50234

 Bug #: 50234
   Summary: internal compiler error: in
cxx_eval_component_reference, at cp/semantics.c:6527
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: b...@gcc.gnu.org


Created attachment 25136
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25136
pre-processed g++, v today, -std=gnu++0x

while hacking constexpr


[Bug c++/50234] internal compiler error: in cxx_eval_component_reference, at cp/semantics.c:6527

2011-08-30 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50234

--- Comment #4 from Benjamin Kosnik  2011-08-30 
20:48:22 UTC ---

HA! You rule, thanks.


[Bug libstdc++/48698] gnu-versioned-namespace problems

2011-09-22 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48698

--- Comment #2 from Benjamin Kosnik  2011-09-23 
03:47:55 UTC ---
Created attachment 25346
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25346
patch


You are correct Here's a patch that fixes it.

The real issue is that now, linking libstdc++ is required for stage 1. To solve
the issue of libstdc++ with versioned namespaces being built with this
requirement mandates versioned namespaces changing the SO version to 7.

This patch does this.

However, it is not configurable. Instead, it is hard-wired. I plan on fixing
this in a subsequent patch. This will mean configuring with
--enable-symvers=gnu-namespace triggers libstdc++.so == 7. Thoughts,
suggestions, or comments on this approach?

-benjamin


[Bug libstdc++/48698] gnu-versioned-namespace problems

2011-09-26 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48698

--- Comment #3 from Benjamin Kosnik  2011-09-27 
00:03:00 UTC ---
Author: bkoz
Date: Tue Sep 27 00:02:54 2011
New Revision: 179221

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179221
Log:
2011-09-26  Benjamin Kosnik  

PR libstdc++/48698
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here.
* configure.ac: Move AC_SUBST of libtool_VERSION past call to
GLIBCXX_ENABLE_SYMVERS.
* configure: Regenerate.
* include/bits/c++config: Use __7 as versioned namespace name.
* config/abi/pre/gnu-versioned-namespace.ver: Change mangling as
per above.
* include/c_global/cwchar: Adjust nested namespaces.
* testsuite/20_util/bind/48698.cc: Add test case.
* testsuite/ext/profile/mutex_extensions_neg.cc: Change line number.

Added:
trunk/libstdc++-v3/testsuite/20_util/bind/48698.cc
  - copied, changed from r179220,
trunk/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/acinclude.m4
trunk/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
trunk/libstdc++-v3/configure
trunk/libstdc++-v3/configure.ac
trunk/libstdc++-v3/include/bits/c++config
trunk/libstdc++-v3/include/c_global/cwchar
trunk/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc


[Bug libstdc++/48698] gnu-versioned-namespace problems

2011-10-05 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48698

--- Comment #4 from Benjamin Kosnik  2011-10-05 
23:10:01 UTC ---
Author: bkoz
Date: Wed Oct  5 23:09:51 2011
New Revision: 179580

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179580
Log:
2011-10-05  Benjamin Kosnik  

PR libstdc++/48698
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here.
* configure.ac: Move AC_SUBST of libtool_VERSION past call to
GLIBCXX_ENABLE_SYMVERS.
* configure: Regenerate.
* include/bits/c++config: Use __7 as versioned namespace name.
* config/abi/pre/gnu-versioned-namespace.ver: Change mangling as
per above.
* include/c_global/cwchar: Adjust nested namespaces.
* testsuite/20_util/bind/48698.cc: Add test case.
* testsuite/ext/profile/mutex_extensions_neg.cc: Change line number.


Modified:
branches/gcc-4_6-branch/libstdc++-v3/ChangeLog
branches/gcc-4_6-branch/libstdc++-v3/acinclude.m4
   
branches/gcc-4_6-branch/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
branches/gcc-4_6-branch/libstdc++-v3/configure
branches/gcc-4_6-branch/libstdc++-v3/configure.ac
branches/gcc-4_6-branch/libstdc++-v3/include/bits/c++config
branches/gcc-4_6-branch/libstdc++-v3/include/bits/locale_facets.tcc
branches/gcc-4_6-branch/libstdc++-v3/include/c_global/cwchar
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc


[Bug libstdc++/48698] gnu-versioned-namespace problems

2011-10-05 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48698

Benjamin Kosnik  changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.6.2

--- Comment #5 from Benjamin Kosnik  2011-10-05 
23:12:07 UTC ---

Fixed.


[Bug libstdc++/48698] gnu-versioned-namespace problems

2011-10-05 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48698

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #6 from Benjamin Kosnik  2011-10-05 
23:12:52 UTC ---

Fixed.


[Bug libstdc++/49818] libsupc++ does not export __cxa_get_globals or related functions

2011-10-06 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49818

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org

--- Comment #2 from Benjamin Kosnik  2011-10-07 
00:49:06 UTC ---

__cxa_get_globals, etc. are exported from the library, so ABI is ok. But I see
your point, and have added forward declarations to bring cxxabi.h to bring the
API up to spec.

In addition, doing a quick scan of the export lists and cxxabi.h/etc. it
appears some new functionality has been added in the API without exporting it
in the ABI. Here are the fixes:

+CXXABI_1.3.6 {
+
+__cxa_allocate_dependent_exception;
+__cxa_free_dependent_exception;
+__cxa_get_exception_ptr;
+__cxa_call_terminate;

Note that __cxa_*_dependent_exception are not currently described in the EH
parts of the CXXABI. It seems likely that they should be.


[Bug libstdc++/49818] libsupc++ does not export __cxa_get_globals or related functions

2011-10-10 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49818

--- Comment #3 from Benjamin Kosnik  2011-10-10 
19:03:43 UTC ---
Author: bkoz
Date: Mon Oct 10 19:03:39 2011
New Revision: 179769

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179769
Log:
2011-10-10  Benjamin Kosnik  

PR libstdc++/49818
* config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
* testsuite/util/testsuite_abi.cc: Same.
* libsupc++/unwind-cxx.h: Move required eh API...
* libsupc++/cxxabi.h: ... to here. Add required forward declarations.
Use _GLIBCXX_NOTHROW.
* libsupc++/pure.cc (__cxa_deleted_virtual): Add.
* libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
* libsupc++/eh_catch.cc: Same.
* libsupc++/eh_globals.cc: Same.
* libsupc++/eh_type.cc: Same.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/abi/pre/gnu.ver
trunk/libstdc++-v3/libsupc++/cxxabi.h
trunk/libstdc++-v3/libsupc++/eh_alloc.cc
trunk/libstdc++-v3/libsupc++/eh_catch.cc
trunk/libstdc++-v3/libsupc++/eh_globals.cc
trunk/libstdc++-v3/libsupc++/eh_type.cc
trunk/libstdc++-v3/libsupc++/pure.cc
trunk/libstdc++-v3/libsupc++/unwind-cxx.h
trunk/libstdc++-v3/testsuite/util/testsuite_abi.cc


[Bug libstdc++/49818] libsupc++ does not export __cxa_get_globals or related functions

2011-10-10 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49818

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #4 from Benjamin Kosnik  2011-10-10 
19:06:36 UTC ---

Fixed for 4.7.x.


[Bug c/50994] New: wanted: interface for querying cache size

2011-11-04 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50994

 Bug #: 50994
   Summary: wanted: interface for querying cache size
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: b...@gcc.gnu.org


GCC is missing a way to query cache line size. This could be provided as a
compile-time constant, in the form of predefined macros in a form similar to
the existing sizeof macros via something like __SIZEOF_L1_CACHE_LINE__. Or, it
could be via a __builtin, like __builtin_l1_cache_line_size(). 

Results would be consistent with existing --param flags, such that

--param l1-cache-line-size=64

meant that

__builtin_l1_cache_line_size() == 64.

I notice that intel provides the following interface, via:
http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011Update/compiler_c/index.htm


unsigned int __cacheSize(unsigned int cacheLevel)

"__cacheSize(n) returns the size in kilobytes of the cache at level n. 1
represents the first-level cache. 0 is returned for a non-existent cache level.
For example, an application may query the cache size and use it to select block
sizes in algorithms that operate on matrices."

ding ding ding!!


[Bug libstdc++/52866] [4.8 Regression] build with --enable-libstdcxx-debug fails in libstdc++

2012-04-30 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52866

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #3 from Benjamin Kosnik  2012-04-30 
17:46:32 UTC ---

Waiting on details so I can reproduce...


[Bug libstdc++/52866] [4.8 Regression] build with --enable-libstdcxx-debug fails in libstdc++

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52866

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WORKSFORME

--- Comment #4 from Benjamin Kosnik  2012-05-02 
17:03:16 UTC ---

I'm going to close this as a transitory buglet, if it returns please re-open


[Bug libstdc++/52740] Unable to make gcc-4.x.x after successful configuration

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52740

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||bkoz at gcc dot gnu.org
 Resolution||INVALID

--- Comment #5 from Benjamin Kosnik  2012-05-02 
17:09:35 UTC ---

Successful application of:
http://gcc.gnu.org/wiki/InstallingGCC


[Bug libstdc++/52447] Application crashes on SLES11 when using libstdc++.so.6.0.10 but runs fine with 6.0.8

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52447

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WORKSFORME

--- Comment #8 from Benjamin Kosnik  2012-05-02 
17:13:08 UTC ---

Re-open if present in self-contained testcase.


[Bug libstdc++/44015] template parameters not documented

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44015

--- Comment #3 from Benjamin Kosnik  2012-05-02 
22:25:36 UTC ---
Author: bkoz
Date: Wed May  2 22:25:28 2012
New Revision: 187066

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187066
Log:
2012-05-02  Benjamin Kosnik  

PR libstdc++/44015
* include/bits/basic_ios.h: Add tparam markup for
* doxygen.  include/bits/basic_string.h: Same.
* include/bits/forward_list.h: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_list.h: Same.  include/bits/stl_map.h:
* Same.  include/bits/stl_multimap.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/unordered_map.h: Same.
* include/bits/unordered_set.h: Same.  include/std/array:
* Same.  include/std/atomic: Same.  include/std/fstream:
* Same.  include/std/istream: Same.  include/std/ostream:
* Same.  include/std/sstream: Same.
* include/std/streambuf: Same.
* testsuite/23_containers/deque/requirements/dr438/*:
  Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/*: Same.
* testsuite/23_containers/vector/requirements/dr438/*: Same.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/basic_ios.h
trunk/libstdc++-v3/include/bits/basic_string.h
trunk/libstdc++-v3/include/bits/forward_list.h
trunk/libstdc++-v3/include/bits/stl_bvector.h
trunk/libstdc++-v3/include/bits/stl_deque.h
trunk/libstdc++-v3/include/bits/stl_list.h
trunk/libstdc++-v3/include/bits/stl_map.h
trunk/libstdc++-v3/include/bits/stl_multimap.h
trunk/libstdc++-v3/include/bits/stl_multiset.h
trunk/libstdc++-v3/include/bits/stl_pair.h
trunk/libstdc++-v3/include/bits/stl_queue.h
trunk/libstdc++-v3/include/bits/stl_set.h
trunk/libstdc++-v3/include/bits/stl_stack.h
trunk/libstdc++-v3/include/bits/stl_vector.h
trunk/libstdc++-v3/include/bits/unordered_map.h
trunk/libstdc++-v3/include/bits/unordered_set.h
trunk/libstdc++-v3/include/std/array
trunk/libstdc++-v3/include/std/atomic
trunk/libstdc++-v3/include/std/fstream
trunk/libstdc++-v3/include/std/istream
trunk/libstdc++-v3/include/std/ostream
trunk/libstdc++-v3/include/std/sstream
trunk/libstdc++-v3/include/std/streambuf
   
trunk/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
   
trunk/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc


[Bug libstdc++/44015] template parameters not documented

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44015

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-05-02
 CC||bkoz at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.8.0
 Ever Confirmed|0   |1

--- Comment #4 from Benjamin Kosnik  2012-05-02 
22:41:44 UTC ---

I noticed this again recently, while mucking with std::unordered_set etc.

The checked-in patch adds in the necessary markup for containers and io. It
seems complete and consistent:

string
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00428.html

array
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00569.html

basic_istream
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00425.html

etc.

This is the way to write the markup for template parameters, and default
arguments to them.


[Bug libstdc++/52689] static linking with libstdc++ fails

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52689

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #22 from Benjamin Kosnik  2012-05-02 
22:43:40 UTC ---

Fixed.


[Bug libstdc++/52191] abi_check should flag additions to released versions

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52191

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED
   Target Milestone|4.7.1   |4.7.0

--- Comment #7 from Benjamin Kosnik  2012-05-02 
22:48:24 UTC ---

Ooops, correcting this. It is fixed in 4.7.0, and by happen-stance no
additional complexity is required for solaris.


[Bug libstdc++/37144] A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37144

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #36 from Benjamin Kosnik  2012-05-02 
22:52:48 UTC ---

Indeed, this was fixed for 4.7.0


[Bug libstdc++/40380] class documentation should mention include file to use

2012-05-02 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40380

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-05-02
 CC||bkoz at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #3 from Benjamin Kosnik  2012-05-02 
22:56:37 UTC ---

Just an update on this. From 4.6.0 onward, the file documentation for things
like bits/unique_ptr.h now have forwarding text:

http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.6/a01102.html

"
Detailed Description

This is an internal header file, included by other library headers. Do not
attempt to use it directly. Instead, include .

Definition in file unique_ptr.h.
"

I think this is useful, but not as useful as saying that to use std::unique_ptr
one needs to include .


[Bug bootstrap/52700] lib* configure fails on --enable-symvers=gnu-versioned-namespace.

2012-05-14 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52700

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-05-14
 CC||bkoz at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #3 from Benjamin Kosnik  2012-05-14 
15:59:56 UTC ---

I'll look at this. 

libgomp got patched for this here:

2011-01-20  Benjamin Kosnik  

PR libstdc++/36104
* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.

http://gcc.gnu.org/ml/gcc-patches/2011-01/msg01401.html


[Bug bootstrap/52700] lib* configure fails on --enable-symvers=gnu-versioned-namespace.

2012-05-21 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52700

--- Comment #4 from Benjamin Kosnik  2012-05-21 
17:34:39 UTC ---
Author: bkoz
Date: Mon May 21 17:34:25 2012
New Revision: 187728

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187728
Log:
2012-05-21  Benjamin Kosnik  

PR libstdc++/52700
* configure.ac: Allow gnu, gnu-versioned-namespace for
--enable-symvers arguments.
* configure: Regenerate.

Modified:
trunk/libjava/ChangeLog
trunk/libjava/configure
trunk/libjava/configure.ac


[Bug bootstrap/52700] lib* configure fails on --enable-symvers=gnu-versioned-namespace.

2012-05-21 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52700

--- Comment #5 from Benjamin Kosnik  2012-05-21 
18:14:07 UTC ---
Author: bkoz
Date: Mon May 21 18:14:01 2012
New Revision: 187730

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187730
Log:
2012-05-21  Benjamin Kosnik  

PR libstdc++/52700
* configure.ac: Allow gnu, gnu-versioned-namespace for
--enable-symvers arguments.
* configure: Regenerate.


Modified:
branches/gcc-4_7-branch/libjava/ChangeLog
branches/gcc-4_7-branch/libjava/configure
branches/gcc-4_7-branch/libjava/configure.ac
branches/gcc-4_7-branch/libjava/gcj/Makefile.in
branches/gcc-4_7-branch/libjava/include/Makefile.in
branches/gcc-4_7-branch/libjava/testsuite/Makefile.in


[Bug bootstrap/52700] lib* configure fails on --enable-symvers=gnu-versioned-namespace.

2012-05-21 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52700

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.7.1

--- Comment #6 from Benjamin Kosnik  2012-05-21 
18:24:37 UTC ---
Fixed on trunk and branch


[Bug bootstrap/52700] lib* configure fails on --enable-symvers=gnu-versioned-namespace.

2012-05-22 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52700

--- Comment #8 from Benjamin Kosnik  2012-05-23 
01:31:29 UTC ---

I tried it with --enable-languages=all

?


[Bug bootstrap/52700] lib* configure fails on --enable-symvers=gnu-versioned-namespace.

2012-05-29 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52700

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |

--- Comment #10 from Benjamin Kosnik  2012-05-29 
20:36:19 UTC ---

Ugh, you are right. Sorry. It looks like

libgfortran/libssp/libquadmath

need a simple fix. Working on it...


[Bug target/51007] [4.7 Regression] Quadmath I/O doesn't work on MinGW

2012-05-31 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007

--- Comment #10 from Benjamin Kosnik  2012-05-31 
18:51:34 UTC ---
Author: bkoz
Date: Thu May 31 18:51:27 2012
New Revision: 188076

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188076
Log:
2012-05-31  Benjamin Kosnik  

PR libstdc++/51007
* configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
* configure: Regenerated.

Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/configure
trunk/libgfortran/configure.ac
trunk/libquadmath/ChangeLog
trunk/libquadmath/configure
trunk/libquadmath/configure.ac
trunk/libssp/ChangeLog
trunk/libssp/configure
trunk/libssp/configure.ac


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-05-31 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

--- Comment #12 from Benjamin Kosnik  2012-05-31 
18:58:06 UTC ---
Author: bkoz
Date: Thu May 31 18:57:56 2012
New Revision: 188077

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188077
Log:
2012-05-31  Benjamin Kosnik  

PR libstdc++/52007
* configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
* configure: Regenerated.


Modified:
branches/gcc-4_7-branch/libquadmath/ChangeLog
branches/gcc-4_7-branch/libquadmath/configure
branches/gcc-4_7-branch/libquadmath/configure.ac


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-05-31 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

--- Comment #13 from Benjamin Kosnik  2012-05-31 
18:59:38 UTC ---
Author: bkoz
Date: Thu May 31 18:59:34 2012
New Revision: 188078

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188078
Log:
2012-05-31  Benjamin Kosnik  

PR libstdc++/52007
* configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
* configure: Regenerated.

Modified:
branches/gcc-4_7-branch/libssp/ChangeLog
branches/gcc-4_7-branch/libssp/configure
branches/gcc-4_7-branch/libssp/configure.ac


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-05-31 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

--- Comment #14 from Benjamin Kosnik  2012-05-31 
19:01:01 UTC ---
Author: bkoz
Date: Thu May 31 19:00:58 2012
New Revision: 188079

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188079
Log:
2012-05-31  Benjamin Kosnik  

PR libstdc++/52007
* configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
* configure: Regenerated.


Modified:
branches/gcc-4_7-branch/libgfortran/ChangeLog
branches/gcc-4_7-branch/libgfortran/configure
branches/gcc-4_7-branch/libgfortran/configure.ac


[Bug bootstrap/52700] lib* configure fails on --enable-symvers=gnu-versioned-namespace.

2012-05-31 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52700

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED

--- Comment #11 from Benjamin Kosnik  2012-05-31 
21:55:29 UTC ---

OK, saying fixed again on trunk and branch. Let me know if it's not right.


[Bug libstdc++/53543] [unordered_map] conflict with __is_convertible clang intrinsic

2012-05-31 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53543

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||bkoz at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |

--- Comment #3 from Benjamin Kosnik  2012-05-31 
22:07:12 UTC ---
On it, this is a reasonable request. I've changed it to __is_conv to match the
enable-if typedefs.

-benjamin


[Bug libstdc++/53543] [unordered_map] conflict with __is_convertible clang intrinsic

2012-05-31 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53543

--- Comment #4 from Benjamin Kosnik  2012-05-31 
23:02:24 UTC ---
Author: bkoz
Date: Thu May 31 23:02:18 2012
New Revision: 188088

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188088
Log:
2012-05-31  Benjamin Kosnik  

PR libstdc++/53543
* include/bits/hashtable_policy.h (_Insert::__is_convertible):
Rename to __is_conv to avoid clash with clang built-in.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/hashtable_policy.h


[Bug libstdc++/53543] [unordered_map] conflict with __is_convertible clang intrinsic

2012-05-31 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53543

Benjamin Kosnik  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #5 from Benjamin Kosnik  2012-05-31 
23:55:46 UTC ---

Fixed.


[Bug libstdc++/53657] [4.7/4.8 Regression] [C++11] pair(pair&&) move constructor is non-trivial

2012-07-13 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53657

Benjamin Kosnik  changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org

--- Comment #20 from Benjamin Kosnik  2012-07-13 
12:38:03 UTC ---

Thanks Paolo and Jonathan and Jason, this looks ready to go from an ABI
standpoint for 4.7.2.

Paolo, do we need to add any of the testcases in this PR to track regressions
here? Or at least make this less fragile as FE/lib changes going forward?


  1   2   3   >