------- 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