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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org,
                   |                            |rth at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-05-04 
15:31:38 UTC ---
Broken by:
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149750
i.e. gimplification unit-a-time.  The problem is we won't know until
gimplification whether some non-POD vars will be firstprivate or not, and when
gimplification has been postponed so late, instantiate_pending_templates won't
be called any longer.
Unfortunately, I think duplicating most of the OpenMP related code from
gimplify.c to find out implicitly firstprivate vars in task constructs earlier
would be very hard and huge amount of code duplication, on the other side if we
wanted to instantiate the missing templates late, we'd have to basically repeat
the whole do { ... } while (reconsider); loop from
cp_write_global_declarations from within some langhook (I don't think we can do
that while in the middle of gimplifying something).
Richard/Richard/Jason, any ideas?

Reply via email to