1*38fd1498Szrj /* Various declarations for language-independent pretty-print 2*38fd1498Szrj subroutines that are only for use in the compilers proper and not 3*38fd1498Szrj the driver or other programs. 4*38fd1498Szrj Copyright (C) 2002-2018 Free Software Foundation, Inc. 5*38fd1498Szrj 6*38fd1498Szrj This file is part of GCC. 7*38fd1498Szrj 8*38fd1498Szrj GCC is free software; you can redistribute it and/or modify it under 9*38fd1498Szrj the terms of the GNU General Public License as published by the Free 10*38fd1498Szrj Software Foundation; either version 3, or (at your option) any later 11*38fd1498Szrj version. 12*38fd1498Szrj 13*38fd1498Szrj GCC is distributed in the hope that it will be useful, but WITHOUT ANY 14*38fd1498Szrj WARRANTY; without even the implied warranty of MERCHANTABILITY or 15*38fd1498Szrj FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16*38fd1498Szrj for more details. 17*38fd1498Szrj 18*38fd1498Szrj You should have received a copy of the GNU General Public License 19*38fd1498Szrj along with GCC; see the file COPYING3. If not see 20*38fd1498Szrj <http://www.gnu.org/licenses/>. */ 21*38fd1498Szrj 22*38fd1498Szrj #ifndef GCC_TREE_PRETTY_PRINT_H 23*38fd1498Szrj #define GCC_TREE_PRETTY_PRINT_H 24*38fd1498Szrj 25*38fd1498Szrj #include "pretty-print.h" 26*38fd1498Szrj 27*38fd1498Szrj #define pp_unsupported_tree(PP, T) \ 28*38fd1498Szrj pp_verbatim (PP, "#%qs not supported by %s#", \ 29*38fd1498Szrj get_tree_code_name (TREE_CODE (T)), __FUNCTION__) 30*38fd1498Szrj 31*38fd1498Szrj #define pp_ti_abstract_origin(TI) ((tree *) (TI)->x_data) 32*38fd1498Szrj 33*38fd1498Szrj 34*38fd1498Szrj extern void debug_generic_expr (tree); 35*38fd1498Szrj extern void debug_generic_stmt (tree); 36*38fd1498Szrj extern void debug_tree_chain (tree); 37*38fd1498Szrj extern void print_generic_decl (FILE *, tree, dump_flags_t); 38*38fd1498Szrj extern void print_generic_stmt (FILE *, tree, dump_flags_t = TDF_NONE); 39*38fd1498Szrj extern void print_generic_stmt_indented (FILE *, tree, dump_flags_t, int); 40*38fd1498Szrj extern void print_generic_expr (FILE *, tree, dump_flags_t = TDF_NONE); 41*38fd1498Szrj extern void dump_omp_clauses (pretty_printer *, tree, int, dump_flags_t); 42*38fd1498Szrj extern int dump_generic_node (pretty_printer *, tree, int, dump_flags_t, bool); 43*38fd1498Szrj extern void print_declaration (pretty_printer *, tree, int, dump_flags_t); 44*38fd1498Szrj extern int op_code_prio (enum tree_code); 45*38fd1498Szrj extern int op_prio (const_tree); 46*38fd1498Szrj extern const char *op_symbol_code (enum tree_code); 47*38fd1498Szrj extern void print_call_name (pretty_printer *, tree, dump_flags_t); 48*38fd1498Szrj extern void percent_K_format (text_info *, tree); 49*38fd1498Szrj extern void pp_tree_identifier (pretty_printer *, tree); 50*38fd1498Szrj extern void dump_function_header (FILE *, tree, dump_flags_t); 51*38fd1498Szrj extern void pp_double_int (pretty_printer *pp, double_int d, bool uns); 52*38fd1498Szrj extern void dump_location (pretty_printer *buffer, location_t loc); 53*38fd1498Szrj 54*38fd1498Szrj #endif /* ! GCC_TREE_PRETTY_PRINT_H */ 55