This is the mail archive of the gcc@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]

Beginner: Declarations do not show up when iterating through Gimple stmts


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);
    }
}


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