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

Reply via email to