-
- Downloads
c++: Implement C++23 P0330 - Literal Suffixes for ptrdiff_t and size_t.
Integer literal suffixes for signed size ('z') and unsigned size (some permutation od 'zu') are provided as a language addition. gcc/c-family/ChangeLog: * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix. * c-lex.c (interpret_integer): Set node type for size literal. libcpp/ChangeLog: * expr.c (interpret_int_suffix): Detect 'z' integer suffix. (cpp_classify_number): Compat warning for use of 'z' suffix. * include/cpplib.h (struct cpp_options): New flag. (enum cpp_warning_reason): New flag. (CPP_N_USERDEF): Comment C++0x -> C++11. (CPP_N_SIZE_T): New flag for cpp_classify_number. * init.c (cpp_set_lang): Initialize new flag. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/udlit-shadow-neg.C: Test for 'z' and 'zu' shadowing. * g++.dg/cpp23/feat-cxx2b.C: New test. * g++.dg/cpp23/size_t-literals.C: New test. * g++.dg/warn/Wsize_t-literals.C: New test.
Showing
- gcc/c-family/c-cppbuiltin.c 5 additions, 0 deletionsgcc/c-family/c-cppbuiltin.c
- gcc/c-family/c-lex.c 8 additions, 0 deletionsgcc/c-family/c-lex.c
- gcc/testsuite/g++.dg/cpp0x/udlit-shadow-neg.C 61 additions, 0 deletionsgcc/testsuite/g++.dg/cpp0x/udlit-shadow-neg.C
- gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C 549 additions, 0 deletionsgcc/testsuite/g++.dg/cpp23/feat-cxx2b.C
- gcc/testsuite/g++.dg/cpp23/size_t-literals.C 8 additions, 0 deletionsgcc/testsuite/g++.dg/cpp23/size_t-literals.C
- gcc/testsuite/g++.dg/warn/Wsize_t-literals.C 12 additions, 0 deletionsgcc/testsuite/g++.dg/warn/Wsize_t-literals.C
- libcpp/expr.c 24 additions, 4 deletionslibcpp/expr.c
- libcpp/include/cpplib.h 7 additions, 1 deletionlibcpp/include/cpplib.h
- libcpp/init.c 27 additions, 25 deletionslibcpp/init.c
Loading
Please register or sign in to comment