Plugins PLUGIN_PRE_GENERICIZE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I has builded a plugins ( do not do nothing )

with a call back PLUGIN_PRE_GENERICIZE to analise the AST, for undocumented reason i get N callback where N-1 callback has incomplete AST
and the N has complete AST, there is a way to avoid the N-1 callbacks ?

..................................................
...............................................

void collect (tree ns)
{
    tree decl;
    cp_binding_level* level (NAMESPACE_LEVEL (ns));

    // Collect declarations.
    //

    for (decl = level->names; decl != 0; decl = TREE_CHAIN (decl))
    {
        if (DECL_IS_BUILTIN (decl))
        continue;
        
        if (TREE_CODE(decl) == FUNCTION_DECL)
            std::cerr << IDENTIFIER_POINTER(DECL_NAME(decl)) << "  " << DECL_SAVED_TREE(decl) << "\n";
    }
}

extern "C" void gate_callback (void*, void*)
{
    
    if (errorcount || sorrycount)
        return;
 
//    int r (0);
 
    std::cerr << "processing " << main_input_filename << "\n";
    collect (global_namespace);
    
//    exit (r);
}

extern "C" int plugin_init (plugin_name_args* info, plugin_gcc_version* ver)
{
    if (!plugin_default_version_check (ver, &gcc_version))
        return 1;

    int r (0);

    std::cerr << "starting " << info->base_name << "\n";

    asm_file_name = HOST_BIT_BUCKET;

    register_callback (info->base_name, PLUGIN_PRE_GENERICIZE, &gate_callback, 0);

    return r;
}

 		 	   		  
_________________________________________________________________
Il tuo mondo MSN a portata di clic. Scarica IE8 per MSN
http://events.it.msn.com/internet-explorer-8



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux