This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/88413] New: g++ mangles names involving unresolved names in function argument template parameters differently from the ABI standard.
- From: "brennan at umanwizard dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 08 Dec 2018 01:50:31 +0000
- Subject: [Bug c++/88413] New: g++ mangles names involving unresolved names in function argument template parameters differently from the ABI standard.
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88413
Bug ID: 88413
Summary: g++ mangles names involving unresolved names in
function argument template parameters differently from
the ABI standard.
Product: gcc
Version: 8.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: brennan at umanwizard dot com
Target Milestone: ---
Created attachment 45189
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45189&action=edit
test case
Please see the attached test case.
how different compilers mangle g<int>:
clang: _Z1gIiEvP2S1IXsr2S2IT_EE3valEE
g++ : _Z1gIiEvP2S1IXsr2S2IT_E3valEE
Notice one less "E" from g++.
I believe g++ is wrong here, if I am interpreting
https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.unresolved-name
correctly.
It seems g++ doesn't emit the "E" in <unresolved-name> ::= [gs] sr
<unresolved-qualifier-level>+ E <base-unresolved-name>