Hello On Mon, 12 Feb 2007 19:46:35 -0800 Mike Stump <mrs at apple dot com> wrote
> The mental model you should use for PCH is this, when processing a header, > the compiler does a complete memory walk and dumps it to a file. Upon > `reading' the pch file, it mmaps all that memory back in, throwing out all > previously allocated memory, and continues just after the #include. A big thanks for the explanation, which is something I partly guessed, but which leaves me in a deep trouble :-) what happens with the data previously loaded by a previous pch include file? I can't figure out why every GTY()-ed global data (extern or static) should be overwritten at each PCH inclusion, but then maybe I am wrong. It seems to me that some such GTY-ed global data might explicily want not to be reloaded, or maybe want to be always cleeared at each pch reload. However, I am not sure there is any GTY tag for this. I also don't understand at which point of the compilation is the PCH dumped. For example, do PCH file contain Gimple-SSA trees (I would guess yes) or only Generic trees? Maybe such precious knowledge about GTY & PCH should go into the documentation or the wiki? I did't found much information on this in http://gcc.gnu.org/onlinedocs/gccint/Type-Information.html A big thanks to all for the information. Regards -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359 8, rue de la Faïencerie, 92340 Bourg La Reine, France *** opinions {are only mines, sont seulement les miennes} ***