[Bug middle-end/47650] wrong output of print_generic_decl() called from a plugin
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Wed Feb 9 16:45:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47650
--- Comment #9 from rguenther at suse dot de <rguenther at suse dot de> 2011-02-09 16:33:30 UTC ---
On Wed, 9 Feb 2011, joe at mcknight dot de wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47650
>
> --- Comment #8 from joe at mcknight dot de 2011-02-09 16:23:44 UTC ---
> (In reply to comment #6)
> > See http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00956.html for a patch
> > (queued for 4.7, several tree-dump check testcases have to be adjusted).
>
> Richard, I've found another example for incorrect output of
> print_generic_decl().
>
> Here:
>
> typedef struct {
> double dvar;
> int ivar;
> } *tpdefp;
>
> int myfunc(tpdefp var);
>
> The output would not treat the variable as being of the new type but it would
> repeat the declaration of the struct in print_generic_decl() and output
> (including newlines):
>
> extern int myfunc (struct
> {
> double dvar;
> int ivar;
> } *);
>
> That could be related to the function pointer issue where print_generic_decl()
> also rather repeats the declaration instead of printing the new type.
You should use a debugger to see why that happens, it should end up
printing TYPE_NAME which should be a TYPE_DECL with a DECL_NAME
which should be an IDENTIFIER_NODE. You can also try TDF_SLIM.
Richard.
More information about the Gcc-bugs
mailing list