This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/49278] internal compiler error: Segmentation fault
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 6 Jun 2011 08:23:12 +0000
- Subject: [Bug fortran/49278] internal compiler error: Segmentation fault
- Auto-submitted: auto-generated
- References: <bug-49278-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49278
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu.org
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-06-06 08:22:53 UTC ---
(In reply to comment #2)
> The following aborts. Note sure if it is conforming.
* ifort (also w/ "-stand f03 -warn all") and PGI accept it - and have the
expected value
* NAG 5.1 and g95 have %d == 0, i.e. the explicit DATA initialization prevents
the default initialization of trlkold.
* pathf95/openf95/crayftn/sunf95 reject the DATA because there is a default
initialization
It's actually a difficult to see whether it is invalid or not. However, I think
the code is valid (taking the side of NAG and g95): One does not do any double
initialization. From the F2008 standard:
"If a nonpointer object has default initialization, it shall not appear in a
data-stmt-object-list." (5.4.7 DATA statement) -- Does not seem to apply as
"trlkold%v" is not default initialized.
"5.2.3 Initialization":
"Explicit initialization alternatively may be specified in a DATA statement
unless the variable is of a derived type for which default initialization is
specified." -- Ditto.
"A variable, or part of a variable, shall not be explicitly initialized more
than once in a program." -- Also this is not violated.
Hence, it seems to be valid, but I wouldn't mind if someone could cross check,
given that most compilers don't generate the expected result - and given that
reading the standard can be difficult. [Even J3/WG5 members might read it
differently.]