cxx-pretty-print.h revision 132718
1132718Skan/* Interface for the GNU C++ pretty-printer.
2132718Skan   Copyright (C) 2003 Free Software Foundation, Inc.
3132718Skan   Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
4132718Skan
5132718SkanThis file is part of GCC.
6132718Skan
7132718SkanGCC is free software; you can redistribute it and/or modify it under
8132718Skanthe terms of the GNU General Public License as published by the Free
9132718SkanSoftware Foundation; either version 2, or (at your option) any later
10132718Skanversion.
11132718Skan
12132718SkanGCC is distributed in the hope that it will be useful, but WITHOUT ANY
13132718SkanWARRANTY; without even the implied warranty of MERCHANTABILITY or
14132718SkanFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15132718Skanfor more details.
16132718Skan
17132718SkanYou should have received a copy of the GNU General Public License
18132718Skanalong with GCC; see the file COPYING.  If not, write to the Free
19132718SkanSoftware Foundation, 59 Temple Place - Suite 330, Boston, MA
20132718Skan02111-1307, USA.  */
21132718Skan
22132718Skan#ifndef GCC_CXX_PRETTY_PRINT_H
23132718Skan#define GCC_CXX_PRETTY_PRINT_H
24132718Skan
25132718Skan#include "c-pretty-print.h"
26132718Skan
27132718Skan#undef pp_c_base
28132718Skan#define pp_c_base(PP) (&(PP)->c_base)
29132718Skan
30132718Skantypedef enum
31132718Skan{
32132718Skan  /* Ask for an qualified-id.  */
33132718Skan  pp_cxx_flag_default_argument = 1 << pp_c_flag_last_bit
34132718Skan
35132718Skan} cxx_pretty_printer_flags;
36132718Skan
37132718Skantypedef struct
38132718Skan{
39132718Skan  c_pretty_printer c_base;
40132718Skan  /* This is the enclosing scope of the entity being pretty-printed.  */
41132718Skan  tree enclosing_scope;
42132718Skan} cxx_pretty_printer;
43132718Skan
44132718Skanvoid pp_cxx_pretty_printer_init (cxx_pretty_printer *);
45132718Skan
46132718Skanvoid pp_cxx_declaration (cxx_pretty_printer *, tree);
47132718Skanvoid pp_cxx_function_definition (cxx_pretty_printer *, tree);
48132718Skanvoid pp_cxx_canonical_template_parameter (cxx_pretty_printer *, tree);
49132718Skanvoid pp_cxx_statement (cxx_pretty_printer *, tree);
50132718Skan
51132718Skan
52132718Skan#endif /* GCC_CXX_PRETTY_PRINT_H */
53