I wanted to go through declarations in a function and print them out so as to get more familiar with them before being able to manipulate them. I wrote this function as a plugin; it successfully writes out all statements but mysteriouslty the declarations are missing. What am I missing? Is there a different way to iterate through declarations? thanks jeff
static tree my_walk_stmt(gimple_stmt_iterator *gsi, bool *oprnds_handled, struct walk_stmt_info *stmt_info) { int code; gimple stmt = gsi_stmt(*gsi); code = gimple_code(stmt); switch(code) { default: printf("Gimple code = %s\n", gimple_code_name[code]); break; } *oprnds_handled = true; return NULL_TREE; } static unsigned int execute_var_alias(void) { gimple_stmt_iterator gsi; gimple_seq seq; seq = gimple_body(current_function_decl); for (gsi = gsi_start(seq); !gsi_end_p(gsi); gsi_next(&gsi)) { gimple stmt = gsi_stmt(gsi); walk_gimple_stmt(&gsi, my_walk_stmt, NULL, NULL); } }