On Fri, 25 Nov 2016, Prathamesh Kulkarni wrote:

> On 25 November 2016 at 13:43, Richard Biener <rguent...@suse.de> wrote:
> > On Fri, 25 Nov 2016, Jakub Jelinek wrote:
> >
> >> On Fri, Nov 25, 2016 at 01:28:06PM +0530, Prathamesh Kulkarni wrote:
> >> > --- a/gcc/lto/lto-lang.c
> >> > +++ b/gcc/lto/lto-lang.c
> >> > @@ -1271,8 +1271,30 @@ lto_init (void)
> >> >    gcc_assert (TYPE_MAIN_VARIANT (const_tm_ptr_type_node)
> >> >           == const_ptr_type_node);
> >> >
> >> > -  ptrdiff_type_node = integer_type_node;
> >> > +  if (strcmp (PTRDIFF_TYPE, "int") == 0)
> >> > +    ptrdiff_type_node = integer_type_node;
> >> > +  else if (strcmp (PTRDIFF_TYPE, "long int") == 0)
> >> > +    ptrdiff_type_node = long_integer_type_node;
> >> > +  else if (strcmp (PTRDIFF_TYPE, "long long int") == 0)
> >> > +    ptrdiff_type_node = long_long_integer_type_node;
> >> > +  else if (strcmp (PTRDIFF_TYPE, "short int") == 0)
> >> > +    ptrdiff_type_node = short_integer_type_node;
> >> > +  else
> >> > +    {
> >> > +      ptrdiff_type_node = NULL_TREE;
> >> > +      for (int i = 0; i < NUM_INT_N_ENTS; i++)
> >> > +   if (int_n_enabled_p[i])
> >> > +     {
> >> > +       char name[50];
> >> > +       sprintf (name, "__int%d", int_n_data[i].bitsize);
> >> > +       if (strcmp (name, PTRDIFF_TYPE) == 0)
> >> > +         ptrdiff_type_node = int_n_trees[i].signed_type;
> >> > +     }
> >> > +      if (ptrdiff_type_node == NULL_TREE)
> >> > +   gcc_unreachable ();
> >> > +    }
> >>
> >> This looks ok to me.
> >
> > But I'd like to see this in build_common_tree_nodes alongside
> > the initialization of size_type_node (and thus removed from
> > c_common_nodes_and_builtins).  This way you can simply remove
> > the lto-lang.c code as well.
> >
> > Please then also remove the ptrdiff_type_node re-set from
> > free_lang_data ().
> Hi Richard,
> Does this version look OK ?
> Validation in progress.

Yes, patch is ok if testing succeeds.

Thanks,
Richard.

Reply via email to