c++, libcpp: Use make_signed_t<size_t> in the 1z diagnostics
authorJakub Jelinek <jakub@redhat.com>
Thu, 4 Feb 2021 17:30:45 +0000 (18:30 +0100)
committerJakub Jelinek <jakub@redhat.com>
Thu, 4 Feb 2021 17:30:45 +0000 (18:30 +0100)
commite91f9da57928ab10e2206c64ce490477d3b46ec1
tree7261132dda5851e228757c429dd0fa31d82c4a48
parente6cc142ad99ab8d28581f4ce61056c9cce74dba3
c++, libcpp: Use make_signed_t<size_t> in the 1z diagnostics

The following patch uses make_signed_t<size_t> instead of
make_signed<size_t>::type in the diagnostics, because the former is shorter.
It is true that one can't use make_signed<size_t>::type in C++11 code (which
is why I haven't changed it in the testcase which is c++11 effective
target), but the message talks about C++23 and make_signed_t is a C++14 and
later feature, so I think it is fine.

2021-02-04  Jakub Jelinek  <jakub@redhat.com>

* expr.c (cpp_classify_number): Use make_signed_t<size_t> instead of
make_signed<size_t>::type in the diagnostics.

* g++.dg/warn/Wsize_t-literals.C: Expect make_signed_t<size_t> instead
of make_signed<size_t>::type in the diagnostics.
gcc/testsuite/g++.dg/warn/Wsize_t-literals.C
libcpp/expr.c