hi,

I'm only commenting on algorithmic stuff at this point, you should make
sure this doesn't regress anything in make check.  This stuff only
effects code using omp stuff so compiling random c++ is unlikely to test
this code at all.

Also please follow the style in
https://gcc.gnu.org/codingconventions.html
and usually try to make new code similar to what's around it.

@@ -384,7 +386,7 @@ new_omp_context (enum omp_region_type region_type)
 
   c = XCNEW (struct gimplify_omp_ctx);
   c->outer_context = gimplify_omp_ctxp;
-  c->variables = splay_tree_new (splay_tree_compare_decl_uid, 0, 0);
+  //c->variables = splay_tree_new (splay_tree_compare_decl_uid, 0, 0);

 I don't think this is what you want, xcnew is a calloc wrapper and
 doesn't call the ctor for gimplify_omp_ctx.  For now placement new is
 probably the simplest way to get what you want.

-static void
-delete_omp_context (struct gimplify_omp_ctx *c)
-{
-  splay_tree_delete (c->variables);
-  delete c->privatized_types;
-  XDELETE (c);
-}

hm, why?

-gimplify_adjust_omp_clauses_1 (splay_tree_node n, void *data)
+gimplify_adjust_omp_clauses_1 (std::pair<tree, unsigned> n, void *data)

You can now change the type of data from void * to  const
gimplify_adjust_omp_clauses_data *

 thanks!

 Trev

On Fri, Mar 13, 2015 at 07:32:03PM +0000, Aditya K wrote:
> You're right. I'll change this to:
> 
> /* A stable comparison functor to sort trees.  */
> struct tree_compare_decl_uid {
>   bool  operator ()(const tree &xa, const tree &xb) const
>   {
>     return DECL_UID (xa) < DECL_UID (xb);
>   }
> };
> 
> New patch attached.
> 
> 
> Thanks,
> -Aditya
> 
> 
> ----------------------------------------
> > Date: Fri, 13 Mar 2015 19:02:11 +0000
> > Subject: Re: Proposal for adding splay_tree_find (to find elements without 
> > updating the nodes).
> > From: jwakely....@gmail.com
> > To: hiradi...@msn.com
> > CC: richard.guent...@gmail.com; stevenb....@gmail.com; gcc@gcc.gnu.org
> >
> > Are you sure your compare_variables functor is correct?
> >
> > Subtracting the two values seems very strange for a strict weak ordering.
> >
> > (Also "compare_variables" is a pretty poor name!)
>                                         


Reply via email to