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