gcc.gnu.org Git
DRANK

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.This page took 0.068376 seconds and 5 git commands to generate.

gcc.gnu.org
Related Topics: C++ C (programming language) Git
1 comments
    • GCC に C++23 のコア言語機能の 1 つが初めて実装された
    • ptrdiff_tsize_t 型の数値リテラルのためのサフィックス
    • C++23 のライブラリ機能に関しては、GCC はすでに一部を実装している
    • (コメント👀) GCC を含め現時点で C++20 の実装を完了した処理系は無いが、GCC と Clang は簡単なものに関しては C++23 機能を先取りで実装し始めている。一方で MSVC は Visua Studio 2019 での C++20 の実装完了を優先し、C++23 については Visual Studio 2019 の後継となる新しい Visual Studio で着手する方針