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

Reply via email to