On Sat, Jun 28, 2025 at 12:03 PM Jeff Law <jeffreya...@gmail.com> wrote: > > > > On 6/27/25 5:34 PM, H.J. Lu wrote: > > Add "void debug (tree)" to support: > > > > (gdb) call debug (expr) > > <parm_decl 0x7fffe9810bb0 f > > type <record_type 0x7fffe99cec78 c BLK > > size <integer_cst 0x7fffe98242d0 constant 256> > > unit-size <integer_cst 0x7fffe98243a8 constant 32> > > user align:256 warn_if_not_align:0 symtab:0 alias-set -1 > > canonical-type > > 0x7fffe99cebd0 > > fields <field_decl 0x7fffe98318c0 a type <real_type 0x7fffe982a3f0 > > long > > double> > > XF x.c:2:15 > > size <integer_cst 0x7fffe9802fa8 constant 128> > > unit-size <integer_cst 0x7fffe9802fc0 constant 16> > > align:128 warn_if_not_align:0 offset_align 128 > > decl_not_flexarray: 1 > > offset <integer_cst 0x7fffe9802f90 constant 0> > > bit-offset <integer_cst 0x7fffe9802fd8 constant 0> context > > <record_t > > ype 0x7fffe99cebd0> chain <field_decl 0x7fffe9831960 b>>> > > used read BLK x.c:7:6 size <integer_cst 0x7fffe98242d0 256> unit-size > > <integ > > er_cst 0x7fffe98243a8 32> > > align:256 warn_if_not_align:0 context <function_decl 0x7fffe99d2900 e> > > arg-t > > ype <record_type 0x7fffe99cec78 c>> > > (gdb) > > > > PR debug/120849 > > * print-tree.cc (debug): New. > > * print-tree.h (debug): Likewise. > > > > OK for master? > Umm, just use debug_tree? What am I missing? >
There are many debug functions: bitmap.h:extern void debug (const bitmap_head &ref); bitmap.h:extern void debug (const bitmap_head *ptr); bitmap.h:extern void debug (const auto_bitmap &ref); bitmap.h:extern void debug (const auto_bitmap *ptr); cfg.h:extern void debug (edge_def &ref); cfg.h:extern void debug (edge_def *ptr); diagnostic-path.h:extern void debug (diagnostic_path *path); dwarf2out.h:extern void debug (die_struct &ref); dwarf2out.h:extern void debug (die_struct *ptr); gimple-pretty-print.h:extern void debug (gimple &ref); gimple-pretty-print.h:extern void debug (gimple *ptr); ira-int.h:extern void debug (ira_allocno_copy &ref); ira-int.h:extern void debug (ira_allocno_copy *ptr); ira-int.h:extern void debug (ira_allocno &ref); ira-int.h:extern void debug (ira_allocno *ptr); ira-int.h:extern void debug (live_range &ref); ira-int.h:extern void debug (live_range *ptr); lra-int.h:extern void debug (lra_live_range &ref); lra-int.h:extern void debug (lra_live_range *ptr); print-tree.h:extern void debug (const tree_node &ref); print-tree.h:extern void debug (const tree_node *ptr); print-tree.h:extern void debug (vec<tree, va_gc> &ref); print-tree.h:extern void debug (vec<tree, va_gc> *ptr); rtl.h:extern void debug (const rtx_def &ref); rtl.h:extern void debug (const rtx_def *ptr); sbitmap.h:extern void debug (const simple_bitmap_def &ref); sbitmap.h:extern void debug (const simple_bitmap_def *ptr); sel-sched-dump.h:extern void debug (vinsn_def &ref); sel-sched-dump.h:extern void debug (vinsn_def *ptr); sel-sched-dump.h:extern void debug (expr_def &ref); sel-sched-dump.h:extern void debug (expr_def *ptr); sel-sched-dump.h:extern void debug (vec<rtx> &ref); sel-sched-dump.h:extern void debug (vec<rtx> *ptr); sreal.h:extern void debug (const sreal &ref); sreal.h:extern void debug (const sreal *ptr); tree-cfg.h:extern void debug (class loop &ref); tree-cfg.h:extern void debug (class loop *ptr); tree-data-ref.h:extern void debug (data_reference &ref); tree-data-ref.h:extern void debug (data_reference *ptr); tree-data-ref.h:extern void debug (vec<data_reference_p> &ref); tree-data-ref.h:extern void debug (vec<data_reference_p> *ptr); tree-data-ref.h:extern void debug (vec<ddr_p> &ref); tree-data-ref.h:extern void debug (vec<ddr_p> *ptr); tree-ssa-alias.h:extern void debug (pt_solution &ref); tree-ssa-alias.h:extern void debug (pt_solution *ptr); tree-ssa-live.h:extern void debug (_var_map &ref); tree-ssa-live.h:extern void debug (_var_map *ptr); tree-ssa-live.h:extern void debug (tree_live_info_d &ref); tree-ssa-live.h:extern void debug (tree_live_info_d *ptr); one can just use "call debug (xxx)" in gdb without having to remember which debug_xxx to use. It works on most types, except for tree. -- H.J.