[Bug c++/48008] New: [4.6 Regression] libstdc++-v3/testsuite/20_util/function/43397.cc fails to assemble with -fabi-version=5
zsojka at seznam dot cz
gcc-bugzilla@gcc.gnu.org
Sun Mar 6 17:31:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48008
Summary: [4.6 Regression]
libstdc++-v3/testsuite/20_util/function/43397.cc fails
to assemble with -fabi-version=5
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: zsojka@seznam.cz
I am not sure if this is a bug, but as there were commits to the ABI code, and
the release is probably near, I opened this PR without more analysing... I am
sorry if it renders invalid.
This is the compiler output:
$ g++ testcase2.C -std=c++0x -fabi-version=5 -c
/tmp/cclBTCq8.s: Assembler messages:
/tmp/cclBTCq8.s:314: Error: symbol
`_ZSt6mem_fnIFiOiE3FooESt7_Mem_fnIMT0_T_ES6_' is already defined
/tmp/cclBTCq8.s:352: Error: symbol
`_ZSt6mem_fnIFiOiE3FooESt7_Mem_fnIMT0_T_ES6_' is already defined
/tmp/cclBTCq8.s:390: Error: symbol
`_ZSt6mem_fnIFiOiE3FooESt7_Mem_fnIMT0_T_ES6_' is already defined
$ echo _ZSt6mem_fnIFiOiE3FooESt7_Mem_fnIMT0_T_ES6_ | c++filt
std::_Mem_fn<int (Foo::*)(int&&)> std::mem_fn<int ()(int&&), Foo>(int
(Foo::*)(int&&))
With -fabi-version=1 (or gcc 4.5), the following symbols are generated:
$ echo _ZSt6mem_fnIFiOiE3FooESt7_Mem_fnIMT0_T_ES6_ | c++filt
std::_Mem_fn<int (Foo::*)(int&&)> std::mem_fn<int ()(int&&), Foo>(int
(Foo::*)(int&&))
$ echo _ZSt6mem_fnIKFiOiE3FooESt7_Mem_fnIMT0_T_ES7_ | c++filt
std::_Mem_fn<int ( const Foo::*)(int&&)> std::mem_fn<int ( const)(int&&),
Foo>(int ( const Foo::*)(int&&))
$ echo _ZSt6mem_fnIVFiOiE3FooESt7_Mem_fnIMT0_T_ES7_ | c++filt
std::_Mem_fn<int ( volatile Foo::*)(int&&)> std::mem_fn<int ( volatile)(int&&),
Foo>(int ( volatile Foo::*)(int&&))
$ echo _ZSt6mem_fnIVKFiOiE3FooESt7_Mem_fnIMT0_T_ES7_ | c++filt
std::_Mem_fn<int ( const volatile Foo::*)(int&&)> std::mem_fn<int ( const
volatile)(int&&), Foo>(int ( const volatile Foo::*)(int&&))
More information about the Gcc-bugs
mailing list