[Bug middle-end/86416] [OpenMP] Offloading - better lto1 error message if mode not supported on offloading target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86416 --- Comment #13 from Jakub Jelinek --- Author: jakub Date: Wed Dec 18 23:27:28 2019 New Revision: 279552 URL: https://gcc.gnu.org/viewcvs?rev=279552&root=gcc&view=rev Log: PR middle-end/86416 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than q or none. * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than L or none. Modified: trunk/libgomp/ChangeLog trunk/libgomp/testsuite/libgomp.c/pr86416-1.c trunk/libgomp/testsuite/libgomp.c/pr86416-2.c
[Bug middle-end/86416] [OpenMP] Offloading - better lto1 error message if mode not supported on offloading target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86416 --- Comment #12 from Thomas Schwinge --- (In reply to Jakub Jelinek from comment #11) > because e.g. for x86_64-intelmicemul-linux-gnu offloading the error will not > be emitted. If nvptx or gcn offloading is configured, it will be, for hsa > offloading no idea. Uh, more explicitly: for x86_64-intelmicemul-linux-gnu offloading the error will not be emitted *unless* nvptx or gcn offloading is also configured. That's because for OpenMP libgomp testing we don't cycle through the different offload targets individually (via '-foffload', as done for OpenACC libgomp testing), but compile once, for all offload targets. Each approach has its pros and cons; I'm not yet decided on which is best. (What I am decided on, though, is that it's not ideal that by default OpenMP offloading testing is only testing execution with one offload target, the first configured/available. Again there are different solutions possible to this issue, again each with its pros and cons, and this is, of course a separate discussion.)
[Bug middle-end/86416] [OpenMP] Offloading - better lto1 error message if mode not supported on offloading target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86416 --- Comment #11 from Jakub Jelinek --- Indeed, the q and L suffixes are swapped, I believe Tobias meant: --- libgomp/testsuite/libgomp.c/pr86416-1.c.jj 2019-12-18 21:25:02.856131826 +0100 +++ libgomp/testsuite/libgomp.c/pr86416-1.c 2019-12-18 21:28:06.275349386 +0100 @@ -16,7 +16,7 @@ long double foo (long double x) int main() { - long double v = foo (10.0q) - 20.0q; - if (v > 1.0e-5 || v < -1.0e-5) abort(); + long double v = foo (10.0L) - 20.0L; + if (v > 1.0e-5L || v < -1.0e-5L) abort(); return 0; } --- libgomp/testsuite/libgomp.c/pr86416-2.c.jj 2019-12-18 21:25:02.855131842 +0100 +++ libgomp/testsuite/libgomp.c/pr86416-2.c 2019-12-18 21:28:41.708811864 +0100 @@ -16,7 +16,7 @@ __float128 foo(__float128 y) int main() { - __float128 v = foo (5.0L) - 20.0L; - if (v > 1.0e-5 || v < -1.0e-5) abort(); + __float128 v = foo (5.0Q) - 20.0Q; + if (v > 1.0e-5Q || v < -1.0e-5Q) abort(); return 0; } and will test that momentarily. That said, I think that isn't enough, because e.g. for x86_64-intelmicemul-linux-gnu offloading the error will not be emitted. If nvptx or gcn offloading is configured, it will be, for hsa offloading no idea.
[Bug middle-end/86416] [OpenMP] Offloading - better lto1 error message if mode not supported on offloading target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86416 Thomas Schwinge changed: What|Removed |Added Status|RESOLVED|REOPENED CC||tschwinge at gcc dot gnu.org Resolution|FIXED |--- --- Comment #10 from Thomas Schwinge --- Thanks for your work on this. (In reply to Tobias Burnus from comment #8) > New Revision: 279528 > Added: > trunk/libgomp/testsuite/libgomp.c/pr86416-1.c > trunk/libgomp/testsuite/libgomp.c/pr86416-2.c On powerpc64le-unknown-linux-gnu without offloading, I see both these FAIL, because: "error: __float128 and long double cannot be used in the same expression". ;-O
[Bug middle-end/86416] [OpenMP] Offloading - better lto1 error message if mode not supported on offloading target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86416 Tobias Burnus changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #9 from Tobias Burnus --- First issue was: lto1: fatal error: unsupported mode TF Namely, a not that readable error message if a mode is not supported. (Here: 'complex(kind=16)' which is a float128-type complex number, which is only supported on the host but not on the device (nvptx/Nvidia).) [Side remark: The user intended complex*16 = complex(kind=8) = double-precision complex.] This now gives a message such as: lto1: fatal error: nvptx-none - 128-bit-precision floating-point numbers unsupported (mode 'TF') Which is better readable. → FIXED by the commit r279528 of comment 8. The second issue was: CHARACTER default mapping didn't match the spec for 'scalar' Well, OpenMP's terminology states that Fortran CHARACTER aren't scalars. Hence: → INVALID As all issues are resolved, I close the bug. – Thanks for implicit suggestion to improve the error message!
[Bug middle-end/86416] [OpenMP] Offloading - better lto1 error message if mode not supported on offloading target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86416 --- Comment #8 from Tobias Burnus --- Author: burnus Date: Wed Dec 18 16:51:08 2019 New Revision: 279528 URL: https://gcc.gnu.org/viewcvs?rev=279528&root=gcc&view=rev Log: PR 86416 – improve lto1 diagnostic if a mode does not exist PR middle-end/86416 * Makefile.in (CFLAGS-lto-streamer-in.o): Pass target_noncanonical on. * lto-streamer-in.c (lto_input_mode_table): Improve unsupported-mode diagnostic. PR middle-end/86416 * testsuite/libgomp.c/pr86416-1.c: New. * testsuite/libgomp.c/pr86416-2.c: New. Added: trunk/libgomp/testsuite/libgomp.c/pr86416-1.c trunk/libgomp/testsuite/libgomp.c/pr86416-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/lto-streamer-in.c trunk/libgomp/ChangeLog
[Bug middle-end/86416] [OpenMP] Offloading - better lto1 error message if mode not supported on offloading target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86416 Tobias Burnus changed: What|Removed |Added Keywords||lto Component|fortran |middle-end Summary|[OMPVV SOLLVE] Defaultmap |[OpenMP] Offloading - |issues on OpenMP 4.5|better lto1 error message ||if mode not supported on ||offloading target --- Comment #7 from Tobias Burnus --- Let's change the PR's subject to something more explicit for the first issue. (Especially as the second one is INVALID.) I have also posted an initial patch: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00970.html