http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52117
--- Comment #6 from hirshmansp at ornl dot gov 2012-02-07 11:43:29 UTC --- Tobias Here are the answers to your questions: [qsh@swim SIESTA]$ gfortran -v|&grep -E 'gcc version|Target' Target: x86_64-redhat-linux gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC) It compiles/links with the -std:f95 flag, but gives the same wrong results (did not change B to B(:,:,:) since that is not a practical solution for us, lots of reshapes in our code: [qsh@swim SIESTA]$ gfortran -std=f95 reshape.f90 reshape.f90:37.11: PAUSE 1 Error: Deleted feature: PAUSE statement at (1) [qsh@swim SIESTA]$ a.out A( 1 , 1 ) = 1.0000000 B = 3.0000000 A( 2 , 1 ) = 2.0000000 B = 4.0000000 A( 1 , 2 ) = 3.0000000 B = 5.0000000 A( 2 , 2 ) = 4.0000000 B = 6.0000000 A( 1 , 3 ) = 5.0000000 B = 7.0000000 A( 2 , 3 ) = 6.0000000 B = 8.0000000 A( 1 , 4 ) = 7.0000000 B = 0.0000000 A( 2 , 4 ) = 8.0000000 B = 0.0000000 PAUSE From: Steven Hirshman [mailto:sphirsh...@yahoo.com] Sent: Monday, February 06, 2012 8:02 PM To: Hirshman, Steven Paul Subject: Fw: [Bug fortran/52117] allocated arrays give incorrect results when used with RESHAPE in gcc v4.6.2 ----- Forwarded Message ----- From: burnus at gcc dot gnu.org <gcc-bugzi...@gcc.gnu.org> To: sphirsh...@yahoo.com Sent: Monday, February 6, 2012 3:01 PM Subject: [Bug fortran/52117] allocated arrays give incorrect results when used with RESHAPE in gcc v4.6.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52117 --- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org<http://gnu.org/>> 2012-02-06 20:01:15 UTC --- (In reply to comment #4) > Thanks. I tried the -std=f95 flag and it gave the same (wrong) answer as > without it, in the test code I sent you. What is not Fortran95 compatible with > the code snippet I sent you? I works for me both with GCC 4.6 and GCC 4.7 both with the current version but also with a version which still had bug 52012. Can you please answer the following question? You only kind of answered the third question, namely that you used the original program (of comment 0). Additional, could you provide more information about the version you used ("gfortran -v"), of interest are the complete of "Target" and of "gcc version". (In reply to comment #3) > Can you provides more details? > > In particular: > - How does it fail? At compile time? At run time? With which error? > - Which version/platform of the compiler are you using? > - Is that with the code of comment 0 with only "B = RESHAPE..." changed to > "B(:) = RESHAPE..." or is it for some other code? Example on my system for a 4.6 version which has still the bug: $ gfortran-4.6 -v |& grep -E 'gcc version|Target' Target: x86_64-suse-linux gcc version 4.6.2 20111212 [gcc-4_6-branch revision 182222] (SUSE Linux) $ gfortran-4.6 -std=f95 test.f90 test.f90:37.11: PAUSE 1 Error: Deleted feature: PAUSE statement at (1) And after commenting that line: $ gfortran-4.6 -std=f95 test.f90 A( 1 , 1 ) = 1.00000000 B = 1.00000000 A( 2 , 1 ) = 2.00000000 B = 2.00000000 A( 1 , 2 ) = 3.00000000 B = 3.00000000 A( 2 , 2 ) = 4.00000000 B = 4.00000000 A( 1 , 3 ) = 5.00000000 B = 5.00000000 A( 2 , 3 ) = 6.00000000 B = 6.00000000 A( 1 , 4 ) = 7.00000000 B = 7.00000000 A( 2 , 4 ) = 8.00000000 B = 8.00000000 The output looks correct and is the same as with other compilers. However, if I use the buggy version of the compiler without -std=f95, I get: $ gfortran-4.6 hj4.f90 && ./a.out A( 1 , 1 ) = 1.00000000 B = 3.00000000 A( 2 , 1 ) = 2.00000000 B = 4.00000000 A( 1 , 2 ) = 3.00000000 B = 5.00000000 A( 2 , 2 ) = 4.00000000 B = 6.00000000 A( 1 , 3 ) = 5.00000000 B = 7.00000000 A( 2 , 3 ) = 6.00000000 B = 8.00000000 A( 1 , 4 ) = 7.00000000 B = 3.36311631E-44 A( 2 , 4 ) = 8.00000000 B = 9.62964972E-35 As written, using "(:)" - or to be more precise (it's a rank-3 array) - "B(:,:,:) = ", -fno-realloc-lhs, or a newer version of the compiler solves the problem as well. -- Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You reported the bug.