diff --git a/gcc/ChangeLog b/gcc/ChangeLog index caed89593bca19e196c3a6d2832152f7ec00600e..8b37af29df73f4f72bbccc98699b26049c5d51dc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-07-23 Gabriel Dos Reis <gdr@nerim.net> + + * pretty-print.h: New file. + 2002-07-23 Paul Koning <pkoning@equallogic.com> * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC. diff --git a/gcc/pretty-print.h b/gcc/pretty-print.h new file mode 100644 index 0000000000000000000000000000000000000000..6f4dd38abfce13264c4698241ec7bf327a29ddbf --- /dev/null +++ b/gcc/pretty-print.h @@ -0,0 +1,58 @@ +/* Various declarations for language-independent pretty-print subroutines. + Copyright (C) 2002 Free Software Foundation, Inc. + Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net> + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING. If not, write to the Free +Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. */ + +#ifndef GCC_PRETTY_PRINT_H +#define GCC_PRETTY_PRINT_H + +#include "diagnostic.h" + +typedef struct pretty_print_info pretty_print_info; + +/* The type of pretty-printer flags passed to clients. */ +typedef unsigned int pp_flags; + +/* The type of pretty-print styles. */ +enum pp_style +{ + pp_standard_c, + pp_gnu_c, + pp_standard_cxx, + pp_gnu_cxx +}; + +struct pretty_print_info +{ + tree entity; + tree scope; + enum pp_style style; + pp_flags flags; + /* Where we print external representation of ENTITY. */ + output_buffer *buffer; + /* Client extenion hook. */ + void *x_data; + + void (*print_declaration) (pretty_print_info *); + void (*print_statement) (pretty_print_info *); + void (*print_expression) (pretty_print_info *); +}; + + +#endif /* GCC_PRETTY_PRINT_H */