[Bug c++/70790] Can't mangle noexcept expressions
lewissbaker.opensource at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Apr 8 04:55:48 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70790
Lewis Baker <lewissbaker.opensource at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |lewissbaker.opensource@gmai
| |l.com
--- Comment #2 from Lewis Baker <lewissbaker.opensource at gmail dot com> ---
The relevant code seems to live in gcc/cp/mangle.c (at least for IA64 mangling)
Does it just need something like the following inserted into the
write_expression() function?
```
else if (TREE_CODE (expr) == NOEXCEPT_EXPR)
{
write_string ("nx");
write_expression (TREE_OPERAND (expr, 0));
}
```
The "nx" prefix seems to be what LLVM uses for its Itanium mangling.
See
https://github.com/llvm/llvm-project/blob/13a1504ffb9a9a4f82dc1b60d9e8cbb173c7d030/clang/lib/AST/ItaniumMangle.cpp#L4057
Also see example showing this under clang (working) and gcc (failing):
https://godbolt.org/z/yHrZDm
More information about the Gcc-bugs
mailing list