/* Various declarations for language-independent pretty-print subroutines.
- Copyright (C) 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010
+ Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
va_list *args_ptr;
int err_no; /* for %m */
location_t *locus;
- tree *abstract_origin;
+ void **x_data;
} text_info;
/* How often diagnostics are prefixed by their locations:
/* 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
/* 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
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;
/* 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)
/* 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. */
#define pp_identifier(PP, ID) pp_string (PP, (pp_translate_identifiers (PP) \
? identifier_to_locale (ID) \
: (ID)))
-#define pp_tree_identifier(PP, 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#", \
- tree_code_name[(int) TREE_CODE (T)], __FUNCTION__)
#define pp_buffer(PP) pp_base (PP)->buffer
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