[Bug fortran/37203] Check ORDER= of RESHAPE

2009-06-06 Thread burnus at gcc dot gnu dot org


--- Comment #11 from burnus at gcc dot gnu dot org  2009-06-06 21:10 ---
Subject: Bug 37203

Author: burnus
Date: Sat Jun  6 21:09:57 2009
New Revision: 148238

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148238
Log:
2009-06-06  Daniel Franke  

PR fortran/37203
* simplify.c (gfc_simplify_reshape): Fixed reshaping of empty
* arrays
without padding.

2009-06-06  Daniel Franke  

PR fortran/37203
* reshape_zerosize_2.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/reshape_zerosize_2.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/simplify.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2009-06-04 Thread burnus at gcc dot gnu dot org


--- Comment #10 from burnus at gcc dot gnu dot org  2009-06-04 21:59 ---
Merged patch from the fortran-dev branch to the trunk (4.5).

Close bug as FIXED. Thanks for the patches, Thomas and Daniel!


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2009-06-04 Thread burnus at gcc dot gnu dot org


--- Comment #9 from burnus at gcc dot gnu dot org  2009-06-04 21:52 ---
Subject: Bug 37203

Author: burnus
Date: Thu Jun  4 21:52:32 2009
New Revision: 148190

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148190
Log:
gcc/fortran/
2009-06-04  Daniel Franke  

PR fortran/37203
* check.c (gfc_check_reshape): Additional checks for the
SHAPE and ORDER arguments.
* simplify.c (gfc_simplify_reshape): Converted argument checks
to asserts.

gcc/testsuite/
2009-06-04  Daniel Franke  

PR fortran/37203
* gfortran.dg/reshape_order_5.f90: New.
* gfortran.dg/reshape_shape_1.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/reshape_order_5.f90
trunk/gcc/testsuite/gfortran.dg/reshape_shape_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/fortran/simplify.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2009-03-22 Thread dfranke at gcc dot gnu dot org


--- Comment #8 from dfranke at gcc dot gnu dot org  2009-03-22 12:12 ---
Subject: Bug 37203

Author: dfranke
Date: Sun Mar 22 12:12:10 2009
New Revision: 144996

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144996
Log:
gcc/fortran/:
2009-03-22  Daniel Franke  

PR fortran/37203
* check.c (gfc_check_reshape): Additional checks for the
SHAPE and ORDER arguments.
* simplify.c (gfc_simplify_reshape): Converted argument checks
to asserts.


gcc/testsuite/:
2009-03-22  Daniel Franke  

PR fortran/37203
* gfortran.dg/reshape_order_5.f90: New.
* gfortran.dg/reshape_shape_1.f90: New.



Added:
branches/fortran-dev/gcc/fortran/ChangeLog.dev
branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev
branches/fortran-dev/gcc/testsuite/gfortran.dg/reshape_order_5.f90
branches/fortran-dev/gcc/testsuite/gfortran.dg/reshape_shape_1.f90
Modified:
branches/fortran-dev/gcc/fortran/check.c
branches/fortran-dev/gcc/fortran/simplify.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2009-01-04 Thread dfranke at gcc dot gnu dot org


--- Comment #7 from dfranke at gcc dot gnu dot org  2009-01-04 21:25 ---
(In reply to comment #6)
> Stupidity needs to be punished. Assigning myself to fix it.

Patch: http://gcc.gnu.org/ml/fortran/2009-01/msg00049.html


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/fortra
   ||n/2009-01/msg00049.html
   Keywords||patch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2009-01-04 Thread dfranke at gcc dot gnu dot org


--- Comment #6 from dfranke at gcc dot gnu dot org  2009-01-04 19:10 ---
(In reply to comment #5)
> (In reply to comment #4)
> > which detects invalid permutations in the case of constant(!) arguments. 
> > Closing as fixed.
> > 
> No, it's not. Reopening.
> The initial testcase is still not catch. 

Note the emphasis on _constant_. To get the error, change the testcase to: 

integer, dimension(6), PARAMETER :: source1 = (/ 1, 2, 3, 4, 5, 6 /)
integer, dimension(2), PARAMETER :: shape1 = (/ 2, 5/)
integer, dimension(2), PARAMETER :: pad1 = (/ 0, 0/)

write (unit=*,fmt=*) reshape(source1, shape1, pad1, (/2,1/)) ! Valid
write (unit=*,fmt=*) reshape(source1, shape1, pad1, (/2,2/)) ! Invalid
end

And while trying to argue why this never will be caught as is, I realize that
you are right. That SOURCE, SHAPE and PAD are variables doesn't matter as in
this case ORDER is constant and can be checked.

Stupidity needs to be punished. Assigning myself to fix it.


-- 

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|REOPENED|ASSIGNED
   Last reconfirmed|2008-08-23 14:11:59 |2009-01-04 19:10:33
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2009-01-04 Thread mikael at gcc dot gnu dot org


--- Comment #5 from mikael at gcc dot gnu dot org  2009-01-04 19:00 ---
(In reply to comment #4)
> which detects invalid permutations in the case of constant(!) arguments. 
> Closing as fixed.
> 
No, it's not. Reopening.
The initial testcase is still not catch. 


-- 

mikael at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2009-01-04 Thread dfranke at gcc dot gnu dot org


--- Comment #4 from dfranke at gcc dot gnu dot org  2009-01-04 14:56 ---
simplify.c (gfc_simplify_reshape) has:

3547  if (x[order[i]])
3548{
3549  gfc_error ("Invalid permutation in ORDER parameter at %L",
3550 &e->where);
3551  gfc_free_expr (e);
3552  goto bad_reshape;
3553}

which detects invalid permutations in the case of constant(!) arguments. 
Closing as fixed.


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dfranke at gcc dot gnu dot
   ||org
 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2008-09-07 Thread tkoenig at gcc dot gnu dot org


--- Comment #3 from tkoenig at gcc dot gnu dot org  2008-09-07 13:34 ---
Subject: Bug 37203

Author: tkoenig
Date: Sun Sep  7 13:33:18 2008
New Revision: 140086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140086
Log:
2008-09-07  Thomas Koenig  <[EMAIL PROTECTED]>

PR fortran/37203
* intrinsics/reshape_generic.c:  Add checking on
out-of-bounds and duplicate values of order argument.
* m4/reshape.m4:  Likewise.
* generated/reshape_c10.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_r8.c: Regenerated.

2008-09-07  Thomas Koenig  <[EMAIL PROTECTED]>

PR fortran/37203
* gfortran.d/reshape_order_1.f90:  New test case.
* gfortran.d/reshape_order_2.f90:  New test case.
* gfortran.d/reshape_order_3.f90:  New test case.
* gfortran.d/reshape_order_4.f90:  New test case.


Added:
trunk/gcc/testsuite/gfortran.dg/reshape_order_1.f90
trunk/gcc/testsuite/gfortran.dg/reshape_order_2.f90
trunk/gcc/testsuite/gfortran.dg/reshape_order_3.f90
trunk/gcc/testsuite/gfortran.dg/reshape_order_4.f90
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/libgfortran/ChangeLog
trunk/libgfortran/generated/reshape_c10.c
trunk/libgfortran/generated/reshape_c16.c
trunk/libgfortran/generated/reshape_c4.c
trunk/libgfortran/generated/reshape_c8.c
trunk/libgfortran/generated/reshape_i16.c
trunk/libgfortran/generated/reshape_i4.c
trunk/libgfortran/generated/reshape_i8.c
trunk/libgfortran/generated/reshape_r10.c
trunk/libgfortran/generated/reshape_r16.c
trunk/libgfortran/generated/reshape_r4.c
trunk/libgfortran/generated/reshape_r8.c
trunk/libgfortran/intrinsics/reshape_generic.c
trunk/libgfortran/m4/reshape.m4


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2008-09-07 Thread tkoenig at gcc dot gnu dot org


--- Comment #2 from tkoenig at gcc dot gnu dot org  2008-09-07 09:12 ---
I'm working on the run-time test.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203



[Bug fortran/37203] Check ORDER= of RESHAPE

2008-08-23 Thread tkoenig at gcc dot gnu dot org


--- Comment #1 from tkoenig at gcc dot gnu dot org  2008-08-23 14:11 ---
Confirmed.

We should also have a run-time check for this:

[EMAIL PROTECTED]:/tmp$ gfortran -fbounds-check foo.f90
[EMAIL PROTECTED]:/tmp$ ./a.out
   1   6   2   0   3   0   
   4   0   5   0
*** glibc detected *** free(): invalid next size (fast): 0x00508950 ***
Aborted
[EMAIL PROTECTED]:/tmp$  


-- 

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|-00-00 00:00:00 |2008-08-23 14:11:59
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37203