https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86416
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- 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.