ggc: from static to extern: where is the GTY(()) ending up?
Georg-Johann Lay
avr@gjlay.de
Thu Jan 26 19:36:00 GMT 2012
for the avr prort I'd like to change some GTYed rtx from atatic to extern, i.e.
from
// avr.c
static GTY(()) rtx var;
to
// avr-protos.h
#ifdef RTX_CODE
extern GTY(()) rtx var;
#endif /* RTX_CODE */
// avr.c
rtx var;
In the first variant I see markers generated in gt-avr.h but in the second
variant I cannot find any markers for var in the whole build gcc directory.
What am I missing?
With the following additional line it works and there are markers in gt-avr.h:
// avr.c
extern GTY(()) rtx var;
rtx var;
Who is responsible for the global markers? I'd expect a reference to var in at
least one place of some auto-generated h file...
>From http://gcc.gnu.org/onlinedocs/gccint/GGC-Roots.html the second variant
should work, shouldn't it?
Johann
More information about the Gcc-help
mailing list