Commit be56159c by Martin Sebor Committed by Martin Sebor

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
parent 1104d918
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> 2017-08-20 John David Anglin <danglin@gcc.gnu.org>
PR testsuite/81056 PR testsuite/81056
......
...@@ -367,13 +367,13 @@ _GLIBCXX_END_NAMESPACE_VERSION ...@@ -367,13 +367,13 @@ _GLIBCXX_END_NAMESPACE_VERSION
#define _GLIBCXX_3_4_SYMVER(XXname, name) \ #define _GLIBCXX_3_4_SYMVER(XXname, name) \
extern "C" void \ extern "C" void \
_X##name() \ _X##name(...) \
__attribute__ ((alias(#XXname))); \ __attribute__ ((alias(#XXname))); \
asm (".symver " "_X" #name "," #name "@GLIBCXX_3.4"); asm (".symver " "_X" #name "," #name "@GLIBCXX_3.4");
#define _GLIBCXX_3_4_5_SYMVER(XXname, name) \ #define _GLIBCXX_3_4_5_SYMVER(XXname, name) \
extern "C" void \ extern "C" void \
_Y##name() \ _Y##name(...) \
__attribute__ ((alias(#XXname))); \ __attribute__ ((alias(#XXname))); \
asm (".symver " "_Y" #name "," #name "@@GLIBCXX_3.4.5"); asm (".symver " "_Y" #name "," #name "@@GLIBCXX_3.4.5");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment