public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/36874] New: Add shape checks to cshift/eoshift
@ 2008-07-19 13:32 burnus at gcc dot gnu dot org
2008-07-19 13:49 ` [Bug fortran/36874] " burnus at gcc dot gnu dot org
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-19 13:32 UTC (permalink / raw)
To: gcc-bugs
CSHIFT (array, shift [dim=])
eoshift(array, shift, boundary, dim)
The rank of shift and boundary is one less than array. The shape of shift and
boundary should be conformable to array (after "removing" dimension dim).
--
Summary: Add shape checks to cshift/eoshift
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: diagnostic
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
@ 2008-07-19 13:49 ` burnus at gcc dot gnu dot org
2008-07-28 10:49 ` tkoenig at gcc dot gnu dot org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-19 13:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from burnus at gcc dot gnu dot org 2008-07-19 13:48 -------
Note: One should have a run-time and a compile-time check.
Example:
real, dimension(1,0) :: a, b, c
b = eoshift (a,(/1/))
Since dim=1, the shape of the 2nd dimension of A needs to be the same as the
first dimension of SHAPE. However, for A one has 0 while for SHAPE it is 1.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
2008-07-19 13:49 ` [Bug fortran/36874] " burnus at gcc dot gnu dot org
@ 2008-07-28 10:49 ` tkoenig at gcc dot gnu dot org
2008-07-28 11:22 ` burnus at gcc dot gnu dot org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2008-07-28 10:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from tkoenig at gcc dot gnu dot org 2008-07-28 10:48 -------
Why a run-time check?
AFAIK, we can always determine the rank at runtime, so unless somebody messes
with our array descriptors big time, we should be safe.
--
tkoenig at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tkoenig at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-07-28 10:48:37
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
2008-07-19 13:49 ` [Bug fortran/36874] " burnus at gcc dot gnu dot org
2008-07-28 10:49 ` tkoenig at gcc dot gnu dot org
@ 2008-07-28 11:22 ` burnus at gcc dot gnu dot org
2009-01-19 20:42 ` dfranke at gcc dot gnu dot org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-28 11:22 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from burnus at gcc dot gnu dot org 2008-07-28 11:21 -------
> Why a run-time check?
Because the shape might not be known at compile time? And a compile-time check
because compile-time checks are nicer ;-)
> AFAIK, we can always determine the rank at runtime
Yes, the RANK should be known (even) at compile time, but the SHAPE might be
only be known at run time. (Shape = how many elements per dimension; rank =
number of dimensions.)
(By the way, the rank is already checked.)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-07-28 11:22 ` burnus at gcc dot gnu dot org
@ 2009-01-19 20:42 ` dfranke at gcc dot gnu dot org
2009-01-24 18:39 ` dfranke at gcc dot gnu dot org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-01-19 20:42 UTC (permalink / raw)
To: gcc-bugs
--
dfranke at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |dfranke at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2008-07-28 10:48:37 |2009-01-19 20:41:54
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (3 preceding siblings ...)
2009-01-19 20:42 ` dfranke at gcc dot gnu dot org
@ 2009-01-24 18:39 ` dfranke at gcc dot gnu dot org
2009-01-24 19:41 ` burnus at gcc dot gnu dot org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-01-24 18:39 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from dfranke at gcc dot gnu dot org 2009-01-24 18:39 -------
After adding the the missing checks to gfc_check_cshift() and
gfc_check_eoshift() respectively, I get a couple of errors for
gfortran.dg/zero_sized_1.f90:
$> gfortran-svn -g -Wall -W zero_sized_1.f90
zero_sized_1.f90:18.36:
if (any(cshift(tempm(5:4,:),shift=(/1,-1/),dim=2)/= 0)) call abort
1
Error: 'shift' argument of 'cshift' intrinsic at (1) has invalid shape in
dimension 1 (0/2)
[... snipped more ...]
zero_sized_1.f90:37.37:
if (any(eoshift(tempm(5:4,:),shift=(/1,-1/),dim=2)/= 0)) call abort
1
Error: 'shift' argument of 'eoshift' intrinsic at (1) has invalid shape in
dimension 1 (0/2)
[... snipped more ...]
In comparison, Intel-10.1 accepts it as is while Lahey rejects it with similar
(but less detailed) error messages.
Are runtime checks required to check the shape of the other arguments if ARRAY
is zero-sized?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (4 preceding siblings ...)
2009-01-24 18:39 ` dfranke at gcc dot gnu dot org
@ 2009-01-24 19:41 ` burnus at gcc dot gnu dot org
2009-04-05 20:11 ` dfranke at gcc dot gnu dot org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: burnus at gcc dot gnu dot org @ 2009-01-24 19:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from burnus at gcc dot gnu dot org 2009-01-24 19:41 -------
(In reply to comment #4)
> After adding the the missing checks to gfc_check_cshift() and
> gfc_check_eoshift() respectively, I get a couple of errors for
> gfortran.dg/zero_sized_1.f90 [...]
Thanks! The errors look OK.
> Are runtime checks required to check the shape of the other arguments if ARRAY
> is zero-sized?
Good question. For completeness, one can add the check, which is also included
in NAG f95 (which does not have a compile-time check):
real, dimension(4,0) :: a,c
integer :: b(1)
c = eoshift (a, shift=b(2:1)) ! OK - shape = 0
c = eoshift (a, shift=b(1)) ! OK - scalar
c = eoshift (a, shift=b(1:1)) ! Wrong: shape = 1 vs. 0
end
Shape mismatch (dimension 1) between ARRAY and SHIFT in CSHIFT
Program terminated by fatal error
In $main$, line 5 of shapetest.f90
In any case, the check should only be enabled with -fbounds-check and enclosed
with if(unlikely(option...)). If the normal program flow is too much
interrupted, one can also think about not adding the run-time check for
zero-sized arrays.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (5 preceding siblings ...)
2009-01-24 19:41 ` burnus at gcc dot gnu dot org
@ 2009-04-05 20:11 ` dfranke at gcc dot gnu dot org
2009-06-07 13:46 ` burnus at gcc dot gnu dot org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-04-05 20:11 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from dfranke at gcc dot gnu dot org 2009-04-05 20:10 -------
Subject: Bug 36874
Author: dfranke
Date: Sun Apr 5 20:09:58 2009
New Revision: 145570
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145570
Log:
gcc/fortran/:
2009-04-05 Daniel Franke <franke.daniel@gmail.com>
PR fortran/36874
* check.c (gfc_check_cshift): Added missing shape-conformance checks.
(gfc_check_eoshift): Likewise.
gcc/testsuite/:
2009-04-05 Daniel Franke <franke.daniel@gmail.com>
PR fortran/36874
* gfortran.dg/intrinsic_argument_conformance_2.f90: Adjusted error
message.
* gfortran.dg/zero_sized_1.f90: Removed checks with incompatible
shapes.
* gfortran.dg/zero_sized_5.f90: Likewise.
Modified:
branches/fortran-dev/gcc/fortran/ChangeLog.dev
branches/fortran-dev/gcc/fortran/check.c
branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev
branches/fortran-dev/gcc/testsuite/gfortran.dg/intrinsic_argument_conformance_2.f90
branches/fortran-dev/gcc/testsuite/gfortran.dg/zero_sized_1.f90
branches/fortran-dev/gcc/testsuite/gfortran.dg/zero_sized_5.f90
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (6 preceding siblings ...)
2009-04-05 20:11 ` dfranke at gcc dot gnu dot org
@ 2009-06-07 13:46 ` burnus at gcc dot gnu dot org
2009-06-07 13:59 ` burnus at gcc dot gnu dot org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: burnus at gcc dot gnu dot org @ 2009-06-07 13:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from burnus at gcc dot gnu dot org 2009-06-07 13:46 -------
Subject: Bug 36874
Author: burnus
Date: Sun Jun 7 13:45:47 2009
New Revision: 148247
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148247
Log:
2009-06-07 Daniel Franke <franke.daniel@gmail.com>
* check.c (dim_rank_check): Return SUCCESS if DIM=NULL.
(gfc_check_lbound): Removed (now) redundant check for DIM=NULL.
(gfc_check_minloc_maxloc): Likewise.
(check_reduction): Likewise.
(gfc_check_size): Likewise.
(gfc_check_ubound): Likewise.
(gfc_check_cshift): Added missing shape-conformance checks.
(gfc_check_eoshift): Likewise.
* gfortran.h (gfc_check_conformance): Modified prototype to
printf-style.
* expr.c (gfc_check_conformance): Accept error-message chunks in
printf-style. Changed all callers.
2009-06-07 Daniel Franke <franke.daniel@gmail.com>
PR fortran/36874
* gfortran.dg/intrinsic_argument_conformance_2.f90: Adjusted error
message.
* gfortran.dg/zero_sized_1.f90: Removed checks with incompatible
shapes.
* gfortran.dg/zero_sized_5.f90: Likewise.
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/arith.c
trunk/gcc/fortran/check.c
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/intrinsic.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/intrinsic_argument_conformance_2.f90
trunk/gcc/testsuite/gfortran.dg/zero_sized_1.f90
trunk/gcc/testsuite/gfortran.dg/zero_sized_5.f90
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (7 preceding siblings ...)
2009-06-07 13:46 ` burnus at gcc dot gnu dot org
@ 2009-06-07 13:59 ` burnus at gcc dot gnu dot org
2009-06-07 14:41 ` tkoenig at gcc dot gnu dot org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: burnus at gcc dot gnu dot org @ 2009-06-07 13:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from burnus at gcc dot gnu dot org 2009-06-07 13:59 -------
Compile time check is now there (4.5 trunk). Missing is a run-time check.
Example:
real, dimension(1,0) :: a, b, c
integer :: sp(3), i
a = 4.0
sp = 1
i = 1
b = eoshift (a,sp(1:i)) ! Invalid
end
NAG f95 writes at run time:
Shape mismatch (dimension 1) between ARRAY and SHIFT in CSHIFT
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (8 preceding siblings ...)
2009-06-07 13:59 ` burnus at gcc dot gnu dot org
@ 2009-06-07 14:41 ` tkoenig at gcc dot gnu dot org
2009-07-19 15:08 ` tkoenig at gcc dot gnu dot org
2009-07-25 12:27 ` tkoenig at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2009-06-07 14:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from tkoenig at gcc dot gnu dot org 2009-06-07 14:41 -------
If nobody minds, I'll do this (it's part of PR 34670
anyway).
--
tkoenig at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
OtherBugsDependingO| |34670
nThis| |
AssignedTo|dfranke at gcc dot gnu dot |tkoenig at gcc dot gnu dot
|org |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (9 preceding siblings ...)
2009-06-07 14:41 ` tkoenig at gcc dot gnu dot org
@ 2009-07-19 15:08 ` tkoenig at gcc dot gnu dot org
2009-07-25 12:27 ` tkoenig at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2009-07-19 15:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from tkoenig at gcc dot gnu dot org 2009-07-19 15:07 -------
Subject: Bug 36874
Author: tkoenig
Date: Sun Jul 19 15:07:21 2009
New Revision: 149792
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149792
Log:
2009-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
PR libfortran/36874
* Makefile.am: Add bounds.c
* libgfortran.h (bounds_equal_extents): Add prototype.
(bounds_iforeach_return): Likewise.
(bounds_ifunction_return): Likewise.
(bounds_reduced_extents): Likewise.
* runtime/bounds.c: New file.
(bounds_iforeach_return): New function; correct typo in
error message.
(bounds_ifunction_return): New function.
(bounds_equal_extents): New function.
(bounds_reduced_extents): Likewise.
* intrinsics/cshift0.c (cshift0): Use new functions
for bounds checking.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* m4/iforeach.m4: Likewise.
* m4/eoshift1.m4: Likewise.
* m4/eoshift3.m4: Likewise.
* m4/cshift1.m4: Likewise.
* m4/ifunction.m4: Likewise.
* Makefile.in: Regenerated.
* generated/cshift1_16.c: Regenerated.
* generated/cshift1_4.c: Regenerated.
* generated/cshift1_8.c: Regenerated.
* generated/eoshift1_16.c: Regenerated.
* generated/eoshift1_4.c: Regenerated.
* generated/eoshift1_8.c: Regenerated.
* generated/eoshift3_16.c: Regenerated.
* generated/eoshift3_4.c: Regenerated.
* generated/eoshift3_8.c: Regenerated.
* generated/maxloc0_16_i1.c: Regenerated.
* generated/maxloc0_16_i16.c: Regenerated.
* generated/maxloc0_16_i2.c: Regenerated.
* generated/maxloc0_16_i4.c: Regenerated.
* generated/maxloc0_16_i8.c: Regenerated.
* generated/maxloc0_16_r10.c: Regenerated.
* generated/maxloc0_16_r16.c: Regenerated.
* generated/maxloc0_16_r4.c: Regenerated.
* generated/maxloc0_16_r8.c: Regenerated.
* generated/maxloc0_4_i1.c: Regenerated.
* generated/maxloc0_4_i16.c: Regenerated.
* generated/maxloc0_4_i2.c: Regenerated.
* generated/maxloc0_4_i4.c: Regenerated.
* generated/maxloc0_4_i8.c: Regenerated.
* generated/maxloc0_4_r10.c: Regenerated.
* generated/maxloc0_4_r16.c: Regenerated.
* generated/maxloc0_4_r4.c: Regenerated.
* generated/maxloc0_4_r8.c: Regenerated.
* generated/maxloc0_8_i1.c: Regenerated.
* generated/maxloc0_8_i16.c: Regenerated.
* generated/maxloc0_8_i2.c: Regenerated.
* generated/maxloc0_8_i4.c: Regenerated.
* generated/maxloc0_8_i8.c: Regenerated.
* generated/maxloc0_8_r10.c: Regenerated.
* generated/maxloc0_8_r16.c: Regenerated.
* generated/maxloc0_8_r4.c: Regenerated.
* generated/maxloc0_8_r8.c: Regenerated.
* generated/maxloc1_16_i1.c: Regenerated.
* generated/maxloc1_16_i16.c: Regenerated.
* generated/maxloc1_16_i2.c: Regenerated.
* generated/maxloc1_16_i4.c: Regenerated.
* generated/maxloc1_16_i8.c: Regenerated.
* generated/maxloc1_16_r10.c: Regenerated.
* generated/maxloc1_16_r16.c: Regenerated.
* generated/maxloc1_16_r4.c: Regenerated.
* generated/maxloc1_16_r8.c: Regenerated.
* generated/maxloc1_4_i1.c: Regenerated.
* generated/maxloc1_4_i16.c: Regenerated.
* generated/maxloc1_4_i2.c: Regenerated.
* generated/maxloc1_4_i4.c: Regenerated.
* generated/maxloc1_4_i8.c: Regenerated.
* generated/maxloc1_4_r10.c: Regenerated.
* generated/maxloc1_4_r16.c: Regenerated.
* generated/maxloc1_4_r4.c: Regenerated.
* generated/maxloc1_4_r8.c: Regenerated.
* generated/maxloc1_8_i1.c: Regenerated.
* generated/maxloc1_8_i16.c: Regenerated.
* generated/maxloc1_8_i2.c: Regenerated.
* generated/maxloc1_8_i4.c: Regenerated.
* generated/maxloc1_8_i8.c: Regenerated.
* generated/maxloc1_8_r10.c: Regenerated.
* generated/maxloc1_8_r16.c: Regenerated.
* generated/maxloc1_8_r4.c: Regenerated.
* generated/maxloc1_8_r8.c: Regenerated.
* generated/maxval_i1.c: Regenerated.
* generated/maxval_i16.c: Regenerated.
* generated/maxval_i2.c: Regenerated.
* generated/maxval_i4.c: Regenerated.
* generated/maxval_i8.c: Regenerated.
* generated/maxval_r10.c: Regenerated.
* generated/maxval_r16.c: Regenerated.
* generated/maxval_r4.c: Regenerated.
* generated/maxval_r8.c: Regenerated.
* generated/minloc0_16_i1.c: Regenerated.
* generated/minloc0_16_i16.c: Regenerated.
* generated/minloc0_16_i2.c: Regenerated.
* generated/minloc0_16_i4.c: Regenerated.
* generated/minloc0_16_i8.c: Regenerated.
* generated/minloc0_16_r10.c: Regenerated.
* generated/minloc0_16_r16.c: Regenerated.
* generated/minloc0_16_r4.c: Regenerated.
* generated/minloc0_16_r8.c: Regenerated.
* generated/minloc0_4_i1.c: Regenerated.
* generated/minloc0_4_i16.c: Regenerated.
* generated/minloc0_4_i2.c: Regenerated.
* generated/minloc0_4_i4.c: Regenerated.
* generated/minloc0_4_i8.c: Regenerated.
* generated/minloc0_4_r10.c: Regenerated.
* generated/minloc0_4_r16.c: Regenerated.
* generated/minloc0_4_r4.c: Regenerated.
* generated/minloc0_4_r8.c: Regenerated.
* generated/minloc0_8_i1.c: Regenerated.
* generated/minloc0_8_i16.c: Regenerated.
* generated/minloc0_8_i2.c: Regenerated.
* generated/minloc0_8_i4.c: Regenerated.
* generated/minloc0_8_i8.c: Regenerated.
* generated/minloc0_8_r10.c: Regenerated.
* generated/minloc0_8_r16.c: Regenerated.
* generated/minloc0_8_r4.c: Regenerated.
* generated/minloc0_8_r8.c: Regenerated.
* generated/minloc1_16_i1.c: Regenerated.
* generated/minloc1_16_i16.c: Regenerated.
* generated/minloc1_16_i2.c: Regenerated.
* generated/minloc1_16_i4.c: Regenerated.
* generated/minloc1_16_i8.c: Regenerated.
* generated/minloc1_16_r10.c: Regenerated.
* generated/minloc1_16_r16.c: Regenerated.
* generated/minloc1_16_r4.c: Regenerated.
* generated/minloc1_16_r8.c: Regenerated.
* generated/minloc1_4_i1.c: Regenerated.
* generated/minloc1_4_i16.c: Regenerated.
* generated/minloc1_4_i2.c: Regenerated.
* generated/minloc1_4_i4.c: Regenerated.
* generated/minloc1_4_i8.c: Regenerated.
* generated/minloc1_4_r10.c: Regenerated.
* generated/minloc1_4_r16.c: Regenerated.
* generated/minloc1_4_r4.c: Regenerated.
* generated/minloc1_4_r8.c: Regenerated.
* generated/minloc1_8_i1.c: Regenerated.
* generated/minloc1_8_i16.c: Regenerated.
* generated/minloc1_8_i2.c: Regenerated.
* generated/minloc1_8_i4.c: Regenerated.
* generated/minloc1_8_i8.c: Regenerated.
* generated/minloc1_8_r10.c: Regenerated.
* generated/minloc1_8_r16.c: Regenerated.
* generated/minloc1_8_r4.c: Regenerated.
* generated/minloc1_8_r8.c: Regenerated.
* generated/minval_i1.c: Regenerated.
* generated/minval_i16.c: Regenerated.
* generated/minval_i2.c: Regenerated.
* generated/minval_i4.c: Regenerated.
* generated/minval_i8.c: Regenerated.
* generated/minval_r10.c: Regenerated.
* generated/minval_r16.c: Regenerated.
* generated/minval_r4.c: Regenerated.
* generated/minval_r8.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/product_i1.c: Regenerated.
* generated/product_i16.c: Regenerated.
* generated/product_i2.c: Regenerated.
* generated/product_i4.c: Regenerated.
* generated/product_i8.c: Regenerated.
* generated/product_r10.c: Regenerated.
* generated/product_r16.c: Regenerated.
* generated/product_r4.c: Regenerated.
* generated/product_r8.c: Regenerated.
* generated/sum_c10.c: Regenerated.
* generated/sum_c16.c: Regenerated.
* generated/sum_c4.c: Regenerated.
* generated/sum_c8.c: Regenerated.
* generated/sum_i1.c: Regenerated.
* generated/sum_i16.c: Regenerated.
* generated/sum_i2.c: Regenerated.
* generated/sum_i4.c: Regenerated.
* generated/sum_i8.c: Regenerated.
* generated/sum_r10.c: Regenerated.
* generated/sum_r16.c: Regenerated.
* generated/sum_r4.c: Regenerated.
* generated/sum_r8.c: Regenerated.
2009-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
PR libfortran/36874
* gfortran.dg/cshift_bounds_1.f90: New test.
* gfortran.dg/cshift_bounds_2.f90: New test.
* gfortran.dg/cshift_bounds_3.f90: New test.
* gfortran.dg/cshift_bounds_4.f90: New test.
* gfortran.dg/eoshift_bounds_1.f90: New test.
* gfortran.dg/maxloc_bounds_4.f90: Correct typo in error message.
* gfortran.dg/maxloc_bounds_5.f90: Correct typo in error message.
* gfortran.dg/maxloc_bounds_7.f90: Correct typo in error message.
Added:
trunk/gcc/testsuite/gfortran.dg/cshift_bounds_1.f90
trunk/gcc/testsuite/gfortran.dg/cshift_bounds_2.f90
trunk/gcc/testsuite/gfortran.dg/cshift_bounds_3.f90
trunk/gcc/testsuite/gfortran.dg/cshift_bounds_4.f90
trunk/gcc/testsuite/gfortran.dg/eoshift_bounds_1.f90
trunk/libgfortran/runtime/bounds.c
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/maxloc_bounds_4.f90
trunk/gcc/testsuite/gfortran.dg/maxloc_bounds_5.f90
trunk/gcc/testsuite/gfortran.dg/maxloc_bounds_7.f90
trunk/libgfortran/ChangeLog
trunk/libgfortran/Makefile.am
trunk/libgfortran/Makefile.in
trunk/libgfortran/generated/cshift1_16.c
trunk/libgfortran/generated/cshift1_4.c
trunk/libgfortran/generated/cshift1_8.c
trunk/libgfortran/generated/eoshift1_16.c
trunk/libgfortran/generated/eoshift1_4.c
trunk/libgfortran/generated/eoshift1_8.c
trunk/libgfortran/generated/eoshift3_16.c
trunk/libgfortran/generated/eoshift3_4.c
trunk/libgfortran/generated/eoshift3_8.c
trunk/libgfortran/generated/maxloc0_16_i1.c
trunk/libgfortran/generated/maxloc0_16_i16.c
trunk/libgfortran/generated/maxloc0_16_i2.c
trunk/libgfortran/generated/maxloc0_16_i4.c
trunk/libgfortran/generated/maxloc0_16_i8.c
trunk/libgfortran/generated/maxloc0_16_r10.c
trunk/libgfortran/generated/maxloc0_16_r16.c
trunk/libgfortran/generated/maxloc0_16_r4.c
trunk/libgfortran/generated/maxloc0_16_r8.c
trunk/libgfortran/generated/maxloc0_4_i1.c
trunk/libgfortran/generated/maxloc0_4_i16.c
trunk/libgfortran/generated/maxloc0_4_i2.c
trunk/libgfortran/generated/maxloc0_4_i4.c
trunk/libgfortran/generated/maxloc0_4_i8.c
trunk/libgfortran/generated/maxloc0_4_r10.c
trunk/libgfortran/generated/maxloc0_4_r16.c
trunk/libgfortran/generated/maxloc0_4_r4.c
trunk/libgfortran/generated/maxloc0_4_r8.c
trunk/libgfortran/generated/maxloc0_8_i1.c
trunk/libgfortran/generated/maxloc0_8_i16.c
trunk/libgfortran/generated/maxloc0_8_i2.c
trunk/libgfortran/generated/maxloc0_8_i4.c
trunk/libgfortran/generated/maxloc0_8_i8.c
trunk/libgfortran/generated/maxloc0_8_r10.c
trunk/libgfortran/generated/maxloc0_8_r16.c
trunk/libgfortran/generated/maxloc0_8_r4.c
trunk/libgfortran/generated/maxloc0_8_r8.c
trunk/libgfortran/generated/maxloc1_16_i1.c
trunk/libgfortran/generated/maxloc1_16_i16.c
trunk/libgfortran/generated/maxloc1_16_i2.c
trunk/libgfortran/generated/maxloc1_16_i4.c
trunk/libgfortran/generated/maxloc1_16_i8.c
trunk/libgfortran/generated/maxloc1_16_r10.c
trunk/libgfortran/generated/maxloc1_16_r16.c
trunk/libgfortran/generated/maxloc1_16_r4.c
trunk/libgfortran/generated/maxloc1_16_r8.c
trunk/libgfortran/generated/maxloc1_4_i1.c
trunk/libgfortran/generated/maxloc1_4_i16.c
trunk/libgfortran/generated/maxloc1_4_i2.c
trunk/libgfortran/generated/maxloc1_4_i4.c
trunk/libgfortran/generated/maxloc1_4_i8.c
trunk/libgfortran/generated/maxloc1_4_r10.c
trunk/libgfortran/generated/maxloc1_4_r16.c
trunk/libgfortran/generated/maxloc1_4_r4.c
trunk/libgfortran/generated/maxloc1_4_r8.c
trunk/libgfortran/generated/maxloc1_8_i1.c
trunk/libgfortran/generated/maxloc1_8_i16.c
trunk/libgfortran/generated/maxloc1_8_i2.c
trunk/libgfortran/generated/maxloc1_8_i4.c
trunk/libgfortran/generated/maxloc1_8_i8.c
trunk/libgfortran/generated/maxloc1_8_r10.c
trunk/libgfortran/generated/maxloc1_8_r16.c
trunk/libgfortran/generated/maxloc1_8_r4.c
trunk/libgfortran/generated/maxloc1_8_r8.c
trunk/libgfortran/generated/maxval_i1.c
trunk/libgfortran/generated/maxval_i16.c
trunk/libgfortran/generated/maxval_i2.c
trunk/libgfortran/generated/maxval_i4.c
trunk/libgfortran/generated/maxval_i8.c
trunk/libgfortran/generated/maxval_r10.c
trunk/libgfortran/generated/maxval_r16.c
trunk/libgfortran/generated/maxval_r4.c
trunk/libgfortran/generated/maxval_r8.c
trunk/libgfortran/generated/minloc0_16_i1.c
trunk/libgfortran/generated/minloc0_16_i16.c
trunk/libgfortran/generated/minloc0_16_i2.c
trunk/libgfortran/generated/minloc0_16_i4.c
trunk/libgfortran/generated/minloc0_16_i8.c
trunk/libgfortran/generated/minloc0_16_r10.c
trunk/libgfortran/generated/minloc0_16_r16.c
trunk/libgfortran/generated/minloc0_16_r4.c
trunk/libgfortran/generated/minloc0_16_r8.c
trunk/libgfortran/generated/minloc0_4_i1.c
trunk/libgfortran/generated/minloc0_4_i16.c
trunk/libgfortran/generated/minloc0_4_i2.c
trunk/libgfortran/generated/minloc0_4_i4.c
trunk/libgfortran/generated/minloc0_4_i8.c
trunk/libgfortran/generated/minloc0_4_r10.c
trunk/libgfortran/generated/minloc0_4_r16.c
trunk/libgfortran/generated/minloc0_4_r4.c
trunk/libgfortran/generated/minloc0_4_r8.c
trunk/libgfortran/generated/minloc0_8_i1.c
trunk/libgfortran/generated/minloc0_8_i16.c
trunk/libgfortran/generated/minloc0_8_i2.c
trunk/libgfortran/generated/minloc0_8_i4.c
trunk/libgfortran/generated/minloc0_8_i8.c
trunk/libgfortran/generated/minloc0_8_r10.c
trunk/libgfortran/generated/minloc0_8_r16.c
trunk/libgfortran/generated/minloc0_8_r4.c
trunk/libgfortran/generated/minloc0_8_r8.c
trunk/libgfortran/generated/minloc1_16_i1.c
trunk/libgfortran/generated/minloc1_16_i16.c
trunk/libgfortran/generated/minloc1_16_i2.c
trunk/libgfortran/generated/minloc1_16_i4.c
trunk/libgfortran/generated/minloc1_16_i8.c
trunk/libgfortran/generated/minloc1_16_r10.c
trunk/libgfortran/generated/minloc1_16_r16.c
trunk/libgfortran/generated/minloc1_16_r4.c
trunk/libgfortran/generated/minloc1_16_r8.c
trunk/libgfortran/generated/minloc1_4_i1.c
trunk/libgfortran/generated/minloc1_4_i16.c
trunk/libgfortran/generated/minloc1_4_i2.c
trunk/libgfortran/generated/minloc1_4_i4.c
trunk/libgfortran/generated/minloc1_4_i8.c
trunk/libgfortran/generated/minloc1_4_r10.c
trunk/libgfortran/generated/minloc1_4_r16.c
trunk/libgfortran/generated/minloc1_4_r4.c
trunk/libgfortran/generated/minloc1_4_r8.c
trunk/libgfortran/generated/minloc1_8_i1.c
trunk/libgfortran/generated/minloc1_8_i16.c
trunk/libgfortran/generated/minloc1_8_i2.c
trunk/libgfortran/generated/minloc1_8_i4.c
trunk/libgfortran/generated/minloc1_8_i8.c
trunk/libgfortran/generated/minloc1_8_r10.c
trunk/libgfortran/generated/minloc1_8_r16.c
trunk/libgfortran/generated/minloc1_8_r4.c
trunk/libgfortran/generated/minloc1_8_r8.c
trunk/libgfortran/generated/minval_i1.c
trunk/libgfortran/generated/minval_i16.c
trunk/libgfortran/generated/minval_i2.c
trunk/libgfortran/generated/minval_i4.c
trunk/libgfortran/generated/minval_i8.c
trunk/libgfortran/generated/minval_r10.c
trunk/libgfortran/generated/minval_r16.c
trunk/libgfortran/generated/minval_r4.c
trunk/libgfortran/generated/minval_r8.c
trunk/libgfortran/generated/product_c10.c
trunk/libgfortran/generated/product_c16.c
trunk/libgfortran/generated/product_c4.c
trunk/libgfortran/generated/product_c8.c
trunk/libgfortran/generated/product_i1.c
trunk/libgfortran/generated/product_i16.c
trunk/libgfortran/generated/product_i2.c
trunk/libgfortran/generated/product_i4.c
trunk/libgfortran/generated/product_i8.c
trunk/libgfortran/generated/product_r10.c
trunk/libgfortran/generated/product_r16.c
trunk/libgfortran/generated/product_r4.c
trunk/libgfortran/generated/product_r8.c
trunk/libgfortran/generated/sum_c10.c
trunk/libgfortran/generated/sum_c16.c
trunk/libgfortran/generated/sum_c4.c
trunk/libgfortran/generated/sum_c8.c
trunk/libgfortran/generated/sum_i1.c
trunk/libgfortran/generated/sum_i16.c
trunk/libgfortran/generated/sum_i2.c
trunk/libgfortran/generated/sum_i4.c
trunk/libgfortran/generated/sum_i8.c
trunk/libgfortran/generated/sum_r10.c
trunk/libgfortran/generated/sum_r16.c
trunk/libgfortran/generated/sum_r4.c
trunk/libgfortran/generated/sum_r8.c
trunk/libgfortran/intrinsics/cshift0.c
trunk/libgfortran/intrinsics/eoshift0.c
trunk/libgfortran/intrinsics/eoshift2.c
trunk/libgfortran/libgfortran.h
trunk/libgfortran/m4/cshift1.m4
trunk/libgfortran/m4/eoshift1.m4
trunk/libgfortran/m4/eoshift3.m4
trunk/libgfortran/m4/iforeach.m4
trunk/libgfortran/m4/ifunction.m4
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/36874] Add shape checks to cshift/eoshift
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
` (10 preceding siblings ...)
2009-07-19 15:08 ` tkoenig at gcc dot gnu dot org
@ 2009-07-25 12:27 ` tkoenig at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2009-07-25 12:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from tkoenig at gcc dot gnu dot org 2009-07-25 12:27 -------
Fixed on trunk, backporting to 4.5 would be non-trivial
because trunk uses the array access macros, and 4.4 doesn't.
Closing.
--
tkoenig at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36874
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2009-07-25 12:27 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-19 13:32 [Bug fortran/36874] New: Add shape checks to cshift/eoshift burnus at gcc dot gnu dot org
2008-07-19 13:49 ` [Bug fortran/36874] " burnus at gcc dot gnu dot org
2008-07-28 10:49 ` tkoenig at gcc dot gnu dot org
2008-07-28 11:22 ` burnus at gcc dot gnu dot org
2009-01-19 20:42 ` dfranke at gcc dot gnu dot org
2009-01-24 18:39 ` dfranke at gcc dot gnu dot org
2009-01-24 19:41 ` burnus at gcc dot gnu dot org
2009-04-05 20:11 ` dfranke at gcc dot gnu dot org
2009-06-07 13:46 ` burnus at gcc dot gnu dot org
2009-06-07 13:59 ` burnus at gcc dot gnu dot org
2009-06-07 14:41 ` tkoenig at gcc dot gnu dot org
2009-07-19 15:08 ` tkoenig at gcc dot gnu dot org
2009-07-25 12:27 ` tkoenig at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).