| Index: gcc/gcc/pretty-print.h
|
| diff --git a/gcc/gcc/pretty-print.h b/gcc/gcc/pretty-print.h
|
| index dd3f0c0ad3909f8cd2196c1aadcdf59da45bd84c..3ba503538508c54dd8e6da00de033a6d7213f2c4 100644
|
| --- a/gcc/gcc/pretty-print.h
|
| +++ b/gcc/gcc/pretty-print.h
|
| @@ -71,9 +71,9 @@ struct chunk_info
|
|
|
| /* The output buffer datatype. This is best seen as an abstract datatype
|
| whose fields should not be accessed directly by clients. */
|
| -typedef struct
|
| +typedef struct
|
| {
|
| - /* Obstack where the text is built up. */
|
| + /* Obstack where the text is built up. */
|
| struct obstack formatted_obstack;
|
|
|
| /* Obstack containing a chunked representation of the format
|
| @@ -90,7 +90,7 @@ typedef struct
|
| /* Where to output formatted text. */
|
| FILE *stream;
|
|
|
| - /* The amount of characters output so far. */
|
| + /* The amount of characters output so far. */
|
| int line_length;
|
|
|
| /* This must be large enough to hold any printed integer or
|
| @@ -114,7 +114,7 @@ typedef struct
|
| diagnostic_prefixing_rule_t rule;
|
|
|
| /* The ideal upper bound of number of characters per line, as suggested
|
| - by front-end. */
|
| + by front-end. */
|
| int line_cutoff;
|
| } pp_wrapping_mode_t;
|
|
|
| @@ -140,7 +140,7 @@ typedef bool (*printer_fn) (pretty_printer *, text_info *, const char *,
|
|
|
| /* TRUE if a newline character needs to be added before further
|
| formatting. */
|
| -#define pp_needs_newline(PP) pp_base (PP)->need_newline
|
| +#define pp_needs_newline(PP) pp_base (PP)->need_newline
|
|
|
| /* True if PRETTY-PRINTER is in line-wrapping mode. */
|
| #define pp_is_wrapping_line(PP) (pp_line_cutoff (PP) > 0)
|
| @@ -148,6 +148,10 @@ typedef bool (*printer_fn) (pretty_printer *, text_info *, const char *,
|
| /* The amount of whitespace to be emitted when starting a new line. */
|
| #define pp_indentation(PP) pp_base (PP)->indent_skip
|
|
|
| +/* True if identifiers are translated to the locale character set on
|
| + output. */
|
| +#define pp_translate_identifiers(PP) pp_base (PP)->translate_identifiers
|
| +
|
| /* The data structure that contains the bare minimum required to do
|
| proper pretty-printing. Clients may derived from this structure
|
| and add additional fields they need. */
|
| @@ -158,12 +162,12 @@ struct pretty_print_info
|
|
|
| /* The prefix for each new line. */
|
| const char *prefix;
|
| -
|
| +
|
| /* Where to put whitespace around the entity being formatted. */
|
| pp_padding padding;
|
| -
|
| +
|
| /* The real upper bound of number of characters per line, taking into
|
| - account the case of a very very looong prefix. */
|
| + account the case of a very very looong prefix. */
|
| int maximum_length;
|
|
|
| /* Indentation count. */
|
| @@ -187,6 +191,10 @@ struct pretty_print_info
|
|
|
| /* Nonzero means one should emit a newline before outputting anything. */
|
| bool need_newline;
|
| +
|
| + /* Nonzero means identifiers are translated to the locale character
|
| + set on output. */
|
| + bool translate_identifiers;
|
| };
|
|
|
| #define pp_set_line_maximum_length(PP, L) \
|
| @@ -273,10 +281,11 @@ struct pretty_print_info
|
| pp_scalar (PP, HOST_WIDEST_INT_PRINT_DEC, (HOST_WIDEST_INT) I)
|
| #define pp_pointer(PP, P) pp_scalar (PP, "%p", P)
|
|
|
| -#define pp_identifier(PP, ID) pp_string (PP, ID)
|
| +#define pp_identifier(PP, ID) pp_string (PP, (pp_translate_identifiers (PP) \
|
| + ? identifier_to_locale (ID) \
|
| + : (ID)))
|
| #define pp_tree_identifier(PP, T) \
|
| - pp_append_text(PP, IDENTIFIER_POINTER (T), \
|
| - IDENTIFIER_POINTER (T) + IDENTIFIER_LENGTH (T))
|
| + pp_base_tree_identifier (pp_base (PP), T)
|
|
|
| #define pp_unsupported_tree(PP, T) \
|
| pp_verbatim (pp_base (PP), "#%qs not supported by %s#", \
|
| @@ -322,6 +331,7 @@ extern void pp_base_character (pretty_printer *, int);
|
| extern void pp_base_string (pretty_printer *, const char *);
|
| extern void pp_write_text_to_stream (pretty_printer *pp);
|
| extern void pp_base_maybe_space (pretty_printer *);
|
| +extern void pp_base_tree_identifier (pretty_printer *, tree);
|
|
|
| /* Switch into verbatim mode and return the old mode. */
|
| static inline pp_wrapping_mode_t
|
| @@ -334,4 +344,6 @@ pp_set_verbatim_wrapping_ (pretty_printer *pp)
|
| }
|
| #define pp_set_verbatim_wrapping(PP) pp_set_verbatim_wrapping_ (pp_base (PP))
|
|
|
| +extern const char *identifier_to_locale (const char *);
|
| +
|
| #endif /* GCC_PRETTY_PRINT_H */
|
|
|