Add strftime format checking support for C2x %OB and %Ob (bug 82752).
authorJoseph Myers <joseph@codesourcery.com>
Fri, 4 Oct 2019 21:56:14 +0000 (22:56 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 4 Oct 2019 21:56:14 +0000 (22:56 +0100)
commit843f104d5bc6d1f9b4b3f56c3a4e4278e608827f
treeea451e764d55e6941bf945e7254076fc1e531b97
parentdaa94de24b9afdf21c636532e53561aa3713910b
Add strftime format checking support for C2x %OB and %Ob (bug 82752).

C2x adds strftime %OB and %Ob formats, for alternative forms of month
names (for mainly Slavic languages where a month name on its own is
declined differently from a month name together with a date within
that month).  This patch adds corresponding format checking support.
(glibc support for these formats was added in glibc 2.27.)

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

PR c/82752
gcc/c-family:
* c-format.c (C_STD_VER): Handle C2x.
(C_STD_NAME): Likewise.
(strftime_flag_specs): Add 'O' modifier with 'p' flag.
(time_char_table): Use separate entry for 'B' and 'b', with 'O'
modifier allowed and 'p' flag.
* c-format.h (enum format_std_version): Add STD_C2X.
(struct format_char_info): Mention 'p' in comment on flags2.

gcc/testsuite:
* gcc.dg/format/c2x-strftime-1.c: New test.

From-SVN: r276605
gcc/c-family/ChangeLog
gcc/c-family/c-format.c
gcc/c-family/c-format.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/format/c2x-strftime-1.c [new file with mode: 0644]