On Fri, Oct 24, 2014 at 08:15:36AM +0100, Phil Muldoon wrote: > On 10/10/14 22:58, Jeff Law wrote: > > On 10/09/14 03:07, Phil Muldoon wrote: > >> > >> Sorry for taking so long to reply. We've talked, on irc and elsewhere > >> a little (some at the Cauldron too!). I think the consensus is as > >> nobody has explicitly mentioned anything, this is OK to go in? > > Yes, please go ahead and check it in. You'll be the first contact point if > > something goes wrong :-) > > > > Given the length of time since the original post and now, can you please do > > sanity bootstrap to make sure nothing's bitrotted before you commit? > > I rebased the patch on top of GCC head (from the git repository), > updated the ChangeLogs, etc from two days ago (it takes two days to do > a full rebase, pristine and patched bootstrap and testrun on my poor > laptop ;). > > I've built both pristine and patched branches with bootstrap enabled. > I ran both testsuites and used contrib/compare_tests to make sure > everything was as it should be. compare_tests reports everything as > fine. One minor change I found, was due to some ongoing work on > hash_tables. It seems to parameterless constructor call for a new > hash table has been removed. This was trivially fixed with the patch > attached. Even though (to me) it is obvious, what do you think?
> --- a/libcc1/plugin.cc > +++ b/libcc1/plugin.cc > @@ -220,13 +220,10 @@ static plugin_context *current_context; > > plugin_context::plugin_context (int fd) > : cc1_plugin::connection (fd), > - address_map (), > - preserved (), > - file_names () > + address_map (30), > + preserved (30), > + file_names (30) > { > - address_map.create (20); > - preserved.create (20); > - file_names.create (20); This is http://gcc.gnu.org/r211936 , i.e. https://gcc.gnu.org/ml/gcc-patches/2014-06/msg01598.html so the changes are fine. > } > > void > @@ -236,8 +233,8 @@ plugin_context::mark () > it != address_map.end (); > ++it) > { > - ggc_mark ((*it).decl); > - ggc_mark ((*it).address); > + ggc_mark ((*it)->decl); > + ggc_mark ((*it)->address); > } And this is http://gcc.gnu.org/r211937 , i.e. https://gcc.gnu.org/ml/gcc-patches/2014-06/msg01599.html in action. > for (hash_table< pointer_hash<tree_node> >::iterator it = preserved.begin > (); So, if these are the only non-obvious changes you needed, please go ahead and commit. Jakub