------- Comment #1 from fxcoudert at gcc dot gnu dot org  2008-05-14 14:01 
-------
This one is mine, it's apparently due to my recent wide-characters patch. It
can be reproduced on x86_64-linux by compiling the following preprocessed file
under valgrind:

# 1 "../../../trunk/libgfortran/generated/_abs_c4.F90"
# 1 "C:\\msys\\1.0.10\\home\\FX\\ibin\\i586-pc-mingw32\\libgfortran//"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "../../../trunk/libgfortran/generated/_abs_c4.F90"
!   Copyright 2002, 2007 Free Software Foundation, Inc.

# 1 "./config.h" 1

# 37 "../../../trunk/libgfortran/generated/_abs_c4.F90" 2

# 1 "./kinds.inc" 1
# 38 "../../../trunk/libgfortran/generated/_abs_c4.F90" 2

# 1 "./c99_protos.inc" 1
# 39 "../../../trunk/libgfortran/generated/_abs_c4.F90" 2

elemental function _gfortran_specific__abs_c4 (parm)
   complex (kind=4), intent (in) :: parm
   real (kind=4) :: _gfortran_specific__abs_c4

   _gfortran_specific__abs_c4 = abs (parm)
end function


$ valgrind ./libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/f951 s.f95
==6514== Memcheck, a memory error detector.
==6514== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==6514== Using LibVEX rev 1658, a library for dynamic binary translation.
==6514== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==6514== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation
framework.
==6514== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==6514== For more details, rerun with: -v
==6514==
==6514== Invalid write of size 4
==6514==    at 0x46BCCF: preprocessor_line (scanner.c:1579)
==6514==    by 0x46C1E4: load_file (scanner.c:1851)
==6514==    by 0x46C524: gfc_new_file (scanner.c:1912)
==6514==    by 0x48390F: gfc_init (f95-lang.c:288)
==6514==    by 0x6FE768: toplev_main (toplev.c:2039)
==6514==    by 0x4B3B4C9: (below main) (in /usr/lib/debug/libc-2.3.6.so)

(it evens then manages to crash valgrind with "VALGRIND INTERNAL ERROR" and
then "valgrind: the 'impossible' happened"). Thanks Aaron for reporting it,
I'll fix it as fast as I can.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |fxcoudert at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-05-14 14:01:43
               date|                            |


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

Reply via email to