Bug 37376 - [4.4 Regression] No standard mangling for char16/32_t yet
Summary: [4.4 Regression] No standard mangling for char16/32_t yet
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 4.4.0
: P1 blocker
Target Milestone: 4.4.0
Assignee: Jason Merrill
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-04 18:39 UTC by Jason Merrill
Modified: 2008-10-07 17:50 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2008-10-06 21:48:15


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Merrill 2008-09-04 18:39:19 UTC
char16_t and char32_t are still mangled as a vendor extension in the 4.4 sources.  This is a blocker for 4.4; we need a standard mangling before it is released in order to avoid binary incompatibility with future releases.
Comment 1 Kris Van Hees 2008-09-04 19:12:13 UTC
The vendor extension mangling was based on the following email as feedback on the original patch:

http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01622.html

The original suggested mangling was:

    char16_t -> k
    char32_t -> q

I believe that there was some potential contention on using 'q' due to another proposal requesting that same symbol.  Is there any information from the ABI committee on which symbols can be used for the mangling of these two types?
Comment 2 Richard Biener 2008-09-04 20:09:11 UTC
Marked as regression to show up in the important bug list.
Comment 3 Paolo Carlini 2008-09-04 20:35:33 UTC
Of course involves also libstdc++-v3, its exports.
Comment 4 Jakub Jelinek 2008-10-07 14:18:19 UTC
The trunk now mangles char16_t as Ds and char32_t as Di.

Can this be closed?
Comment 5 Jason Merrill 2008-10-07 17:50:59 UTC
Yep.