From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20166 invoked by alias); 13 Aug 2005 18:51:46 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 20158 invoked by uid 48); 13 Aug 2005 18:51:43 -0000 Date: Sat, 13 Aug 2005 18:51:00 -0000 Message-ID: <20050813185143.20156.qmail@sourceware.org> From: "tobi at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050813091629.23373.tkoenig@gcc.gnu.org> References: <20050813091629.23373.tkoenig@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug fortran/23373] Functions returning pointers with pointer argument X-Bugzilla-Reason: CC X-SW-Source: 2005-08/txt/msg01519.txt.bz2 List-Id: ------- Additional Comments From tobi at gcc dot gnu dot org 2005-08-13 18:51 ------- Interestingly, for characters we do the correct copying: schluter@pcl247d:~/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 schluter@pcl247d:~/src/tests> ../gcc/build/gcc/f951 test2.f90 -fdump-tree-original -quiet schluter@pcl247d:~/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