c++: mangle contracts in write_mangled_name
authorArsen Arsenović <arsen@aarsen.me>
Thu, 15 Dec 2022 17:56:59 +0000 (18:56 +0100)
committerJason Merrill <jason@redhat.com>
Thu, 15 Dec 2022 21:48:00 +0000 (16:48 -0500)
commit52e7ff23ff5967fef52ebe31b6750a56f7103080
treed6fb57f2a9f357ddb2d2e744cc0ddee434ec8e57
parent147e276b580b674a46bc3b9c461ae7837fd48aba
c++: mangle contracts in write_mangled_name

This fixes contract-checked extern "C" functions.

gcc/cp/ChangeLog:

* mangle.cc (write_encoding): Move contract pre/post function
mangling from here...
(write_mangled_name): ... to here, and make it happen always.

gcc/testsuite/ChangeLog:

* g++.dg/contracts/contracts-externC.C: New test.
gcc/cp/mangle.cc
gcc/testsuite/g++.dg/contracts/contracts-externC.C [new file with mode: 0644]