On 1/27/21 3:32 PM, Jakub Jelinek wrote:
On Sun, Oct 21, 2018 at 04:39:30PM -0400, Ed Smith-Rowland wrote:
This patch implements C++2a proposal P0330R2 Literal Suffixes for ptrdiff_t
and size_t*. It's not official yet but looks very likely to pass. It is
incomplete because I'm looking for some opinions. 9We also might wait 'till
it actually passes).
This paper takes the direction of a language change rather than a library
change through C++11 literal operators. This was after feedback on that
paper after a few iterations.
As coded in this patch, integer suffixes involving 'z' are errors in C and
warnings for C++ <= 17 (in addition to the usual warning about
implementation suffixes shadowing user-defined ones).
OTOH, the 'z' suffix is not currently legal - it can't break
currently-correct code in any C/C++ dialect. furthermore, I suspect the
language direction was chosen to accommodate a similar addition to C20.
I'm thinking of making this feature available as an extension to all of
C/C++ perhaps with appropriate pedwarn.
GCC now supports -std=c++2b and -std=gnu++2b, are you going to update your
patch against it (and change for z/Z standing for ssize_t rather than
ptrdiff_t), plus incorporate the feedback from Joseph and Jason?
Jakub
I'm actually working on it now!