* c-common.c (vector_types_convertible_p, decl_with_nonnull_addr_p, c_promoting_integer_type_p, self_promoting_args_p): Constify. * c-common.h (has_c_linkage, decl_with_nonnull_addr_p, c_promoting_integer_type_p, self_promoting_args_p, anon_aggr_type_p, vector_types_convertible_p): Likewise. * c-decl.c (anon_aggr_type_p): Likewise. * * c-dump.c (dump_stmt): Likewise. * c-objc-common.c (has_c_linkage): Likewise. * c-tree.h (same_translation_unit_p): Likewise. * c-typeck.c (null_pointer_constant_p, tagged_types_tu_compatible_p, function_types_compatible_p, type_lists_compatible_p, lvalue_or_else, lvalue_p, comptypes_internal, struct tagged_tu_seen_cache, same_translation_unit_p, alloc_tagged_tu_seen_cache, c_size_in_bytes): Likewise. * ggc-common.c (compare_ptr_data, hash_descriptor, eq_descriptor, hash_ptr, eq_ptr): Likewise. * langhooks-def.h (lhd_decl_ok_for_sibcall, LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Likewise. * langhooks.c (lhd_decl_ok_for_sibcall): Likewise. * langhooks.h (ok_for_sibcall, omp_privatize_by_reference): Likewise. * optabs.c (optab_for_tree_code): Likewise. * optabs.h (optab_for_tree_code): Likewise. * rtl.h (simplify_rtx): Likewise. * simplify-rtx.c (simplify_rtx): Likewise. * tree-dump.c (queue, queue_and_dump_index, queue_and_dump_type, dump_flag, dump_node): Likewise. * tree-dump.h (struct dump_info, dump_stmt, queue_and_dump_index, queue_and_dump_type, dump_flag): Likewise. * tree-flow.h (vect_can_force_dr_alignment_p): Likewise. * tree-pass.h (dump_node): Likewise. * tree-vectorizer.c (vect_can_force_dr_alignment_p, supportable_narrowing_operation): Likewise. * tree-vectorizer.h (vect_can_force_dr_alignment_p, supportable_narrowing_operation): Likewise. * tree-vrp.c (needs_overflow_infinity, supports_overflow_infinity, is_negative_overflow_infinity, is_positive_overflow_infinity, is_overflow_infinity, vrp_val_is_max, vrp_val_is_min, nonnull_arg_p, get_value_range, vrp_operand_equal_p, update_value_range, add_equivalence, ssa_name_nonnegative_p, ssa_name_nonzero_p, fp_predicate): Likewise. * tree.c (auto_var_in_fn_p, empty_body_p): Likewise. * tree.h (empty_body_p, auto_var_in_fn_p, ssa_name_nonzero_p, ssa_name_nonnegative_p): Likewise. cp: * call.c (sufficient_parms_p): Constify. * class.c (same_signature_p): Likewise. * cp-gimplify.c (is_invisiref_parm, cxx_omp_privatize_by_reference): Likewise. * cp-objcp-common.c (has_c_linkage): Likewise. * cp-tree.h (NON_THUNK_FUNCTION_CHECK, THUNK_FUNCTION_CHECK, sufficient_parms_p, same_signature_p, copy_fn_p, move_fn_p, grok_ctor_properties, nothrow_libfn_p, skip_artificial_parms_for, num_artificial_parms_for, comp_template_parms, template_parameter_pack_p, any_dependent_template_arguments_p, any_type_dependent_arguments_p, any_value_dependent_elements_p, repo_export_class_p, cxx_omp_privatize_by_reference, pod_type_p, zero_init_p, member_p, cp_lvalue_kind, builtin_valid_in_constant_expr_p, decl_anon_ns_mem_p, varargs_function_p, is_dummy_object, special_function_kind, string_conv_p, type_unknown_p, comp_except_specs, compparms, comp_cv_qualification, is_bitfield_expr_with_lowered_type, unlowered_expr_type, ptr_reasonably_similar, cp_type_readonly, cp_has_mutable_p, at_least_as_qualified_p, invalid_nonstatic_memfn_p, lvalue_or_else, lvalue_p): Likewise. * decl.c (copy_fn_p, move_fn_p, grok_ctor_properties): Likewise. * except.c (nothrow_libfn_p): Likewise. * method.c (skip_artificial_parms_for, num_artificial_parms_for): Likewise. * pt.c (comp_template_parms, template_parameter_pack_p, any_type_dependent_arguments_p, any_value_dependent_elements_p, any_dependent_template_arguments_p): Likewise. * repo.c (repo_export_class_p): Likewise. * semantics.c (anon_aggr_type_p): Likewise. * tree.c (lvalue_p_1, real_lvalue_p, lvalue_p, builtin_valid_in_constant_expr_p, decl_anon_ns_mem_p, varargs_function_p, member_p, is_dummy_object, pod_type_p, zero_init_p, special_function_p): Likewise. * typeck.c (comp_array_types, type_unknown_p, comp_except_specs, comp_array_types, at_least_as_qualified_p, comp_cv_qualification, compparms, invalid_nonstatic_memfn_p, is_bitfield_expr_with_lowered_type, unlowered_expr_type, string_conv_p, ptr_reasonably_similar, cp_type_readonly, cp_has_mutable_p, lvalue_or_else): Likewise. fortran: * trans-openmp.c (gfc_omp_privatize_by_reference): Constify. * trans.h (gfc_omp_privatize_by_reference): Likewise. java: * lang.c (java_decl_ok_for_sibcall): Likewise. From-SVN: r127799
101 lines
3.1 KiB
C
101 lines
3.1 KiB
C
/* Tree-dumping functionality for intermediate representation.
|
|
Copyright (C) 1999, 2000, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
|
Written by Mark Mitchell <mark@codesourcery.com>
|
|
|
|
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 3, 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 COPYING3. If not see
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef GCC_TREE_DUMP_H
|
|
#define GCC_TREE_DUMP_H
|
|
|
|
#include "splay-tree.h"
|
|
#include "tree-pass.h"
|
|
|
|
typedef struct dump_info *dump_info_p;
|
|
|
|
/* Flags used with queue functions. */
|
|
#define DUMP_NONE 0
|
|
#define DUMP_BINFO 1
|
|
|
|
/* Information about a node to be dumped. */
|
|
|
|
typedef struct dump_node_info
|
|
{
|
|
/* The index for the node. */
|
|
unsigned int index;
|
|
/* Nonzero if the node is a binfo. */
|
|
unsigned int binfo_p : 1;
|
|
} *dump_node_info_p;
|
|
|
|
/* A dump_queue is a link in the queue of things to be dumped. */
|
|
|
|
typedef struct dump_queue
|
|
{
|
|
/* The queued tree node. */
|
|
splay_tree_node node;
|
|
/* The next node in the queue. */
|
|
struct dump_queue *next;
|
|
} *dump_queue_p;
|
|
|
|
/* A dump_info gives information about how we should perform the dump
|
|
and about the current state of the dump. */
|
|
|
|
struct dump_info
|
|
{
|
|
/* The stream on which to dump the information. */
|
|
FILE *stream;
|
|
/* The original node. */
|
|
const_tree node;
|
|
/* User flags. */
|
|
int flags;
|
|
/* The next unused node index. */
|
|
unsigned int index;
|
|
/* The next column. */
|
|
unsigned int column;
|
|
/* The first node in the queue of nodes to be written out. */
|
|
dump_queue_p queue;
|
|
/* The last node in the queue. */
|
|
dump_queue_p queue_end;
|
|
/* Free queue nodes. */
|
|
dump_queue_p free_list;
|
|
/* The tree nodes which we have already written out. The
|
|
keys are the addresses of the nodes; the values are the integer
|
|
indices we assigned them. */
|
|
splay_tree nodes;
|
|
};
|
|
|
|
/* Dump the CHILD and its children. */
|
|
#define dump_child(field, child) \
|
|
queue_and_dump_index (di, field, child, DUMP_NONE)
|
|
|
|
extern void dump_pointer (dump_info_p, const char *, void *);
|
|
extern void dump_int (dump_info_p, const char *, int);
|
|
extern void dump_string (dump_info_p, const char *);
|
|
extern void dump_string_field (dump_info_p, const char *, const char *);
|
|
extern void dump_stmt (dump_info_p, const_tree);
|
|
extern void queue_and_dump_index (dump_info_p, const char *, const_tree, int);
|
|
extern void queue_and_dump_type (dump_info_p, const_tree);
|
|
extern void dump_function (enum tree_dump_index, tree);
|
|
extern void dump_function_to_file (tree, FILE *, int);
|
|
extern void debug_function (tree, int);
|
|
extern int dump_flag (dump_info_p, int, const_tree);
|
|
|
|
extern unsigned int dump_register (const char *, const char *, const char *,
|
|
int, int);
|
|
|
|
|
|
#endif /* ! GCC_TREE_DUMP_H */
|