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

Reply via email to