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