This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/35849] "wrong" line shown in error message for parameter
- From: "burnus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Nov 2009 20:21:25 -0000
- Subject: [Bug fortran/35849] "wrong" line shown in error message for parameter
- References: <bug-35849-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from burnus at gcc dot gnu dot org 2009-11-01 20:21 -------
(In reply to comment #2)
> Do you plan to commit this?
The problem is that the patch is effectively wrong. The "s->where" is correct -
except that "s" happens to be a parameter where "s->where" points to the
parameter definition. For "e->where" and "sz->where" one has the same problem
if they are PARAMETERS. (Unless, I missed something.)
Complete test - might be useful as it tests all error conditions; could be
checked in independenly of fixing the line problem.
INTEGER, PARAMETER, DIMENSION(10) :: A = [(i, i = 1,10)]
INTEGER, PARAMETER, DIMENSION(10) :: B = ISHFTC(j, A, -20) ! { dg-error
"Invalid third argument" }
INTEGER, PARAMETER, DIMENSION(10) :: C = ISHFTC(1_1, A, j) ! { dg-error
"third argument of ISHFTC exceeds BIT_SIZE of first" }
INTEGER, PARAMETER, DIMENSION(10) :: D = ISHFTC(3, A, 5) ! { dg-error
"second argument of ISHFTC exceeds third argument" }
INTEGER, PARAMETER, DIMENSION(10) :: E = ISHFTC(3_1, A) ! { dg-error
"second argument of ISHFTC exceeds BIT_SIZE of first argument" }
end
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|burnus at gcc dot gnu dot |unassigned at gcc dot gnu
|org |dot org
Status|ASSIGNED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35849