This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[tree-ssa] Tree Browser


Hi,

Here's the first version of TreeBrowser.
For the moment it allows you to walk the tree structure, 
and to search TREE_CODEs (teleports on the first occurence
of the node). 

You could imagine other extensions:
- replace a node by another (relink nodes),
- build new nodes by calling yyparse again on an argument,
- apply an optimization on a localized subtree,
- ...

Other extensions are welcome.

Sebastian


Tree Browser
TB> h
Possible commands are:

x       -       Exits tree-browser.
q       -       Exits tree-browser.
h       -       Prints this help message.
fun     -       Go to the curent function declaration.
nx      -       Go to the next tree node in this chain.
pr      -       Go to the previous tree node in this chain.
up      -       Go to the parent tree node.
last    -       Go to the last node in this chain.
first   -       Go to the first node in this chain.
arg0    -       Child 0.
arg1    -       Child 1.
arg2    -       Child 2.
arg3    -       Child 3.
decl_saved_tree -       Body of a function.
type    -       Field accessor.
size    -       Field accessor.
unit_size       -       Field accessor.
offset  -       Field accessor.
bit_offset      -       Field accessor.
context -       Field accessor.
attributes      -       Field accessor.
abstract_origin -       Field accessor.
arguments       -       Field accessor.
result  -       Field accessor.
initial -       Field accessor.
arg-type        -       Field accessor.
arg-type-as-written     -       Field accessor.
chain   -       Field accessor (same as 'nx').
values  -       Field accessor.
domain  -       Field accessor.
method_basetype -       Field accessor.
fields  -       Field accessor.
arg-types       -       Field accessor.
basetype        -       Field accessor.
pointer_to_this -       Field accessor.
reference_to_this       -       Field accessor.
vars    -       Field accessor.
supercontext    -       Field accessor.
body    -       Field accessor.
subblocks       -       Field accessor.
block   -       Field accessor.
real    -       Field accessor.
imag    -       Field accessor.
purpose -       Field accessor.
value   -       Field accessor.
elt     -       Field accessor.
min     -       Field accessor.
max     -       Field accessor.
sc      -       Search a node having a TREE_CODE given as a parameter.
sn      -       Search an identifier having a name given as a parameter.
pp      -       Pretty print current node.
p       -       Prints the current node.

TB> p
 <function_decl 0x4026e32c vprintf
    type <function_type 0x4026e414
        type <integer_type 0x40199414 int SI
            size <integer_cst 0x401964e0 constant 32>
            unit size <integer_cst 0x40196580 constant 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x40196540 -2147483648> max <integer_cst 0x40196560 2147483647>
            pointer_to_this <pointer_type 0x401a5bc8>>
        DI
        size <integer_cst 0x401968a0 constant 64>
        unit size <integer_cst 0x40196ac0 constant 8>
        align 64 symtab 0 alias set -1
        attributes <tree_list 0x4026d3a8
            purpose <identifier_node 0x4019fb00 nonnull>
            value <tree_list 0x401a77b0
                value <integer_cst 0x401a2600 constant 1>>
            chain <tree_list 0x4026d390
                purpose <identifier_node 0x4019fa40 format>
                value <tree_list 0x401a7960
                    value <identifier_node 0x4019fbc0 printf public global <function_decl 0x401b0e0c printf>>
                    chain <tree_list 0x401a7810 value <integer_cst 0x401a2600 1>
                        chain <tree_list 0x401a7798 value <integer_cst 0x401a25e0 0>>>>>>
        arg-types <tree_list 0x4026d330 value <pointer_type 0x40262658>
            chain <tree_list 0x4026d348 value <pointer_type 0x40219c3c __gnuc_va_list>
                chain <tree_list 0x4026d360 value <void_type 0x401a089c void>>>>>
    public in_system_header external inline QI file /usr/include/bits/stdio.h line 35
   
    arguments <parm_decl 0x40283e80 __fmt
        type <pointer_type 0x40262658 type <integer_type 0x401a5cb0 char>
            unsigned restrict SI
            size <integer_cst 0x40196b20 constant 32>
            unit size <integer_cst 0x40196b80 constant 4>
            align 32 symtab 0 alias set -1>
        unsigned used in_system_header SI file /usr/include/bits/stdio.h line 34 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
        align 32 alias set -2 context <function_decl 0x4026e32c vprintf> result <pointer_type 0x40262658> initial <pointer_type 0x40262658> arg-type <pointer_type 0x40262658> arg-type-as-written <pointer_type 0x40262658>
        chain <parm_decl 0x40283ef4 __arg type <pointer_type 0x40219c3c __gnuc_va_list>
            unsigned used in_system_header SI file /usr/include/bits/stdio.h line 34 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
            align 32 context <function_decl 0x4026e32c vprintf> result <pointer_type 0x40219c3c __gnuc_va_list> initial <pointer_type 0x40219c3c __gnuc_va_list> arg-type <pointer_type 0x40219c3c __gnuc_va_list> arg-type-as-written <pointer_type 0x40219c3c __gnuc_va_list>>>
    result <result_decl 0x4028615c type <integer_type 0x40199414 int>
        in_system_header SI file /usr/include/bits/stdio.h line 35 size <integer_cst 0x401964e0 32> unit size <integer_cst 0x40196580 4>
        align 32 context <function_decl 0x4026e32c vprintf>> initial <block 0x401982ec> chain <function_decl 0x4026e074 vfprintf>>
TB> decl_saved_tree
TB> p
 <expr_with_file_location 0x40270ba0
    type <void_type 0x401a089c void VOID
        align 8 symtab 0 alias set -1
        pointer_to_this <pointer_type 0x401a0910>>
    side-effects public
    arg 0 <bind_expr 0x40270b60 type <void_type 0x401a089c void>
        side-effects
        body <expr_with_file_location 0x40270b80 type <void_type 0x401a089c void>
            side-effects public
            arg 0 <return_expr 0x402854e0 type <void_type 0x401a089c void>
                side-effects
                arg 0 <modify_expr 0x40270b40 type <integer_type 0x40199414 int>
                    side-effects arg 0 <result_decl 0x4028615c>
                    arg 1 <call_expr 0x40270b20 type <integer_type 0x40199414 int>
                        side-effects
                        arg 0 <addr_expr 0x40285438 type <pointer_type 0x40286244>
                            arg 0 <function_decl 0x4026e074 vfprintf>>
                        arg 1 <tree_list 0x40285450 value <var_decl 0x40264a6c stdout> chain <tree_list 0x40285468>>>>>
            arg 1 <identifier_node 0x402841c0 /usr/include/bits/stdio.h>
            /usr/include/bits/stdio.h:36:0>> arg 1 <identifier_node 0x402841c0 /usr/include/bits/stdio.h>
    /usr/include/bits/stdio.h:36:0>
TB> arg0
TB> p
 <bind_expr 0x40270b60
    type <void_type 0x401a089c void VOID
        align 8 symtab 0 alias set -1
        pointer_to_this <pointer_type 0x401a0910>>
    side-effects
    body <expr_with_file_location 0x40270b80 type <void_type 0x401a089c void>
        side-effects public
        arg 0 <return_expr 0x402854e0 type <void_type 0x401a089c void>
            side-effects
            arg 0 <modify_expr 0x40270b40 type <integer_type 0x40199414 int>
                side-effects arg 0 <result_decl 0x4028615c>
                arg 1 <call_expr 0x40270b20 type <integer_type 0x40199414 int>
                    side-effects
                    arg 0 <addr_expr 0x40285438 type <pointer_type 0x40286244>
                        arg 0 <function_decl 0x4026e074 vfprintf>>
                    arg 1 <tree_list 0x40285450 value <var_decl 0x40264a6c stdout>
                        chain <tree_list 0x40285468 value <parm_decl 0x40283e80 __fmt> chain <tree_list 0x40285480>>>>>>
        arg 1 <identifier_node 0x402841c0 /usr/include/bits/stdio.h>
        /usr/include/bits/stdio.h:36:0>>
TB> body
TB> p
 <expr_with_file_location 0x40270b80
    type <void_type 0x401a089c void VOID
        align 8 symtab 0 alias set -1
        pointer_to_this <pointer_type 0x401a0910>>
    side-effects public
    arg 0 <return_expr 0x402854e0 type <void_type 0x401a089c void>
        side-effects
        arg 0 <modify_expr 0x40270b40 type <integer_type 0x40199414 int>
            side-effects arg 0 <result_decl 0x4028615c>
            arg 1 <call_expr 0x40270b20 type <integer_type 0x40199414 int>
                side-effects
                arg 0 <addr_expr 0x40285438 type <pointer_type 0x40286244>
                    arg 0 <function_decl 0x4026e074 vfprintf>>
                arg 1 <tree_list 0x40285450 value <var_decl 0x40264a6c stdout>
                    chain <tree_list 0x40285468 value <parm_decl 0x40283e80 __fmt>
                        chain <tree_list 0x40285480 value <parm_decl 0x40283ef4 __arg>>>>>>>
    arg 1 <identifier_node 0x402841c0 /usr/include/bits/stdio.h>
    /usr/include/bits/stdio.h:36:0>
TB> arg0
TB> p
 <return_expr 0x402854e0
    type <void_type 0x401a089c void VOID
        align 8 symtab 0 alias set -1
        pointer_to_this <pointer_type 0x401a0910>>
    side-effects
    arg 0 <modify_expr 0x40270b40
        type <integer_type 0x40199414 int SI
            size <integer_cst 0x401964e0 constant 32>
            unit size <integer_cst 0x40196580 constant 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x40196540 -2147483648> max <integer_cst 0x40196560 2147483647>
            pointer_to_this <pointer_type 0x401a5bc8>>
        side-effects
        arg 0 <result_decl 0x4028615c type <integer_type 0x40199414 int>
            in_system_header SI file /usr/include/bits/stdio.h line 35 size <integer_cst 0x401964e0 32> unit size <integer_cst 0x40196580 4>
            align 32 context <function_decl 0x4026e32c vprintf>>
        arg 1 <call_expr 0x40270b20 type <integer_type 0x40199414 int>
            side-effects
            arg 0 <addr_expr 0x40285438 type <pointer_type 0x40286244>
                arg 0 <function_decl 0x4026e074 vfprintf>>
            arg 1 <tree_list 0x40285450 value <var_decl 0x40264a6c stdout>
                chain <tree_list 0x40285468 value <parm_decl 0x40283e80 __fmt>
                    chain <tree_list 0x40285480 value <parm_decl 0x40283ef4 __arg>>>>>>>
TB> arg0
TB> p
 <modify_expr 0x40270b40
    type <integer_type 0x40199414 int SI
        size <integer_cst 0x401964e0 constant 32>
        unit size <integer_cst 0x40196580 constant 4>
        align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x40196540 -2147483648> max <integer_cst 0x40196560 2147483647>
        pointer_to_this <pointer_type 0x401a5bc8>>
    side-effects
    arg 0 <result_decl 0x4028615c type <integer_type 0x40199414 int>
        in_system_header SI file /usr/include/bits/stdio.h line 35 size <integer_cst 0x401964e0 32> unit size <integer_cst 0x40196580 4>
        align 32 context <function_decl 0x4026e32c vprintf>>
    arg 1 <call_expr 0x40270b20 type <integer_type 0x40199414 int>
        side-effects
        arg 0 <addr_expr 0x40285438 type <pointer_type 0x40286244>
            arg 0 <function_decl 0x4026e074 vfprintf>>
        arg 1 <tree_list 0x40285450 value <var_decl 0x40264a6c stdout>
            chain <tree_list 0x40285468 value <parm_decl 0x40283e80 __fmt>
                chain <tree_list 0x40285480 value <parm_decl 0x40283ef4 __arg>>>>>>
TB> arg1
TB> p
 <call_expr 0x40270b20
    type <integer_type 0x40199414 int SI
        size <integer_cst 0x401964e0 constant 32>
        unit size <integer_cst 0x40196580 constant 4>
        align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x40196540 -2147483648> max <integer_cst 0x40196560 2147483647>
        pointer_to_this <pointer_type 0x401a5bc8>>
    side-effects
    arg 0 <addr_expr 0x40285438
        type <pointer_type 0x40286244 type <function_type 0x4026e15c>
            unsigned SI
            size <integer_cst 0x40196b20 constant 32>
            unit size <integer_cst 0x40196b80 constant 4>
            align 32 symtab 0 alias set -1>
       
        arg 0 <function_decl 0x4026e074 vfprintf type <function_type 0x4026e15c>
            used public in_system_header external defer-output QI file /home/pop/gcc/tree-ssa/bin/gcc/include/stdio.h line 294 chain <function_decl 0x4026cd24 sprintf>>>
    arg 1 <tree_list 0x40285450
        value <var_decl 0x40264a6c stdout type <pointer_type 0x40264984>
            unsigned used public in_system_header common external defer-output SI file /home/pop/gcc/tree-ssa/bin/gcc/include/stdio.h line 143 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
            align 32 chain <var_decl 0x402649f8 stdin>>
        chain <tree_list 0x40285468 value <parm_decl 0x40283e80 __fmt>
            chain <tree_list 0x40285480 value <parm_decl 0x40283ef4 __arg>>>>>
TB> arg1
TB> p
 <tree_list 0x40285450
    value <var_decl 0x40264a6c stdout
        type <pointer_type 0x40264984 type <record_type 0x4023cae0 FILE>
            unsigned SI
            size <integer_cst 0x40196b20 constant 32>
            unit size <integer_cst 0x40196b80 constant 4>
            align 32 symtab 0 alias set -1>
        unsigned used public in_system_header common external defer-output SI file /home/pop/gcc/tree-ssa/bin/gcc/include/stdio.h line 143 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
        align 32
        chain <var_decl 0x402649f8 stdin type <pointer_type 0x40264984>
            unsigned public in_system_header common external defer-output SI file /home/pop/gcc/tree-ssa/bin/gcc/include/stdio.h line 142 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
            align 32 chain <type_decl 0x4026489c fpos64_t>>>
    chain <tree_list 0x40285468
        value <parm_decl 0x40283e80 __fmt type <pointer_type 0x40262658>
            unsigned used in_system_header SI file /usr/include/bits/stdio.h line 34 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
            align 32 alias set -2 context <function_decl 0x4026e32c vprintf> result <pointer_type 0x40262658> initial <pointer_type 0x40262658> arg-type <pointer_type 0x40262658> arg-type-as-written <pointer_type 0x40262658> chain <parm_decl 0x40283ef4 __arg>>
        chain <tree_list 0x40285480 value <parm_decl 0x40283ef4 __arg>>>>
TB> value
TB> p
 <var_decl 0x40264a6c stdout
    type <pointer_type 0x40264984
        type <record_type 0x4023cae0 FILE BLK
            size <integer_cst 0x402506a0 constant 1184>
            unit size <integer_cst 0x40250660 constant 148>
            align 32 symtab 0 alias set -1 fields <field_decl 0x40259658 _flags>
            pointer_to_this <pointer_type 0x40264984>>
        unsigned SI
        size <integer_cst 0x40196b20 constant 32>
        unit size <integer_cst 0x40196b80 constant 4>
        align 32 symtab 0 alias set -1>
    unsigned used public in_system_header common external defer-output SI file /home/pop/gcc/tree-ssa/bin/gcc/include/stdio.h line 143 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
    align 32 chain <var_decl 0x402649f8 stdin>>
TB> type
TB> p
 <pointer_type 0x40264984
    type <record_type 0x4023cae0 FILE BLK
        size <integer_cst 0x402506a0 constant 1184>
        unit size <integer_cst 0x40250660 constant 148>
        align 32 symtab 0 alias set -1
        fields <field_decl 0x40259658 _flags type <integer_type 0x40199414 int>
            in_system_header SI file /usr/include/libio.h line 262
            size <integer_cst 0x401964e0 constant 32>
            unit size <integer_cst 0x40196580 constant 4>
            align 32 offset_align 128
            offset <integer_cst 0x40196ba0 constant 0>
            bit offset <integer_cst 0x40196c60 constant 0> context <record_type 0x4023c984 _IO_FILE> arguments <integer_cst 0x40196ba0 0> chain <field_decl 0x402596cc _IO_read_ptr>>
        pointer_to_this <pointer_type 0x40264984>>
    unsigned SI
    size <integer_cst 0x40196b20 type <integer_type 0x401a0658 bit_size_type> constant 32>
    unit size <integer_cst 0x40196b80 type <integer_type 0x401a05e4 unsigned int> constant 4>
    align 32 symtab 0 alias set -1>
TB> type
TB> p
 <record_type 0x4023cae0 FILE BLK
    size <integer_cst 0x402506a0 type <integer_type 0x401a0658 bit_size_type> constant 1184>
    unit size <integer_cst 0x40250660 type <integer_type 0x401a05e4 unsigned int> constant 148>
    align 32 symtab 0 alias set -1
    fields <field_decl 0x40259658 _flags
        type <integer_type 0x40199414 int SI
            size <integer_cst 0x401964e0 constant 32>
            unit size <integer_cst 0x40196580 constant 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x40196540 -2147483648> max <integer_cst 0x40196560 2147483647>
            pointer_to_this <pointer_type 0x401a5bc8>>
        in_system_header SI file /usr/include/libio.h line 262 size <integer_cst 0x401964e0 32> unit size <integer_cst 0x40196580 4>
        align 32 offset_align 128
        offset <integer_cst 0x40196ba0 constant 0>
        bit offset <integer_cst 0x40196c60 constant 0> context <record_type 0x4023c984 _IO_FILE> arguments <integer_cst 0x40196ba0 0>
        chain <field_decl 0x402596cc _IO_read_ptr type <pointer_type 0x401a0d98>
            unsigned in_system_header SI file /usr/include/libio.h line 267
            size <integer_cst 0x40196b20 constant 32>
            unit size <integer_cst 0x40196b80 constant 4>
            align 32 offset_align 128 offset <integer_cst 0x40196ba0 0> bit offset <integer_cst 0x401964e0 32> context <record_type 0x4023c984 _IO_FILE> arguments <integer_cst 0x40196ba0 0> chain <field_decl 0x40259740 _IO_read_end>>>
    pointer_to_this <pointer_type 0x40264984>>
TB> fields
TB> p
 <field_decl 0x40259658 _flags
    type <integer_type 0x40199414 int SI
        size <integer_cst 0x401964e0 constant 32>
        unit size <integer_cst 0x40196580 constant 4>
        align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x40196540 -2147483648> max <integer_cst 0x40196560 2147483647>
        pointer_to_this <pointer_type 0x401a5bc8>>
    in_system_header SI file /usr/include/libio.h line 262 size <integer_cst 0x401964e0 32> unit size <integer_cst 0x40196580 4>
    align 32 offset_align 128
    offset <integer_cst 0x40196ba0 type <integer_type 0x401a05e4 unsigned int> constant 0>
    bit offset <integer_cst 0x40196c60 type <integer_type 0x401a0658 bit_size_type> constant 0> context <record_type 0x4023c984 _IO_FILE> arguments <integer_cst 0x40196ba0 0> chain <field_decl 0x402596cc _IO_read_ptr>>
TB> context
TB> p
 <record_type 0x4023c984 _IO_FILE type_0 BLK
    size <integer_cst 0x402506a0 type <integer_type 0x401a0658 bit_size_type> constant 1184>
    unit size <integer_cst 0x40250660 type <integer_type 0x401a05e4 unsigned int> constant 148>
    align 32 symtab 0 alias set -1
    fields <field_decl 0x40259658 _flags
        type <integer_type 0x40199414 int SI
            size <integer_cst 0x401964e0 constant 32>
            unit size <integer_cst 0x40196580 constant 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x40196540 -2147483648> max <integer_cst 0x40196560 2147483647>
            pointer_to_this <pointer_type 0x401a5bc8>>
        in_system_header SI file /usr/include/libio.h line 262 size <integer_cst 0x401964e0 32> unit size <integer_cst 0x40196580 4>
        align 32 offset_align 128
        offset <integer_cst 0x40196ba0 constant 0>
        bit offset <integer_cst 0x40196c60 constant 0> context <record_type 0x4023c984 _IO_FILE> arguments <integer_cst 0x40196ba0 0>
        chain <field_decl 0x402596cc _IO_read_ptr type <pointer_type 0x401a0d98>
            unsigned in_system_header SI file /usr/include/libio.h line 267
            size <integer_cst 0x40196b20 constant 32>
            unit size <integer_cst 0x40196b80 constant 4>
            align 32 offset_align 128 offset <integer_cst 0x40196ba0 0> bit offset <integer_cst 0x401964e0 32> context <record_type 0x4023c984 _IO_FILE> arguments <integer_cst 0x40196ba0 0> chain <field_decl 0x40259740 _IO_read_end>>>
    pointer_to_this <pointer_type 0x40259244> chain <type_decl 0x4023c9f8>>
TB> pp
struct _IO_FILEstruct struct _IO_FILE;

TB> fun
TB> p
 <function_decl 0x4026e32c vprintf
    type <function_type 0x4026e414
        type <integer_type 0x40199414 int SI
            size <integer_cst 0x401964e0 constant 32>
            unit size <integer_cst 0x40196580 constant 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x40196540 -2147483648> max <integer_cst 0x40196560 2147483647>
            pointer_to_this <pointer_type 0x401a5bc8>>
        DI
        size <integer_cst 0x401968a0 constant 64>
        unit size <integer_cst 0x40196ac0 constant 8>
        align 64 symtab 0 alias set -1
        attributes <tree_list 0x4026d3a8
            purpose <identifier_node 0x4019fb00 nonnull>
            value <tree_list 0x401a77b0
                value <integer_cst 0x401a2600 constant 1>>
            chain <tree_list 0x4026d390
                purpose <identifier_node 0x4019fa40 format>
                value <tree_list 0x401a7960
                    value <identifier_node 0x4019fbc0 printf public global <function_decl 0x401b0e0c printf>>
                    chain <tree_list 0x401a7810 value <integer_cst 0x401a2600 1>
                        chain <tree_list 0x401a7798 value <integer_cst 0x401a25e0 0>>>>>>
        arg-types <tree_list 0x4026d330 value <pointer_type 0x40262658>
            chain <tree_list 0x4026d348 value <pointer_type 0x40219c3c __gnuc_va_list>
                chain <tree_list 0x4026d360 value <void_type 0x401a089c void>>>>>
    public in_system_header external inline QI file /usr/include/bits/stdio.h line 35
   
    arguments <parm_decl 0x40283e80 __fmt
        type <pointer_type 0x40262658 type <integer_type 0x401a5cb0 char>
            unsigned restrict SI
            size <integer_cst 0x40196b20 constant 32>
            unit size <integer_cst 0x40196b80 constant 4>
            align 32 symtab 0 alias set -1>
        unsigned used in_system_header SI file /usr/include/bits/stdio.h line 34 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
        align 32 alias set -2 context <function_decl 0x4026e32c vprintf> result <pointer_type 0x40262658> initial <pointer_type 0x40262658> arg-type <pointer_type 0x40262658> arg-type-as-written <pointer_type 0x40262658>
        chain <parm_decl 0x40283ef4 __arg type <pointer_type 0x40219c3c __gnuc_va_list>
            unsigned used in_system_header SI file /usr/include/bits/stdio.h line 34 size <integer_cst 0x40196b20 32> unit size <integer_cst 0x40196b80 4>
            align 32 context <function_decl 0x4026e32c vprintf> result <pointer_type 0x40219c3c __gnuc_va_list> initial <pointer_type 0x40219c3c __gnuc_va_list> arg-type <pointer_type 0x40219c3c __gnuc_va_list> arg-type-as-written <pointer_type 0x40219c3c __gnuc_va_list>>>
    result <result_decl 0x4028615c type <integer_type 0x40199414 int>
        in_system_header SI file /usr/include/bits/stdio.h line 35 size <integer_cst 0x401964e0 32> unit size <integer_cst 0x40196580 4>
        align 32 context <function_decl 0x4026e32c vprintf>> initial <block 0x401982ec> chain <function_decl 0x4026e074 vfprintf>>
TB> sc parm_decl
parm_decl
There's no node with this code (reachable via the walk_tree function from this node).
TB> sc pointer_type
pointer_type
Achoo!  I got this node in the tree.
TB> p
 <pointer_type 0x40262658
    type <integer_type 0x401a5cb0 char readonly QI
        size <integer_cst 0x40196380 constant 8>
        unit size <integer_cst 0x401963a0 constant 1>
        align 8 symtab 0 alias set -1 precision 8 min <integer_cst 0x40196440 -128> max <integer_cst 0x40196460 127>
        pointer_to_this <pointer_type 0x401a5d24>>
    unsigned restrict SI
    size <integer_cst 0x40196b20 type <integer_type 0x401a0658 bit_size_type> constant 32>
    unit size <integer_cst 0x40196b80 type <integer_type 0x401a05e4 unsigned int> constant 4>
    align 32 symtab 0 alias set -1>
TB>

Attachment: tree-browser.tar.gz
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]