------- Comment #6 from jakub at gcc dot gnu dot org  2008-02-15 21:07 -------
The problem is the regimplifying done by lower_omp_1.
We have
D.NNNN = s;
where both of the vars have RECORD_TYPE with TREE_ADDRESSABLE types.
lower_omp_1 sees on the right hand side VAR_DECL with DECL_VALUE_EXPR
(wi->is_lhs = false, wi->val_only = true), which is replaced with
*.omp_data_i->s which doesn't satisfy is_gimple_val predicate lower_regimplify
uses and of course the compiler isn't allowed to create temporaries of
TREE_ADDRESSABLE types on its own.  In this case I believe we need to force
the .omp_data_i->s address into a temporary first and then *temp should
hopefully satisfy the predicate.  Diego, any ideas?


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dnovillo at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35185

Reply via email to