diff options
Diffstat (limited to 'gcc/c-format.c')
-rw-r--r-- | gcc/c-format.c | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/gcc/c-format.c b/gcc/c-format.c index ea6ef57fa6d..19bbccec79f 100644 --- a/gcc/c-format.c +++ b/gcc/c-format.c @@ -387,15 +387,15 @@ enum typedef struct { /* Name of the single-character length modifier. */ - const char *name; + const char *const name; /* Index into a format_char_info.types array. */ - enum format_lengths index; + const enum format_lengths index; /* Standard version this length appears in. */ - enum format_std_version std; + const enum format_std_version std; /* Same, if the modifier can be repeated, or NULL if it can't. */ - const char *double_name; - enum format_lengths double_index; - enum format_std_version double_std; + const char *const double_name; + const enum format_lengths double_index; + const enum format_std_version double_std; } format_length_info; @@ -424,18 +424,18 @@ typedef struct which act identically), and the length modifiers used with it. */ typedef struct { - const char *format_chars; - int pointer_count; - enum format_std_version std; + const char *const format_chars; + const int pointer_count; + const enum format_std_version std; /* Types accepted for each length modifier. */ - format_type_detail types[FMT_LEN_MAX]; + const format_type_detail types[FMT_LEN_MAX]; /* List of other modifier characters allowed with these specifiers. This lists flags, and additionally "w" for width, "p" for precision (right precision, for strfmon), "#" for left precision (strfmon), "a" for scanf "a" allocation extension (not applicable in C99 mode), "*" for scanf suppression, and "E" and "O" for those strftime modifiers. */ - const char *flag_chars; + const char *const flag_chars; /* List of additional flags describing these conversion specifiers. "c" for generic character pointers being allowed, "2" for strftime two digit year formats, "3" for strftime formats giving two digit @@ -445,7 +445,7 @@ typedef struct "R" if the argument is a pointer which is dereferenced and read from, "i" for printf integer formats where the '0' flag is ignored with precision, and "[" for the starting character of a scanf scanset. */ - const char *flags2; + const char *const flags2; } format_char_info; @@ -453,7 +453,7 @@ typedef struct typedef struct { /* The flag character in question (0 for end of array). */ - int flag_char; + const int flag_char; /* Zero if this entry describes the flag character in general, or a non-zero character that may be found in flags2 if it describes the flag when used with certain formats only. If the latter, only @@ -462,18 +462,18 @@ typedef struct will be used, if non-NULL and the standard version is higher than the unpredicated one, for any pedantic warning. For example, 'o' for strftime formats (meaning 'O' is an extension over C99). */ - int predicate; + const int predicate; /* Nonzero if the next character after this flag in the format should be skipped ('=' in strfmon), zero otherwise. */ - int skip_next_char; + const int skip_next_char; /* The name to use for this flag in diagnostic messages. For example, N_("`0' flag"), N_("field width"). */ - const char *name; + const char *const name; /* Long name for this flag in diagnostic messages; currently only used for "ISO C does not support ...". For example, N_("the `I' printf flag"). */ - const char *long_name; + const char *const long_name; /* The standard version in which it appeared. */ - enum format_std_version std; + const enum format_std_version std; } format_flag_spec; @@ -482,16 +482,16 @@ typedef struct typedef struct { /* The first flag character in question (0 for end of array). */ - int flag_char1; + const int flag_char1; /* The second flag character. */ - int flag_char2; + const int flag_char2; /* Non-zero if the message should say that the first flag is ignored with the second, zero if the combination should simply be objected to. */ - int ignored; + const int ignored; /* Zero if this entry applies whenever this flag combination occurs, a non-zero character from flags2 if it only applies in some circumstances (e.g. 'i' for printf formats ignoring 0 with precision). */ - int predicate; + const int predicate; } format_flag_pair; @@ -500,43 +500,43 @@ typedef struct { /* The name of this kind of format, for use in diagnostics. Also the name of the attribute (without preceding and following __). */ - const char *name; + const char *const name; /* Specifications of the length modifiers accepted; possibly NULL. */ - const format_length_info *length_char_specs; + const format_length_info *const length_char_specs; /* Details of the conversion specification characters accepted. */ - const format_char_info *conversion_specs; + const format_char_info *const conversion_specs; /* String listing the flag characters that are accepted. */ - const char *flag_chars; + const char *const flag_chars; /* String listing modifier characters (strftime) accepted. May be NULL. */ - const char *modifier_chars; + const char *const modifier_chars; /* Details of the flag characters, including pseudo-flags. */ - const format_flag_spec *flag_specs; + const format_flag_spec *const flag_specs; /* Details of bad combinations of flags. */ - const format_flag_pair *bad_flag_pairs; + const format_flag_pair *const bad_flag_pairs; /* Flags applicable to this kind of format. */ - int flags; + const int flags; /* Flag character to treat a width as, or 0 if width not used. */ - int width_char; + const int width_char; /* Flag character to treat a left precision (strfmon) as, or 0 if left precision not used. */ - int left_precision_char; + const int left_precision_char; /* Flag character to treat a precision (for strfmon, right precision) as, or 0 if precision not used. */ - int precision_char; + const int precision_char; /* If a flag character has the effect of suppressing the conversion of an argument ('*' in scanf), that flag character, otherwise 0. */ - int suppression_char; + const int suppression_char; /* Flag character to treat a length modifier as (ignored if length modifiers not used). Need not be placed in flag_chars for conversion specifiers, but is used to check for bad combinations such as length modifier with assignment suppression in scanf. */ - int length_code_char; + const int length_code_char; /* Pointer to type of argument expected if '*' is used for a width, or NULL if '*' not used for widths. */ - tree *width_type; + tree *const width_type; /* Pointer to type of argument expected if '*' is used for a precision, or NULL if '*' not used for precisions. */ - tree *precision_type; + tree *const precision_type; } format_kind_info; |