commit 33024aacc31cc7a1fdaba934952150fdc3db7e3f
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Fri May 9 13:51:39 2014 +0100
* 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.
@@ -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
@@ -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 {
@@ -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
new file mode 100644
@@ -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));
+}
@@ -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)