This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/37236] [4.3/4.4 Regression] ICE: in mark_operand_necessary, at tree-ssa-dce.c:242
- From: "ronis at ronispc dot chem dot mcgill dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Aug 2008 21:45:21 -0000
- Subject: [Bug middle-end/37236] [4.3/4.4 Regression] ICE: in mark_operand_necessary, at tree-ssa-dce.c:242
- References: <bug-37236-4334@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from ronis at ronispc dot chem dot mcgill dot ca 2008-08-25 21:45 -------
As per the suggestions, I replaced the all instances of array declarations like
X(1) to X(*) and the problem goes away. Whether it is the current standard or
not, it was legal years ago, and tons of legacy code (like this one) have it.
Note that this is only one part of a large (ancient) fortran library, which as
far as I can tell, uses syntax like X(1) to declare function/subroutine
arguments all over the place. The regression was triggered only by this file.
Also note, as I mentioned in the initial report, that this code compiled just
fine under earlier versions of gfortran.
Like Dominique in Comment #6, I'd urge you to fix this. Most of the
programming many scientists and engineers do today is in C or C++, and we rely
on fortran for legacy applications. Indeed, in my university, fortran is not
taught any more.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37236