On 10/24/2015 02:31 PM, Ivan Kulagin wrote: > Hello! > > I am writing some plugin and I have a problem with creating a function call. > For creating call (by gimple_build_call) I have to specify the > function_decl tree. Does it work when GIMPLE representation is already built (just checking)? > How can I get the list of all declarations (that used not only in > current function, I need get the all available declarations also from > included headers) in order to lookup by identifier function_decl which > I want to call? You probably need to use the symbol table. See the 'symbol_table' class defined in 'cgraph.h' (there is a global instance of this class, 'symtab'). > > For example: > /* lookup_fn_decl - It is some pseudo-function which searches a > function declaration by identifier */ There is a 'cgraph_node::get' static method. > /* all_decl_list_head - It is pointer to the head list of all > declarations. It is what I need */ Something like 'symtab->first_symbol ()' should work. There is also a macro for walking all declared symbols, 'FOR_EACH_SYMBOL'. -- Regards, Mikhail Maltsev