[Bug middle-end/35185] ICE using openmp with g++-4.2
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Feb 15 21:07:00 GMT 2008
------- 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
More information about the Gcc-bugs
mailing list