GCC Middle and Back End API Reference
print-tree.c File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "ggc.h"
#include "langhooks.h"
#include "tree-iterator.h"
#include "diagnostic.h"
#include "gimple-pretty-print.h"
#include "cgraph.h"
#include "tree-cfg.h"
#include "tree-dump.h"
#include "dumpfile.h"
Include dependency graph for print-tree.c:

Data Structures

struct  bucket

Macros

#define HASH_SIZE   37

Functions

void dump_addr ()
void print_node_brief ()
void indent_to ()
void print_node ()
void print_vec_tree ()
DEBUG_FUNCTION void debug_tree ()
DEBUG_FUNCTION void debug_raw ()
static void dump_tree_via_hooks ()
DEBUG_FUNCTION void debug ()
DEBUG_FUNCTION void debug_verbose ()
DEBUG_FUNCTION void debug_head ()
DEBUG_FUNCTION void debug_body ()
DEBUG_FUNCTION void debug_vec_tree ()

Variables

static struct bucket ** table

Macro Definition Documentation

#define HASH_SIZE   37

Prints out tree in human readable form - GCC Copyright (C) 1990-2013 Free Software Foundation, Inc.

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/. Define the hash table of nodes already seen. Such nodes are not repeated; brief cross-references are used.

Referenced by print_vec_tree().


Function Documentation

DEBUG_FUNCTION void debug ( )

Print the slot this node is in, and its code, and address.

DEBUG_FUNCTION void debug_body ( )
DEBUG_FUNCTION void debug_head ( )
DEBUG_FUNCTION void debug_raw ( )

Print the vector of trees VEC on standard error, for debugging. Most nodes referred to by this one are printed recursively down to a depth of six.

Print the slot this node is in, and its code, and address.

DEBUG_FUNCTION void debug_tree ( )

Print the node NODE on standard error, for debugging. Most nodes referred to by this one are printed recursively down to a depth of six.

References DECL_P, gdbhooks::IDENTIFIER_NODE, lang_hooks::print_decl, print_generic_expr(), lang_hooks::print_identifier, lang_hooks::print_type, TREE_CODE, and TYPE_P.

DEBUG_FUNCTION void debug_vec_tree ( )
DEBUG_FUNCTION void debug_verbose ( )
void dump_addr ( )

Print PREFIX and ADDR to FILE.

static void dump_tree_via_hooks ( )
static
void indent_to ( )

Since this is the long way, indent to desired column.

void print_node ( )

Print the node NODE in full on file FILE, preceded by PREFIX, starting in column INDENT.

 Don't get too deep in nesting.  If the user wants to see deeper,
 it is easy to use the address of a lowest-level node
 as an argument in another call to debug_tree.   
 It is unsafe to look at any other fields of an ERROR_MARK node.   
 Allow this function to be called if the table is not there.   
     If node is in the table, just mention its address.   
     Add this node to the table.   
 Indent to the specified column, since this is the long form.   
 Print the slot this node is in, and its code, and address.   
 Print the name, if any.   
 DECL_ nodes have additional attributes.   
     Print the decl chain only if decl is at second level.   
     The no-force-blk flag is used for different things in
     different types.   
     The transparent-union flag is used for different things in
     different nodes.   
               Not printing the addresses of the (not-a-tree)
               'struct tree_stmt_list_node's.   
               Not printing the addresses of the (not-a-tree)
               'struct tree_stmt_list_node's.   

Referenced by print_vec_tree().

void print_node_brief ( )

Print a node in brief fashion, with just the code, address and name.

Always print the slot this node is in, and its code, address and name if any.

 We might as well always print the value of an integer or real.   

Referenced by bit_from_pos().

void print_vec_tree ( )

Print the tree vector VEC in full on file FILE, preceded by PREFIX, starting in column INDENT.

Indent to the specified column, since this is the long form.

 Print the slot this node is in, and its code, and address.   

References HASH_SIZE, and print_node().


Variable Documentation

struct bucket** table
static