https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107444

--- Comment #1 from anlauf at gcc dot gnu.org ---
It appears that there is also confusion about the procedure decl.
This is demonstrated by:

program p
  call s()
  call s('')   ! Actual argument is too short, reject?
  call s('a')
  call s('ab')
contains
  subroutine s (c)
    character, value, optional :: c
  end subroutine s
end

The dump tree shows:

void s (character(kind=1)[1:1] c, integer(kind=8) _c)

[...]

void p ()
{
  static void s (character(kind=1)[1:1], integer(kind=8));

  s (0B, 0);
  s ("", 1, 0);
  s ("a", 1, 1);
  s ("ab", 1, 2);

Reply via email to