[PATCH] D40752: [OpenMP] Fix assert fail after target implicit map checks

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 5 13:24:36 PST 2017


ABataev added a comment.

In https://reviews.llvm.org/D40752#945571, @jdenny wrote:

> In https://reviews.llvm.org/D40752#945255, @ABataev wrote:
>
> > In https://reviews.llvm.org/D40752#945234, @jdenny wrote:
> >
> > > r319774 works for my current use cases.  Thanks.
> > >
> > > While we're on this topic, do you happen to know the rationale behind the OpenMP restriction for which err_omp_union_type_not_allowed diagnoses violations?  I googled but couldn't find the rationale.  If you would prefer that I ask this in a different forum, would you please suggest one?  Thanks.
> >
> >
> > You cannot map the member of the union, but you can map the whole union. Mapping of separate members is not allowed because you will definitely have troubles with overlapping memory for union members.
>
>
> Thanks for that clarification.  Is there any way to word the error message "mapped storage cannot be derived from a union" to make this point clearer?  I'm thinking "an individual member of" instead of "derived from" would help.  Does that work ok?
>
> > You can try it now, there should no more error messages
>
> Yes.  Thanks.


I agree, that error message does not sound quite good. Maybe, `mapping of union members is not allowed`?


https://reviews.llvm.org/D40752





More information about the cfe-commits mailing list