https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113905
--- Comment #6 from Tobias Burnus ---
See also bug #118690 for some Fortran issues related to declare variant
diagnostic.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113905
--- Comment #5 from Tobias Burnus ---
I have asked at OpenMP.org's lang mailing list. Alex replied:
> This should be invalid (or so was the intent) as the
> construct set doesn’t match.
Thus, it seems as if GCC handles it correctly :-)
(Or at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113905
--- Comment #4 from sandra at gcc dot gnu.org ---
Hmmm. Look also at item 2 at the bottom of page 283, that says that construct
selectors for a variant function are added to its enclosing OpenMP context. I
thought this was the reason for the re
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113905
--- Comment #3 from Tobias Burnus ---
I bet that the spec writers ment the following (i.e. with the text written in
brackets):
“If a procedure is determined to be a function variant through more than one
declare variant directive [for a given b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113905
--- Comment #2 from sandra at gcc dot gnu.org ---
Isn't this explicitly prohibited by the spec? Second bullet point at the top
of page 295 in TR13 says:
"If a procedure is determined to be a function variant through more than one
declare varian
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113905
--- Comment #1 from Tobias Burnus ---
Ups, testcase was lost. Re-written from scratch:
---
int var1() { return 1; }
int var2() { return 2; }
#pragma omp declare variant (var1) match(construct={target})
#pragma omp declare varian