https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99256
--- Comment #4 from anlauf at gcc dot gnu.org ---
(In reply to anlauf from comment #3)
Even simpler fix, as intrinsics do not accept alternate return specifiers:
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index a7ecdb401ef..4e5ec966d94 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -4420,7 +4420,7 @@ do_sort:
FOR_EACH_VEC_ELT (dummy_args, idx, f)
{
a = ordered_actual_args[idx];
- if (a && a->label != NULL && f->ts.type)
+ if (a && a->label != NULL)
{
gfc_error ("ALTERNATE RETURN not permitted at %L", where);
return false;