pretty-print.h: New file.
authorGabriel Dos Reis <gdr@nerim.net>
Tue, 23 Jul 2002 18:15:26 +0000 (18:15 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Tue, 23 Jul 2002 18:15:26 +0000 (18:15 +0000)
2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>

* pretty-print.h: New file.

From-SVN: r55684

gcc/ChangeLog
gcc/pretty-print.h [new file with mode: 0644]

index caed895..8b37af2 100644 (file)
@@ -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 (file)
index 0000000..6f4dd38
--- /dev/null
@@ -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 */