General search for symbols...
Ilia Dyatchkov
dyatchkov@lab.sun.mcst.ru
Wed Apr 2 15:07:00 GMT 2003
>I am trying to port GCC to another machine.
>Given that I have a file <new gcc
>path>/gcc/config/<machine>/<machine>.c, how would I, within any of the
>functions in that file find out if a certain symbol has been defined by
>a "#define" statement in the C source that is being compiled?
>
>E.g., the source file consists of one line:
>#define DEFINED_CONSTANT_2
>
>Note: my call to print_node CRASHES the compiler.
>
>I have tried various versions of:
>
> if((decl = getdecls()))
> print_node(stderr,"tree: ",decl,4); /* this CRASHES!!! */
Try debug_tree(decl);
>
> for ( ; decl; decl = TREE_CHAIN (decl))
> {
> if (TREE_CODE (decl) == IDENTIFIER_NODE)
> {
> if(!strcmp(IDENTIFIER_POINTER(decl),"DEFINED_CONSTANT_1"))
> fprintf(stderr,"DEFINED_CONSTANT_1" found, code
>%d\n",TREE_CODE(decl));
> else if(!strcmp(IDENTIFIER_POINTER(decl),"DEFINED_CONSTANT_2"))
> fprintf(stderr,"DEFINED_CONSTANT_2 found, code
>%d\n",TREE_CODE(decl));
> }
> }
More information about the Gcc
mailing list