Fix PR70182 -- missing "on" in mangling of unresolved operators
authorMarkus Trippelsdorf <markus@trippelsdorf.de>
Wed, 18 Jan 2017 08:49:11 +0000 (08:49 +0000)
committerMarkus Trippelsdorf <trippels@gcc.gnu.org>
Wed, 18 Jan 2017 08:49:11 +0000 (08:49 +0000)
commit4bbc35f33fe5fa9316a7bd18310302eb7616f158
treed4fd72c31d0897c52a3930c438870be3b370022a
parentf6efea5163e7a321ecda80386ac23488e041ec2b
Fix PR70182 -- missing "on" in mangling of unresolved operators

The ABI says:

<unresolved-name>
   ::= [gs] <base-unresolved-name>
   ::= sr <unresolved-type> <base-unresolved-name>
   ::= srN <unresolved-type> <unresolved-qualifier-level>+ E <base-unresolved-name>
   ::= [gs] sr <unresolved-qualifier-level>+ E <base-unresolved-name>

<base-unresolved-name>
   ::= <simple-id>
   ::= on <operator-name>
   ::= on <operator-name> <template-args>
   ::= dn <destructor-name

libiberty:

PR c++/70182
* cp-demangle.c (d_unqualified_name): Handle "on" for
operator names.
* testsuite/demangle-expected: Add tests.

gcc/cp:

PR c++/70182
* mangle.c (write_template_args): Add "on" for operator names.

gcc:

PR c++/70182
* doc/invoke.texi (fabi-version): Mention mangling fix for
operator names.

From-SVN: r244567
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/mangle.c
gcc/doc/invoke.texi
gcc/testsuite/g++.dg/abi/mangle13.C
gcc/testsuite/g++.dg/abi/mangle37.C
gcc/testsuite/g++.dg/abi/pr70182.C [new file with mode: 0644]
gcc/testsuite/g++.dg/dfp/mangle-1.C
libiberty/ChangeLog
libiberty/cp-demangle.c
libiberty/testsuite/demangle-expected