aboutsummaryrefslogtreecommitdiff
path: root/libcpp/charset.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2021-12-01 10:21:20 +0100
committerJakub Jelinek <jakub@redhat.com>2021-12-01 10:21:20 +0100
commitc264208e161830a5642ee3125871c23110508462 (patch)
treed9ceae0bad702467a9c2e5042ddbe7a7d7066040 /libcpp/charset.c
parent35f2c098c81118020b1d288cd739108c8747a520 (diff)
downloadgcc-c264208e161830a5642ee3125871c23110508462.zip
gcc-c264208e161830a5642ee3125871c23110508462.tar.gz
gcc-c264208e161830a5642ee3125871c23110508462.tar.bz2
libcpp: Enable P1949R7 for C++98 too [PR100977]
On Mon, Nov 29, 2021 at 05:53:58PM -0500, Jason Merrill wrote: > I'm inclined to go ahead and change C++98 as well; I doubt anyone is relying > on the particular C++98 extended character set rules, and we already accept > the union of the different sets when not pedantic. Ok, here is an incremental patch to do that also for -std={c,gnu}++98. 2021-12-01 Jakub Jelinek <jakub@redhat.com> PR c++/100977 * init.c (struct lang_flags): Remove cxx23_identifiers. (lang_defaults): Remove cxx23_identifiers initializers. (cpp_set_lang): Don't copy cxx23_identifiers. * include/cpplib.h (struct cpp_options): Adjust comment about c11_identifiers. Remove cxx23_identifiers field. * lex.c (warn_about_normalization): Use cplusplus instead of cxx23_identifiers. * charset.c (ucn_valid_in_identifier): Likewise. * g++.dg/cpp/ucnid-1.C: Adjust expected diagnostics. * g++.dg/cpp/ucnid-1-utf8.C: Likewise.
Diffstat (limited to 'libcpp/charset.c')
-rw-r--r--libcpp/charset.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libcpp/charset.c b/libcpp/charset.c
index bcfd3ad..0854677 100644
--- a/libcpp/charset.c
+++ b/libcpp/charset.c
@@ -955,14 +955,12 @@ ucn_valid_in_identifier (cpp_reader *pfile, cppchar_t c,
valid_flags = C99 | CXX | C11 | CXX23;
if (CPP_PEDANTIC (pfile))
{
- if (CPP_OPTION (pfile, cxx23_identifiers))
+ if (CPP_OPTION (pfile, cplusplus))
valid_flags = CXX23;
else if (CPP_OPTION (pfile, c11_identifiers))
valid_flags = C11;
else if (CPP_OPTION (pfile, c99))
valid_flags = C99;
- else if (CPP_OPTION (pfile, cplusplus))
- valid_flags = CXX;
}
if (! (ucnranges[mn].flags & valid_flags))
return 0;
@@ -1021,7 +1019,7 @@ ucn_valid_in_identifier (cpp_reader *pfile, cppchar_t c,
return 2;
}
- if (CPP_OPTION (pfile, cxx23_identifiers))
+ if (CPP_OPTION (pfile, cplusplus))
invalid_start_flags = NXX23;
else if (CPP_OPTION (pfile, c11_identifiers))
invalid_start_flags = N11;