diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 9 | ||||
-rw-r--r-- | libstdc++-v3/acinclude.m4 | 2 | ||||
-rw-r--r-- | libstdc++-v3/config/abi/pre/gnu.ver | 10 | ||||
-rwxr-xr-x | libstdc++-v3/configure | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/28_regex/regex_error/base.cc | 32 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/util/testsuite_abi.cc | 3 |
6 files changed, 54 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e248505..415a879 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2014-05-09 Jonathan Wakely <jwakely@redhat.com> + + * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export. + (GLIBCXX_3.4.21): Export base object constructor for regex_error. + * acinclude.m4 (libtool_VERSION): Bump. + * configure: Regenerate. + * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version. + * testsuite/28_regex/regex_error/base.cc: New. + 2014-05-08 Joshua Gay <jgay@gnu.org> PR libstdc++/61117 diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index cbce2ae..55427cd 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -3353,7 +3353,7 @@ changequote([,])dnl fi # For libtool versioning info, format is CURRENT:REVISION:AGE -libtool_VERSION=6:20:0 +libtool_VERSION=6:21:0 # Everything parsed; figure out what files and settings to use. case $enable_symvers in diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 1625048..ed7a93f 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1363,10 +1363,18 @@ GLIBCXX_3.4.20 { _ZSt24__throw_out_of_range_fmtPKcz; # std::regex_error::regex_error(std::regex_constants::error_type) - _ZNSt11regex_errorC[01]ENSt15regex_constants10error_typeE; + _ZNSt11regex_errorC1ENSt15regex_constants10error_typeE; } GLIBCXX_3.4.19; +GLIBCXX_3.4.21 { + + # std::regex_error::regex_error(std::regex_constants::error_type) + _ZNSt11regex_errorC2ENSt15regex_constants10error_typeE; + +} GLIBCXX_3.4.20; + + # Symbols in the support library (libsupc++) have their own tag. CXXABI_1.3 { diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index c481db6..925ff7c 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -77918,7 +77918,7 @@ $as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;} fi # For libtool versioning info, format is CURRENT:REVISION:AGE -libtool_VERSION=6:20:0 +libtool_VERSION=6:21:0 # Everything parsed; figure out what files and settings to use. case $enable_symvers in diff --git a/libstdc++-v3/testsuite/28_regex/regex_error/base.cc b/libstdc++-v3/testsuite/28_regex/regex_error/base.cc new file mode 100644 index 0000000..a7318af --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/regex_error/base.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2014 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// <http://www.gnu.org/licenses/>. + +// 28.6 [re.badexp] + +// { dg-options "-std=c++11" } + +#include <regex> + +struct re : std::regex_error +{ + re() : regex_error(std::regex_constants::error_stack) { } +}; + +int main() +{ + re r __attribute__((unused)); +} diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc index 39635cb..0699114 100644 --- a/libstdc++-v3/testsuite/util/testsuite_abi.cc +++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc @@ -200,6 +200,7 @@ check_version(symbol& test, bool added) known_versions.push_back("GLIBCXX_3.4.18"); known_versions.push_back("GLIBCXX_3.4.19"); known_versions.push_back("GLIBCXX_3.4.20"); + known_versions.push_back("GLIBCXX_3.4.21"); known_versions.push_back("CXXABI_1.3"); known_versions.push_back("CXXABI_LDBL_1.3"); known_versions.push_back("CXXABI_1.3.1"); @@ -227,7 +228,7 @@ check_version(symbol& test, bool added) test.version_status = symbol::incompatible; // Check that added symbols are added in the latest pre-release version. - bool latestp = (test.version_name == "GLIBCXX_3.4.20" + bool latestp = (test.version_name == "GLIBCXX_3.4.21" || test.version_name == "CXXABI_1.3.9" || test.version_name == "CXXABI_TM_1"); if (added && !latestp) |