diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-09-18 00:07:46 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2007-09-18 00:07:46 +0200 |
commit | 9cef5f55ffde40dd3a9e125bf5d270416ab2377a (patch) | |
tree | 29b960a466f572a1131b689d972ec8b615681fd0 /gcc/c-format.h | |
parent | abc2dd3c9eb9058cc9c9babab700ba68dfda1881 (diff) | |
download | gcc-9cef5f55ffde40dd3a9e125bf5d270416ab2377a.zip gcc-9cef5f55ffde40dd3a9e125bf5d270416ab2377a.tar.gz gcc-9cef5f55ffde40dd3a9e125bf5d270416ab2377a.tar.bz2 |
c-format.h (format_kind_info): Add alloc_char field.
* c-format.h (format_kind_info): Add alloc_char field.
* c-format.c (scanf_flag_specs): Add 'm'.
(scanf_flag_pairs): Add 'a', 'm' pair.
(scan_char_table): Allow 'm' modifier for c, s, [, C and S.
(format_types_orig): Add alloc_char fields.
(check_format_info_main): Rename aflag to alloc_flag.
Handle fki->alloc_char. modifier after width and before length
modifiers. Move FMT_FLAG_SCANF_A_KLUDGE handling before
length modifiers as well.
* config/sol2-c.c (solaris_format_types): Add alloc_char field.
* gcc.dg/format/c90-scanf-5.c: New test.
* gcc.dg/format/c99-scanf-4.c: New test.
* gcc.dg/format/ext-7.c: New test.
* gcc.dg/format/ext-8.c: New test.
From-SVN: r128555
Diffstat (limited to 'gcc/c-format.h')
-rw-r--r-- | gcc/c-format.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c-format.h b/gcc/c-format.h index 23476f6..90cbb17 100644 --- a/gcc/c-format.h +++ b/gcc/c-format.h @@ -236,6 +236,8 @@ typedef struct specifiers, but is used to check for bad combinations such as length modifier with assignment suppression in scanf. */ int length_code_char; + /* Assignment-allocation flag character ('m' in scanf), otherwise 0. */ + int alloc_char; /* Pointer to type of argument expected if '*' is used for a width, or NULL if '*' not used for widths. */ tree *width_type; |