https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94246
Paul Thomas <pault at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |pault at gcc dot gnu.org
--- Comment #10 from Paul Thomas <pault at gcc dot gnu.org> ---
Created attachment 48108
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48108&action=edit
Fix for problem with one regression
The attached fixes the problem but causes pr35849.f90 to regress in a rather
peculiar fashion:
pr35849.f90:5:55:
5 | INTEGER, PARAMETER, DIMENSION(10) :: B = ISHFTC(j, A, -20) ! {
dg-error "must be positive" }
| 1
Error: SIZE at (1) must be positive
pr35849.f90:6:57:
6 | INTEGER, PARAMETER, DIMENSION(10) :: C = ISHFTC(1_1, A, j) ! {
dg-error "less than or equal to BIT_SIZE" }
| 1
Error: ‘SIZE’ at (1) must be less than or equal to BIT_SIZE(‘I’)
pr35849.f90:7:51:
7 | INTEGER, PARAMETER, DIMENSION(10) :: D = ISHFTC(3, A, 5) ! { dg-error
"Absolute value of SHIFT shall be less than or equal" }
| 1
Error: Invalid character in name at (1)
pr35849.f90:8:51:
8 | INTEGER, PARAMETER, DIMENSION(10) :: E = ISHFTC(3_1, A) ! { dg-error
"second argument of ISHFTC exceeds BIT_SIZE of first argument" }
| 1
Error: Invalid character in name at (1)
The last two error come from match.c and must be left overs that have not been
cleared.
Cheers
Paul