Date: Wed, 11 May 2022 16:24:45 -0400
SG16, in reviewing the addition of the new characters to the basic
character set found a couple of awful ways it could result in conforming
code becoming non conforming.
https://isocpp.org/files/papers/P2558R1.html
#include <stdio.h>
<https://isocpp.org/files/papers/P2558R1.html#cb2-2>
<https://isocpp.org/files/papers/P2558R1.html#cb2-3>#define STR(x) #x
<https://isocpp.org/files/papers/P2558R1.html#cb2-4>
<https://isocpp.org/files/papers/P2558R1.html#cb2-5>int main()
<https://isocpp.org/files/papers/P2558R1.html#cb2-6>{
<https://isocpp.org/files/papers/P2558R1.html#cb2-7> printf("%s",
STR(\u0024)); // UCN for $ was allowed, now it is not
<https://isocpp.org/files/papers/P2558R1.html#cb2-8>}
and
#include <stdio.h>
<https://isocpp.org/files/papers/P2558R1.html#cb3-2>
<https://isocpp.org/files/papers/P2558R1.html#cb3-3>#define EAT(x)
<https://isocpp.org/files/papers/P2558R1.html#cb3-4>
<https://isocpp.org/files/papers/P2558R1.html#cb3-5>int main()
<https://isocpp.org/files/papers/P2558R1.html#cb3-6>{
<https://isocpp.org/files/papers/P2558R1.html#cb3-7> EAT(\u0024) //
UCN for $ was allowed, now it is not
<https://isocpp.org/files/papers/P2558R1.html#cb3-8>}
I am not sure this was noticed in reviewing N2701 but thought I'd bring it
to your attention.
SG16 had consensus to forward this to EWG.
character set found a couple of awful ways it could result in conforming
code becoming non conforming.
https://isocpp.org/files/papers/P2558R1.html
#include <stdio.h>
<https://isocpp.org/files/papers/P2558R1.html#cb2-2>
<https://isocpp.org/files/papers/P2558R1.html#cb2-3>#define STR(x) #x
<https://isocpp.org/files/papers/P2558R1.html#cb2-4>
<https://isocpp.org/files/papers/P2558R1.html#cb2-5>int main()
<https://isocpp.org/files/papers/P2558R1.html#cb2-6>{
<https://isocpp.org/files/papers/P2558R1.html#cb2-7> printf("%s",
STR(\u0024)); // UCN for $ was allowed, now it is not
<https://isocpp.org/files/papers/P2558R1.html#cb2-8>}
and
#include <stdio.h>
<https://isocpp.org/files/papers/P2558R1.html#cb3-2>
<https://isocpp.org/files/papers/P2558R1.html#cb3-3>#define EAT(x)
<https://isocpp.org/files/papers/P2558R1.html#cb3-4>
<https://isocpp.org/files/papers/P2558R1.html#cb3-5>int main()
<https://isocpp.org/files/papers/P2558R1.html#cb3-6>{
<https://isocpp.org/files/papers/P2558R1.html#cb3-7> EAT(\u0024) //
UCN for $ was allowed, now it is not
<https://isocpp.org/files/papers/P2558R1.html#cb3-8>}
I am not sure this was noticed in reviewing N2701 but thought I'd bring it
to your attention.
SG16 had consensus to forward this to EWG.
Received on 2022-05-11 20:24:59