[PATCH] D71241: [OpenMP][WIP] Use overload centric declare variants
Johannes Doerfert via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 13 08:42:55 PST 2019
jdoerfert added a comment.
In D71241#1783362 <https://reviews.llvm.org/D71241#1783362>, @ABataev wrote:
> >>> - Take https://godbolt.org/z/2evvtN which shows that the alias solution is incompatible with linking.
> >>
> >> Undefined behavior according to the standard.
> >
> > I don't think so. If you do, please reference the rules this would violate.
>
> Page 59, 25-27.
OpenMP 5.0, Page 59, 25-27:
> • If the function has any declarations, then the declare variant directives for any declarations that have one must be equivalent. If the function definition has a declare variant, it must also be equivalent. Otherwise, the result is unspecified.
In the example (https://godbolt.org/z/2evvtN), all `declare variant` directives on declarations *that have one* are equivalent, since only on declaration has a `declare variant`. Since the function definition does not have a `declare variant`, the second restriction is also fulfilled.
To summarize, this example is broken in the current scheme and valid according to the spec.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71241/new/
https://reviews.llvm.org/D71241
More information about the cfe-commits
mailing list