aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2017-08-20 21:31:39 +0000
committerMartin Sebor <msebor@gcc.gnu.org>2017-08-20 15:31:39 -0600
commitbe56159c653126659efb8cb256ad6f9d8bafb621 (patch)
treec708a92be7ffdd41333cfef2165adef08b285f8b
parent1104d918b500ae1754b9a6a92f7fc0d90713f95b (diff)
downloadgcc-be56159c653126659efb8cb256ad6f9d8bafb621.zip
gcc-be56159c653126659efb8cb256ad6f9d8bafb621.tar.gz
gcc-be56159c653126659efb8cb256ad6f9d8bafb621.tar.bz2
re PR c/81854 (weak alias of an incompatible symbol accepted)
libstdc++/ChangeLog: PR c/81854 * src/c++98/compatibility.cc (_GLIBCXX_3_4_SYMVER): Declare alias target as a C++ function with no prototype. (_GLIBCXX_3_4_5_SYMVER): Ditto. From-SVN: r251211
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/src/c++98/compatibility.cc4
2 files changed, 9 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 8d48bdff..5dbd173 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2017-08-20 Martin Sebor <msebor@redhat.com>
+
+ PR c/81854
+ * src/c++98/compatibility.cc (_GLIBCXX_3_4_SYMVER): Declare alias
+ target as a C++ function with no prototype.
+ (_GLIBCXX_3_4_5_SYMVER): Ditto.
+
2017-08-20 John David Anglin <danglin@gcc.gnu.org>
PR testsuite/81056
diff --git a/libstdc++-v3/src/c++98/compatibility.cc b/libstdc++-v3/src/c++98/compatibility.cc
index 381f4c4..b49a5ca 100644
--- a/libstdc++-v3/src/c++98/compatibility.cc
+++ b/libstdc++-v3/src/c++98/compatibility.cc
@@ -367,13 +367,13 @@ _GLIBCXX_END_NAMESPACE_VERSION
#define _GLIBCXX_3_4_SYMVER(XXname, name) \
extern "C" void \
- _X##name() \
+ _X##name(...) \
__attribute__ ((alias(#XXname))); \
asm (".symver " "_X" #name "," #name "@GLIBCXX_3.4");
#define _GLIBCXX_3_4_5_SYMVER(XXname, name) \
extern "C" void \
- _Y##name() \
+ _Y##name(...) \
__attribute__ ((alias(#XXname))); \
asm (".symver " "_Y" #name "," #name "@@GLIBCXX_3.4.5");