New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[diff.library] Consistency for wide char types #3189
Conversation
ISO C11 section 7.19 says wchar_t is a declared type (and goes on to talk about other things as macros, so this is hardly an oversight). ISO C11 section 7.28 says char16_t and char32_t are "declared" types. However, ISO C11 section 7.1.3 clearly says that all global identifiers from header files are reserved for macro use. |
I think we want "macro or type name" in our updated wording, highlighting both facts. For C++, both the facts that this is not a macro and that it's not a typedef (to some existing type, hampering differentiation in overload resolution) are important. |
Ok! I'll force push that fix to the pull request.
… On 26 Aug 2019, at 22:43, Jens Maurer ***@***.***> wrote:
I think we want "macro or type name" in our updated wording, highlighting both facts. For C++, both the facts that this is not a macro and that it's not a typedef (to some existing type, hampering differentiation in overload resolution) are important.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Pushed changes. |
Please rebase and fix the conflicts, then force-push. |
Rebased. |
Hmm, it looks like in the rebase I accidentally pushed just "type names", not "macro or type names". Rebasing and force-pushing. |
[diff.char16] says `char16_t` and `char_32t` > ...do not appear as *macro* names... [diff.wchar.t] says `wchar_t` > ...does not appear as a *type* name... It would be nice to make these consistent if there is no reason for the difference. I thought there might not be because I saw at least one implementation in which `char16_t` and `char_32t` are `typedef`s rather than macros.
[diff.char16] says
char16_t
andchar_32t
[diff.wchar.t] says
wchar_t
It would be nice to make these consistent if there is no reason for the difference. I thought there might not be because I saw at least one implementation in which
char16_t
andchar_32t
aretypedef
s rather than macros.