------- Additional Comments From tobi at gcc dot gnu dot org  2005-08-13 18:51 
-------
Interestingly, for characters we do the correct copying:
[EMAIL PROTECTED]:~/src/tests> cat test2.f90
program ac
  character*10 a
  a = "abc"
  a = f(a)

contains

  function f(b) result(x)
        character*10 b, x
     x = "falsch"
     b = b//"richtig"

  end function
end program
[EMAIL PROTECTED]:~/src/tests> ../gcc/build/gcc/f951 test2.f90
-fdump-tree-original -quiet
[EMAIL PROTECTED]:~/src/tests> tail -15 test2.f90.t02.original
MAIN__ ()
{
  char a[1:10];
  static void f (char[1:10] &, int4, char[1:10] &, int4);

  _gfortran_copy_string (10, &a, 3, "abc");
  {
    char str.1[10];

    f ((char[1:10] *) &str.1, 10, &a, 10);
    _gfortran_copy_string (10, &a, 10, (char[1:10] *) &str.1);
  }
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23373

Reply via email to