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;

Reply via email to