aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-format.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-09-18 00:07:46 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2007-09-18 00:07:46 +0200
commit9cef5f55ffde40dd3a9e125bf5d270416ab2377a (patch)
tree29b960a466f572a1131b689d972ec8b615681fd0 /gcc/c-format.h
parentabc2dd3c9eb9058cc9c9babab700ba68dfda1881 (diff)
downloadgcc-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.h2
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;