Debugging Macros

Andrew Haley aph@redhat.com
Thu Jan 24 08:46:00 GMT 2008


Tom Browder wrote:
> I'm trying to debug a gcc frontend (cobol for gcc) and get errors such as:
> 
> ../../gcctrunk_with_cobol/gcc/cobol/cobcbei.c:462: error: invalid
> application of 'sizeof' to incomplete type 'struct lang_identifier'
> ../../gcctrunk_with_cobol/gcc/cobol/cobcbei.c:462: error: 'getdecls'
> undeclared here (not in a function)
> ../../gcctrunk_with_cobol/gcc/cobol/cobcbei.c:468: error: conflicting
> types for 'tree_code_type'
> 
> which come from nested macros in gcc code.
> 
> Is there an easy way (such as defining an environment variable in the
> build environment) to get the gcc build system to show the
> preprocessed code to help backtrack the problem?

Set your CC when running make: "make CC='gcc -g -save-temps -Wp,-dD ...'

This will give you all macro definitions, expanded in .i files.

For extra credit, run the .i files through GNU indent.

Andrew.



More information about the Gcc-help mailing list