Hi, It seems that the ABI has no means to mangle the contents of string constants.
The cxx-abi-dev archives have a proposal http://sourcerytools.com/pipermail/cxx-abi-dev/2012-January/000032.html but it seems this was never integrated into the ABI document. Further, the proposal doesn't specify how to mangle UTF-16/UTF-32 string literals. Such a mangling would have to specify the endianness used to encode the code points. At the moment, I am trying to figure out how we should mangle the string constant in: struct X { static constexpr const char *p = "foo"; }; We are required to give the storage for the string the same name in all translation units in order to adhere to the ODR. One idea I had was to treat it like a lifetime extended temporary but this might break compatibility with existing programs. Are there any preferences as to what should be done? -- David Majnemer
_______________________________________________ cxx-abi-dev mailing list [email protected] http://sourcerytools.com/cgi-bin/mailman/listinfo/cxx-abi-dev
