public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/27895]  New: problem with SPREAD and zero-sized arrays
@ 2006-06-05  7:07 fxcoudert at gcc dot gnu dot org
  2006-06-05  9:20 ` [Bug fortran/27895] " fxcoudert at gcc dot gnu dot org
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-05  7:07 UTC (permalink / raw)
  To: gcc-bugs

The following code gives compile-time warnings that are wrong, and segfaults at
runtime:

module foo_mod
implicit none
contains
pure function outerprod(a,b)
real, intent(in) :: a(:),b(:)
real             :: outerprod(size(a),size(b))
outerprod = spread(a,dim=2,ncopies=size(b)) * spread(b,dim=1,ncopies=size(a))
end function outerprod
end module foo_mod

program xouterprod
use foo_mod, only: outerprod
implicit none
integer, parameter :: i = 4, m = 4, n = 4, l = 5
real               :: aa(m,i),tempn(n)
call random_seed()
aa          = 1.0
tempn       = 2.0
aa(i:m,l:n) = aa(i:m,l:n)+outerprod(aa(i:m,i),tempn(l:n)) ! tricky
print*,aa
end program xouterprod

$ gfortran a.f90
 In file a.f90:19

aa(i:m,l:n) = aa(i:m,l:n)+outerprod(aa(i:m,i),tempn(l:n)) ! tricky
      1
Warning: Array reference at (1) is out of bounds
 In file a.f90:19

aa(i:m,l:n) = aa(i:m,l:n)+outerprod(aa(i:m,i),tempn(l:n)) ! tricky
                                                   1
Warning: Array reference at (1) is out of bounds
 In file a.f90:19

aa(i:m,l:n) = aa(i:m,l:n)+outerprod(aa(i:m,i),tempn(l:n)) ! tricky
                    1
Warning: Array reference at (1) is out of bounds
$ ./a.out
zsh: segmentation fault  ./a.out


-- 
           Summary: problem with SPREAD and zero-sized arrays
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Keywords: wrong-code, diagnostic
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fxcoudert at gcc dot gnu dot org


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug fortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
@ 2006-06-05  9:20 ` fxcoudert at gcc dot gnu dot org
  2006-06-05  9:25 ` [Bug libfortran/27895] " fxcoudert at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-05  9:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from fxcoudert at gcc dot gnu dot org  2006-06-05 09:09 -------
A minimal testcase exhibiting both problems (warning and segfault) is:

  real :: tempn(1)
  tempn = 2.0 
  print *, spread(tempn(2:1),dim=1,ncopies=1)
  end


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
      Known to fail|                            |4.2.0 4.1.2
   Last reconfirmed|0000-00-00 00:00:00         |2006-06-05 09:09:10
               date|                            |


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
  2006-06-05  9:20 ` [Bug fortran/27895] " fxcoudert at gcc dot gnu dot org
@ 2006-06-05  9:25 ` fxcoudert at gcc dot gnu dot org
  2006-06-05 13:46 ` fxcoudert at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-05  9:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from fxcoudert at gcc dot gnu dot org  2006-06-05 09:24 -------
The problem is in the library. spread_internal rightly understands that the
destination array will have zero-size in one dimension, so the call to
allocation memory for ret->data at line 104:

       ret->data = internal_malloc_size (rs * size);

gives NULL into ret->data. I don't remember whether we should actually allocate
one byte of memory for ret->data, or if we should jut let it be NULL and simply
return from the function here.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|fortran                     |libfortran


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
  2006-06-05  9:20 ` [Bug fortran/27895] " fxcoudert at gcc dot gnu dot org
  2006-06-05  9:25 ` [Bug libfortran/27895] " fxcoudert at gcc dot gnu dot org
@ 2006-06-05 13:46 ` fxcoudert at gcc dot gnu dot org
  2006-06-05 14:24 ` fxcoudert at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-05 13:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from fxcoudert at gcc dot gnu dot org  2006-06-05 13:46 -------
I believe the segfault is appropriately fixed by the following patch:

Index: libgfortran/intrinsics/spread_generic.c
===================================================================
--- libgfortran/intrinsics/spread_generic.c     (revision 114340)
+++ libgfortran/intrinsics/spread_generic.c     (working copy)
@@ -101,7 +101,14 @@
            }
        }
       ret->offset = 0;
-      ret->data = internal_malloc_size (rs * size);
+      if (rs * size == 0)
+       {
+         ret->data = internal_malloc_size (1);
+         ret->data[0] = 0;
+         return;
+       }
+      else
+       ret->data = internal_malloc_size (rs * size);
     }
   else
     {


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-06-05 13:46 ` fxcoudert at gcc dot gnu dot org
@ 2006-06-05 14:24 ` fxcoudert at gcc dot gnu dot org
  2006-06-05 16:23 ` fxcoudert at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-05 14:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from fxcoudert at gcc dot gnu dot org  2006-06-05 14:23 -------
And I'm sure the warnings are appropriately fixed by:

Index: resolve.c
===================================================================
--- resolve.c   (revision 114340)
+++ resolve.c   (working copy)
@@ -2130,11 +2130,24 @@
          return FAILURE;
        }

-      if (compare_bound (ar->start[i], as->lower[i]) == CMP_LT)
-       goto bound;
-      if (compare_bound (ar->start[i], as->upper[i]) == CMP_GT)
-       goto bound;
+#define AR_START (ar->start[i] ? ar->start[i] : as->lower[i])
+#define AR_END (ar->end[i] ? ar->end[i] : as->upper[i])

+      if (((compare_bound_int (ar->stride[i], 0) == CMP_GT
+           || ar->stride[i] == NULL)
+          && compare_bound (AR_START, AR_END) != CMP_GT)
+         || (compare_bound_int (ar->stride[i], 0) == CMP_LT
+             && compare_bound (AR_START, AR_END) != CMP_LT))
+       {
+         if (compare_bound (AR_START, as->lower[i]) == CMP_LT)
+           goto bound;
+       if (compare_bound (AR_START, as->upper[i]) == CMP_GT)
+           goto bound;
+
+#undef AR_START
+#undef AR_END
+       }
+
       /* TODO: Possibly, we could warn about end[i] being out-of-bound
although
          it is legal (see 6.2.2.3.1).  */


But I'm working on expanding this checking according to the TODO, i.e.
including checking for the end of the triplet.


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-06-05 14:24 ` fxcoudert at gcc dot gnu dot org
@ 2006-06-05 16:23 ` fxcoudert at gcc dot gnu dot org
  2006-06-05 22:44 ` fxcoudert at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-05 16:23 UTC (permalink / raw)
  To: gcc-bugs



-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |fxcoudert at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2006-06-05 09:09:10         |2006-06-05 16:08:54
               date|                            |


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2006-06-05 16:23 ` fxcoudert at gcc dot gnu dot org
@ 2006-06-05 22:44 ` fxcoudert at gcc dot gnu dot org
  2006-06-19 12:34 ` fxcoudert at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-05 22:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from fxcoudert at gcc dot gnu dot org  2006-06-05 22:41 -------
Subject: Bug 27895

Author: fxcoudert
Date: Mon Jun  5 22:41:29 2006
New Revision: 114414

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114414
Log:
        PR libfortran/27895

        * resolve.c (compute_last_value_for_triplet): New function.
        (check_dimension): Correctly handle zero-sized array sections.
        Add checking on last element of array sections.

        * gfortran.dg/bounds_check_3.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/bounds_check_3.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2006-06-05 22:44 ` fxcoudert at gcc dot gnu dot org
@ 2006-06-19 12:34 ` fxcoudert at gcc dot gnu dot org
  2006-06-20  6:07 ` fxcoudert at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-19 12:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from fxcoudert at gcc dot gnu dot org  2006-06-19 12:03 -------
CSHIFT has the same problem:

$ cat zero_cshift.f90
  real :: tempn(1)
  tempn = 2.0 
  print *, cshift(tempn(2:),shift=1)
  end
$ gfortran zero_cshift.f90 && ./a.out
Floating point exception

I believe the following functions may not be safe: EOSHIFT, PACK, RESHAPE,
TRANSPOSE, UNPACK (and of course, SPREAD and CSHIFT).


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2006-06-19 12:34 ` fxcoudert at gcc dot gnu dot org
@ 2006-06-20  6:07 ` fxcoudert at gcc dot gnu dot org
  2006-06-24 23:08 ` fxcoudert at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-20  6:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from fxcoudert at gcc dot gnu dot org  2006-06-20 06:04 -------
Subject: Bug 27895

Author: fxcoudert
Date: Tue Jun 20 06:04:14 2006
New Revision: 114803

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114803
Log:
2006-06-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR fortran/27958
        * trans-expr.c (gfc_conv_substring): If the substring start is
        greater than its end, the length of the substring is zero, and
        not negative.
        (gfc_trans_string_copy): Don't generate a call to
        _gfortran_copy_string when destination length is zero.

2006-06-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR libfortran/27895
        * resolve.c (compute_last_value_for_triplet): New function.
        (check_dimension): Correctly handle zero-sized array sections.
        Add checking on last element of array sections.

2006-06-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        * trans.c (gfc_msg_bounds, gfc_msg_fault, gfc_msg_wrong_return):
        Add strings for common runtime error messages.
        (gfc_trans_runtime_check): Add a locus argument, use a string
        and not a string tree for the message.
        * trans.h (gfc_trans_runtime_check): Change prototype accordingly.
        (gfc_msg_bounds, gfc_msg_fault, gfc_msg_wrong_return): Add proto.
        * trans-const.c (gfc_strconst_bounds, gfc_strconst_fault,
        gfc_strconst_wrong_return, gfc_strconst_current_filename): Remove.
        (gfc_init_constants): Likewise.
        * trans-const.h: Likewise.
        * trans-decl.c (gfc_build_builtin_function_decls): Call to
        _gfortran_runtime_error has only one argument, the message string.
        * trans-array.h (gfc_conv_array_ref): Add a symbol argument and a
        locus.
        * trans-array.c (gfc_trans_array_bound_check): Build precise
        error messages.
        (gfc_conv_array_ref): Use the new symbol argument and the locus
        to build more precise error messages.
        (gfc_conv_ss_startstride): More precise error messages.
        * trans-expr.c (gfc_conv_variable): Give symbol reference and
        locus to gfc_conv_array_ref.
        (gfc_conv_function_call): Use the new prototype for
        gfc_trans_runtime_check.
        * trans-stmt.c (gfc_trans_goto): Build more precise error message.
        * trans-io.c (set_string): Likewise.
        * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use new prototype
        for gfc_trans_runtime_check.

2006-06-20  Thomas Koenig  <Thomas.Koenig@online.de>

        PR fortran/27715
        * arith.c:  Cast the characters from the strings to unsigned
        char to avoid values less than 0 for extended ASCII.

2006-06-20  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/27784
        * intrinsics/string_intrinsics.c (compare_string):
        Use memcmp instead of strncmp to avoid tripping over
        CHAR(0) in a string.

2006-06-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR fortran/27958
        * gcc/testsuite/gfortran.dg/substr_2.f: New test.

2006-06-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR libfortran/27895
        * gfortran.dg/bounds_check_3.f90: New test.

2006-06-20  Thomas Koenig  <Thomas.Koenig@online.de>

        PR fortran/27715
        * gfortran.dg/extended_char_comparison_1.f:  New test.

2006-06-20  Thomas Koenig  <Thomas.Koenig@online.de>

        PR fortran/27784
        * gfortran.dg/string_null_compare_1.f:  New test case.

Added:
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/bounds_check_3.f90
      - copied unchanged from r114414,
trunk/gcc/testsuite/gfortran.dg/bounds_check_3.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/extended_char_comparison_1.f
      - copied unchanged from r114317,
trunk/gcc/testsuite/gfortran.dg/extended_char_comparison_1.f
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/string_null_compare_1.f
      - copied unchanged from r114175,
trunk/gcc/testsuite/gfortran.dg/string_null_compare_1.f
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/substr_2.f
      - copied unchanged from r114496,
trunk/gcc/testsuite/gfortran.dg/substr_2.f
Modified:
    branches/gcc-4_1-branch/gcc/fortran/ChangeLog
    branches/gcc-4_1-branch/gcc/fortran/arith.c
    branches/gcc-4_1-branch/gcc/fortran/resolve.c
    branches/gcc-4_1-branch/gcc/fortran/trans-array.c
    branches/gcc-4_1-branch/gcc/fortran/trans-array.h
    branches/gcc-4_1-branch/gcc/fortran/trans-const.c
    branches/gcc-4_1-branch/gcc/fortran/trans-const.h
    branches/gcc-4_1-branch/gcc/fortran/trans-decl.c
    branches/gcc-4_1-branch/gcc/fortran/trans-expr.c
    branches/gcc-4_1-branch/gcc/fortran/trans-intrinsic.c
    branches/gcc-4_1-branch/gcc/fortran/trans-io.c
    branches/gcc-4_1-branch/gcc/fortran/trans-stmt.c
    branches/gcc-4_1-branch/gcc/fortran/trans.c
    branches/gcc-4_1-branch/gcc/fortran/trans.h
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_1-branch/libgfortran/ChangeLog
    branches/gcc-4_1-branch/libgfortran/intrinsics/string_intrinsics.c


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2006-06-20  6:07 ` fxcoudert at gcc dot gnu dot org
@ 2006-06-24 23:08 ` fxcoudert at gcc dot gnu dot org
  2006-07-26  8:35 ` fxcoudert at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-24 23:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from fxcoudert at gcc dot gnu dot org  2006-06-24 22:16 -------
(In reply to comment #3)
> I believe the segfault is appropriately fixed by the following patch

I still think this patch is the right thing, and I've been looking through the
other transformational function to see which are affected by similar bugs on
zero-sized arrays.

  - SPREAD and CSHIFT are subject to this bug, which is easily fixed (in
spread_generic.c and cshift0.c
  - RESHAPE and PACK are completely failing on zero-sized arrays

All others, including EOSHIFT, UNPACK, TRANSPOSE, appear to work fine. Here is
a bunch of testcases, now the task is to make all these work as expected:

$ cat zero_cshift.f90
  real :: tempn(1), tempm(1,2)
  real,allocatable :: foo(:),bar(:,:),gee(:,:)
  tempn = 2.0
  tempm = 1.0
  allocate(foo(0),bar(2,0),gee(0,7))
  print *, cshift(foo,dim=1,shift=1)
  print *, cshift(tempn(2:1),dim=1,shift=1)
  print *, cshift(bar,shift=(/1,-1/),dim=1)
  print *, cshift(bar,shift=(/1,-1/),dim=2)
  print *, cshift(gee,shift=(/1,-1/),dim=1)
  print *, cshift(gee,shift=(/1,-1/),dim=2)
  print *, cshift(tempm(5:4,:),shift=(/1,-1/),dim=1)
  print *, cshift(tempm(5:4,:),shift=(/1,-1/),dim=2)
  print *, cshift(tempm(:,5:4),shift=(/1,-1/),dim=1)
  print *, cshift(tempm(:,5:4),shift=(/1,-1/),dim=2)
  end
$ cat zero_eoshift.f90
  real :: tempn(1), tempm(1,2)
  real,allocatable :: foo(:),bar(:,:),gee(:,:)
  tempn = 2.0
  tempm = 1.0
  allocate(foo(0),bar(2,0),gee(0,7))
  print *, eoshift(foo,dim=1,shift=1)
  print *, eoshift(tempn(2:1),dim=1,shift=1)
  print *, eoshift(bar,shift=(/1,-1/),dim=1)
  print *, eoshift(bar,shift=(/1,-1/),dim=2)
  print *, eoshift(gee,shift=(/1,-1/),dim=1)
  print *, eoshift(gee,shift=(/1,-1/),dim=2)
  print *, eoshift(tempm(5:4,:),shift=(/1,-1/),dim=1)
  print *, eoshift(tempm(5:4,:),shift=(/1,-1/),dim=2)
  print *, eoshift(tempm(:,5:4),shift=(/1,-1/),dim=1)
  print *, eoshift(tempm(:,5:4),shift=(/1,-1/),dim=2)

  print *, eoshift(foo,dim=1,shift=1,boundary=42.0)
  print *, eoshift(tempn(2:1),dim=1,shift=1,boundary=42.0)
  print *, eoshift(bar,shift=(/1,-1/),dim=1,boundary=42.0)
  print *, eoshift(bar,shift=(/1,-1/),dim=2,boundary=42.0)
  print *, eoshift(gee,shift=(/1,-1/),dim=1,boundary=42.0)
  print *, eoshift(gee,shift=(/1,-1/),dim=2,boundary=42.0)
  print *, eoshift(tempm(5:4,:),shift=(/1,-1/),dim=1,boundary=42.0)
  print *, eoshift(tempm(5:4,:),shift=(/1,-1/),dim=2,boundary=42.0)
  print *, eoshift(tempm(:,5:4),shift=(/1,-1/),dim=1,boundary=42.0)
  print *, eoshift(tempm(:,5:4),shift=(/1,-1/),dim=2,boundary=42.0)

  print *, eoshift(foo,dim=1,shift=1,boundary=(/42.0,-7.0/))
  print *, eoshift(tempn(2:1),dim=1,shift=1,boundary=(/42.0,-7.0/))
  print *, eoshift(bar,shift=(/1,-1/),dim=1,boundary=(/42.0,-7.0/))
  print *, eoshift(bar,shift=(/1,-1/),dim=2,boundary=(/42.0,-7.0/))
  print *, eoshift(gee,shift=(/1,-1/),dim=1,boundary=(/42.0,-7.0/))
  print *, eoshift(gee,shift=(/1,-1/),dim=2,boundary=(/42.0,-7.0/))
  print *, eoshift(tempm(5:4,:),shift=(/1,-1/),dim=1,boundary=(/42.0,-7.0/))
  print *, eoshift(tempm(5:4,:),shift=(/1,-1/),dim=2,boundary=(/42.0,-7.0/))
  print *, eoshift(tempm(:,5:4),shift=(/1,-1/),dim=1,boundary=(/42.0,-7.0/))
  print *, eoshift(tempm(:,5:4),shift=(/1,-1/),dim=2,boundary=(/42.0,-7.0/))
  end
$ cat zero_pack.f90
  integer :: tempn(1,5)
  integer,allocatable :: foo(:,:)
  tempn = 2 
  allocate(foo(0,1:7))
  print *, pack(foo,foo/=0)
  print *, pack(foo,foo/=0,(/1,3,4,5,1,0,7,9/))
  print *, pack(tempn(:,-4:-5),tempn(:,-4:-5)/=0)
  print *, pack(tempn(:,-4:-5),tempn(:,-4:-5)/=0,(/1,3,4,5,1,0,7,9/))
  print *, pack(foo,.true.)
  print *, pack(foo,.true.,(/1,3,4,5,1,0,7,9/))
  print *, pack(tempn(:,-4:-5),.true.)
  print *, pack(tempn(:,-4:-5),.true.,(/1,3,4,5,1,0,7,9/))
  end
$ cat zero_reshape.f90
  character(len=1) :: tempn(1,2)
  character(len=1),allocatable :: foo(:,:), bar(:,:)
  tempn = 'a'
  x = 0
  allocate(foo(3,0),bar(-2:-4,7:9))
  print *, reshape(tempn(-7:-8,:),(/3,3/),pad=(/'a'/))
  print *, reshape(tempn(-7:-8,:),(/3,3,3/),pad=(/'a'/))
  print *, reshape(tempn(-7:-8,:),(/3,3,3,3,3,3,3/),pad=(/'a'/))
!  print *, reshape(tempn(:,9:8))
!  print *, reshape(foo)
!  print *, reshape(bar)
  end
$ cat zero_spread_2.f90
  real,allocatable :: bar(:,:),foo(:)
  allocate(foo(0))
  bar = spread(foo,dim=1,ncopies=1)
  print *, allocated(bar)
  end
$ cat zero_spread.f90
  real :: tempn(1)
  real,allocatable :: foo(:)
  tempn = 2.0 
  allocate(foo(0))
  print *, spread(1,dim=1,ncopies=3)
  print *, spread(1,dim=1,ncopies=0)
  print *, spread(foo,dim=1,ncopies=1)
  print *, spread(tempn(2:1),dim=1,ncopies=1)
  end
$ cat zero_transpose.f90
  character(len=1) :: tempn(1,2)
  character(len=1),allocatable :: foo(:,:), bar(:,:)
  tempn = 'a'
  allocate(foo(3,0),bar(-2:-4,7:9))
  print *, transpose(tempn(-7:-8,:))
  print *, transpose(tempn(:,9:8))
  print *, transpose(foo)
  print *, transpose(bar)
  end
$ cat zero_unpack.f90
  integer :: tempn(1,5), tempv(5)
  integer,allocatable :: foo(:,:), bar(:)
  tempn = 2 
  tempv = 5
  allocate(foo(0,1:7),bar(0:-1))
  print *, unpack(tempv,tempv/=0,tempv)
  print *, unpack(tempv(1:0),tempv/=0,tempv)
  print *, unpack(tempv,tempv(1:0)/=0,tempv)
  print *, unpack(tempv(5:4),tempv(1:0)/=0,tempv)
  print *, unpack(bar,foo==foo,foo)
  end


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2006-06-24 23:08 ` fxcoudert at gcc dot gnu dot org
@ 2006-07-26  8:35 ` fxcoudert at gcc dot gnu dot org
  2006-10-19 21:49 ` fxcoudert at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-07-26  8:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from fxcoudert at gcc dot gnu dot org  2006-07-26 08:34 -------
A patch for the library functions CSHIFT, PACK and SPREAD has been submitted:
http://gcc.gnu.org/ml/gcc-patches/2006-07/msg01103.html

The only one that is still not working is thus RESHAPE; it's proving difficult
to fix!


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2006-
                   |                            |07/msg01103.html
           Keywords|diagnostic                  |


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with SPREAD and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2006-07-26  8:35 ` fxcoudert at gcc dot gnu dot org
@ 2006-10-19 21:49 ` fxcoudert at gcc dot gnu dot org
  2006-10-19 21:59 ` [Bug libfortran/27895] problem with RESHAPE " fxcoudert at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-10-19 21:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from fxcoudert at gcc dot gnu dot org  2006-10-19 21:49 -------
Subject: Bug 27895

Author: fxcoudert
Date: Thu Oct 19 21:48:50 2006
New Revision: 117890

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=117890
Log:
        PR libfortran/27895

        * intrinsics/cshift0.c: Special cases for zero-sized arrays.
        * intrinsics/pack_generic.c: Likewise.
        * intrinsics/spread_generic.c: Likewise.

        * gfortran.dg/zero_sized_1.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/zero_sized_1.f90
Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/libgfortran/ChangeLog
    trunk/libgfortran/intrinsics/cshift0.c
    trunk/libgfortran/intrinsics/pack_generic.c
    trunk/libgfortran/intrinsics/spread_generic.c


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2006-10-19 21:49 ` fxcoudert at gcc dot gnu dot org
@ 2006-10-19 21:59 ` fxcoudert at gcc dot gnu dot org
  2006-11-03  7:34 ` fxcoudert at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-10-19 21:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from fxcoudert at gcc dot gnu dot org  2006-10-19 21:59 -------
It's still not working for RESHAPE. Uncomment the test_reshape line in the
newly added zero_sized_1.f90 test and see how it fails :)


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|http://gcc.gnu.org/ml/gcc-  |
                   |patches/2006-               |
                   |07/msg01103.html            |
           Keywords|patch                       |
            Summary|problem with SPREAD and     |problem with RESHAPE and
                   |zero-sized arrays           |zero-sized arrays


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2006-10-19 21:59 ` [Bug libfortran/27895] problem with RESHAPE " fxcoudert at gcc dot gnu dot org
@ 2006-11-03  7:34 ` fxcoudert at gcc dot gnu dot org
  2006-11-03 11:51 ` fxcoudert at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-11-03  7:34 UTC (permalink / raw)
  To: gcc-bugs



-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2006-
                   |                            |11/msg00129.html
           Keywords|                            |patch
      Known to fail|4.2.0 4.1.2                 |4.2.0 4.1.2 4.3.0
   Target Milestone|---                         |4.2.0


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2006-11-03  7:34 ` fxcoudert at gcc dot gnu dot org
@ 2006-11-03 11:51 ` fxcoudert at gcc dot gnu dot org
  2006-11-03 12:24 ` [Bug libfortran/27895] [4.1/4.2 only] " fxcoudert at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-11-03 11:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from fxcoudert at gcc dot gnu dot org  2006-11-03 11:51 -------
Subject: Bug 27895

Author: fxcoudert
Date: Fri Nov  3 11:51:09 2006
New Revision: 118455

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118455
Log:
        PR libfortran/27895

        * intrinsics/reshape_generic.c (reshape_internal): Fix so that it
        works correctly for zero-sized arrays.
        * m4/reshape.m4: Likewise.
        * generated/reshape_r16.c: Regenerate.
        * generated/reshape_c4.c: Regenerate.
        * generated/reshape_i4.c: Regenerate.
        * generated/reshape_c16.c: Regenerate.
        * generated/reshape_r10.c: Regenerate.
        * generated/reshape_r8.c: Regenerate.
        * generated/reshape_c10.c: Regenerate.
        * generated/reshape_c8.c: Regenerate.
        * generated/reshape_i8.c: Regenerate.
        * generated/reshape_i16.c: Regenerate.
        * generated/reshape_r4.c: Regenerate.

        * gcc/testsuite/gfortran.dg/zero_sized_1.f90: Uncomment checks
        for RESHAPE.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/zero_sized_1.f90
    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=27895


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] [4.1/4.2 only] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2006-11-03 11:51 ` fxcoudert at gcc dot gnu dot org
@ 2006-11-03 12:24 ` fxcoudert at gcc dot gnu dot org
  2006-11-12 21:36 ` mmitchel at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-11-03 12:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from fxcoudert at gcc dot gnu dot org  2006-11-03 12:24 -------
The patch in comments 10 and 12 will need to be backported to 4.2 and 4.1.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|4.2.0 4.1.2 4.3.0           |4.2.0 4.1.2
      Known to work|                            |4.3.0
            Summary|problem with RESHAPE and    |[4.1/4.2 only] problem with
                   |zero-sized arrays           |RESHAPE and zero-sized
                   |                            |arrays


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] [4.1/4.2 only] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2006-11-03 12:24 ` [Bug libfortran/27895] [4.1/4.2 only] " fxcoudert at gcc dot gnu dot org
@ 2006-11-12 21:36 ` mmitchel at gcc dot gnu dot org
  2006-11-14  6:19 ` fxcoudert at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-11-12 21:36 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P5


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] [4.1/4.2 only] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2006-11-12 21:36 ` mmitchel at gcc dot gnu dot org
@ 2006-11-14  6:19 ` fxcoudert at gcc dot gnu dot org
  2006-11-14  6:19 ` fxcoudert at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-11-14  6:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from fxcoudert at gcc dot gnu dot org  2006-11-14 06:19 -------
Subject: Bug 27895

Author: fxcoudert
Date: Tue Nov 14 06:19:04 2006
New Revision: 118805

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118805
Log:
        PR libfortran/27895

        * intrinsics/cshift0.c: Special cases for zero-sized arrays.
        * intrinsics/pack_generic.c: Likewise.
        * intrinsics/spread_generic.c: Likewise.
        * intrinsics/reshape_generic.c (reshape_internal): Fix so that it
        works correctly for zero-sized arrays.
        * m4/reshape.m4: Likewise.
        * generated/reshape_r16.c: Regenerate.
        * generated/reshape_c4.c: Regenerate.
        * generated/reshape_i4.c: Regenerate.
        * generated/reshape_c16.c: Regenerate.
        * generated/reshape_r10.c: Regenerate.
        * generated/reshape_r8.c: Regenerate.
        * generated/reshape_c10.c: Regenerate.
        * generated/reshape_c8.c: Regenerate.
        * generated/reshape_i8.c: Regenerate.
        * generated/reshape_i16.c: Regenerate.
        * generated/reshape_r4.c: Regenerate.

        * gfortran.dg/zero_sized_1.f90: New test.

Added:
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/zero_sized_1.f90
      - copied, changed from r117890,
trunk/gcc/testsuite/gfortran.dg/zero_sized_1.f90
Modified:
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_1-branch/libgfortran/ChangeLog
    branches/gcc-4_1-branch/libgfortran/generated/reshape_c10.c
    branches/gcc-4_1-branch/libgfortran/generated/reshape_c16.c
    branches/gcc-4_1-branch/libgfortran/generated/reshape_c4.c
    branches/gcc-4_1-branch/libgfortran/generated/reshape_c8.c
    branches/gcc-4_1-branch/libgfortran/generated/reshape_i16.c
    branches/gcc-4_1-branch/libgfortran/generated/reshape_i4.c
    branches/gcc-4_1-branch/libgfortran/generated/reshape_i8.c
    branches/gcc-4_1-branch/libgfortran/generated/reshape_r10.c
    branches/gcc-4_1-branch/libgfortran/generated/reshape_r16.c
    branches/gcc-4_1-branch/libgfortran/intrinsics/cshift0.c
    branches/gcc-4_1-branch/libgfortran/intrinsics/pack_generic.c
    branches/gcc-4_1-branch/libgfortran/intrinsics/reshape_generic.c
    branches/gcc-4_1-branch/libgfortran/intrinsics/spread_generic.c
    branches/gcc-4_1-branch/libgfortran/m4/reshape.m4


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] [4.1/4.2 only] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (16 preceding siblings ...)
  2006-11-14  6:19 ` fxcoudert at gcc dot gnu dot org
@ 2006-11-14  6:19 ` fxcoudert at gcc dot gnu dot org
  2006-11-14  6:24 ` [Bug libfortran/27895] " fxcoudert at gcc dot gnu dot org
  2006-12-01  0:09 ` chaoyingfu at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-11-14  6:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from fxcoudert at gcc dot gnu dot org  2006-11-14 06:18 -------
Subject: Bug 27895

Author: fxcoudert
Date: Tue Nov 14 06:18:36 2006
New Revision: 118804

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118804
Log:
        PR libfortran/27895

        * intrinsics/reshape_generic.c (reshape_internal): Fix so that it
        works correctly for zero-sized arrays.
        * m4/reshape.m4: Likewise.
        * generated/reshape_r16.c: Regenerate.
        * generated/reshape_c4.c: Regenerate.
        * generated/reshape_i4.c: Regenerate.
        * generated/reshape_c16.c: Regenerate.
        * generated/reshape_r10.c: Regenerate.
        * generated/reshape_r8.c: Regenerate.
        * generated/reshape_c10.c: Regenerate.
        * generated/reshape_c8.c: Regenerate.
        * generated/reshape_i8.c: Regenerate.
        * generated/reshape_i16.c: Regenerate.
        * generated/reshape_r4.c: Regenerate.

        * gcc/testsuite/gfortran.dg/zero_sized_1.f90: Uncomment checks
        for RESHAPE.

Modified:
    branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/zero_sized_1.f90
    branches/gcc-4_2-branch/libgfortran/ChangeLog
    branches/gcc-4_2-branch/libgfortran/generated/reshape_c10.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_c16.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_c4.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_c8.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_i16.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_i4.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_i8.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_r10.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_r16.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_r4.c
    branches/gcc-4_2-branch/libgfortran/generated/reshape_r8.c
    branches/gcc-4_2-branch/libgfortran/intrinsics/reshape_generic.c
    branches/gcc-4_2-branch/libgfortran/m4/reshape.m4


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (17 preceding siblings ...)
  2006-11-14  6:19 ` fxcoudert at gcc dot gnu dot org
@ 2006-11-14  6:24 ` fxcoudert at gcc dot gnu dot org
  2006-12-01  0:09 ` chaoyingfu at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-11-14  6:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from fxcoudert at gcc dot gnu dot org  2006-11-14 06:24 -------
Fixed on all active release branches.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
      Known to fail|4.2.0 4.1.2                 |
      Known to work|4.3.0                       |4.3.0 4.2.0 4.1.2
         Resolution|                            |FIXED
            Summary|[4.1/4.2 only] problem with |problem with RESHAPE and
                   |RESHAPE and zero-sized      |zero-sized arrays
                   |arrays                      |
   Target Milestone|4.2.0                       |4.1.2


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libfortran/27895] problem with RESHAPE and zero-sized arrays
  2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
                   ` (18 preceding siblings ...)
  2006-11-14  6:24 ` [Bug libfortran/27895] " fxcoudert at gcc dot gnu dot org
@ 2006-12-01  0:09 ` chaoyingfu at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: chaoyingfu at gcc dot gnu dot org @ 2006-12-01  0:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from chaoyingfu at gcc dot gnu dot org  2006-12-01 00:07 -------
Subject: Bug 27895

Author: chaoyingfu
Date: Fri Dec  1 00:05:26 2006
New Revision: 119383

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119383
Log:
Merged revisions 118455-118543 via svnmerge from 
svn+ssh://chaoyingfu@sources.redhat.com/svn/gcc/trunk

........
  r118455 | fxcoudert | 2006-11-03 03:51:09 -0800 (Fri, 03 Nov 2006) | 20 lines

        PR libfortran/27895

        * intrinsics/reshape_generic.c (reshape_internal): Fix so that it
        works correctly for zero-sized arrays.
        * m4/reshape.m4: Likewise.
        * generated/reshape_r16.c: Regenerate.
        * generated/reshape_c4.c: Regenerate.
        * generated/reshape_i4.c: Regenerate.
        * generated/reshape_c16.c: Regenerate.
        * generated/reshape_r10.c: Regenerate.
        * generated/reshape_r8.c: Regenerate.
        * generated/reshape_c10.c: Regenerate.
        * generated/reshape_c8.c: Regenerate.
        * generated/reshape_i8.c: Regenerate.
        * generated/reshape_i16.c: Regenerate.
        * generated/reshape_r4.c: Regenerate.

        * gcc/testsuite/gfortran.dg/zero_sized_1.f90: Uncomment checks
        for RESHAPE.
........
  r118458 | amylaar | 2006-11-03 06:52:19 -0800 (Fri, 03 Nov 2006) | 97 lines

  gcc:

  2006-11-03  J"orn Rennecke  <joern.rennecke@st.com>

        * config/sh/crt1.asm: Fix #ifdef indent.

  2006-11-03  J"orn Rennecke  <joern.rennecke@st.com>
        Merged from STMicroelectronics sources:
        2006-10-06  Andrew Stubbs  <andrew.stubbs@st.com>
          * config/sh/crt1.asm (vbr_600): Add missing #if.
        2006-08-03  J"orn Rennecke  <joern.rennecke@st.com>
          * sh.opt (mfused-madd): New option.
          * sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC.
        2006-07-04  Andrew Stubbs  <andrew.stubbs@st.com>
          * config/sh/crt1.asm (vbr_start): Move to new section .test.vbr.
          Remove pointless handler at VBR+0.
          (vbr_200, vbr_300, vbr_500): Remove pointless handler.
          (vbr_600): Save and restore mach and macl, fpul and fpscr and fr0 to
          fr7. Make sure the timer handler is called with the correct FPU
          precision setting, according to the ABI.
        2006-06-14  J"orn Rennecke <joern.rennecke@st.com>
          * config/sh/sh.opt (m2a-single, m2a-single-only): Fix Condition.
          * config/sh/sh.h (SUPPORT_SH2A_NOFPU): Fix condition.
          (SUPPORT_SH2A_SINGLE_ONLY, SUPPORT_SH2A_SINGLE_ONLY): Likewise.
        2006-06-09  J"orn Rennecke <joern.rennecke@st.com>
          * sh.md (cmpgeusi_t): Change into define_insn_and_split.  Accept
          zero as second operand.
        2006-04-28  J"orn Rennecke <joern.rennecke@st.com>
          * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
          Fixed some bugs related to negative values, in particular -0
          and overflow at -0x80000000.
          * config/sh/divcost-analysis: Added sh4-300 figures.
        2006-04-27  J"orn Rennecke <joern.rennecke@st.com>
          * config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options.
        2006-04-26  J"orn Rennecke <joern.rennecke@st.com>
          * config/sh/t-sh (OPT_EXTRA_PARTS): Add libgcc-4-300.a.
          ($(T)div_table-4-300.o, $(T)libgcc-4-300.a): New rules.
          * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
        New files.
          * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-4-300 for -m4-300* /
          -m4-340.
        2006-04-24  J"orn Rennecke <joern.rennecke@st.com>
          SH4-300 scheduling description & fixes to SH4-[12]00 description:
          * sh.md: New instruction types: fstore, movi8, fpscr_toggle, gp_mac,
          mac_mem, mem_mac, dfp_mul, fp_cmp.
          (insn_class, dfp_comp, any_fp_comp): Update.
          (push_fpul, movsf_ie, fpu_switch, toggle_sz, toggle_pr): Update type.
          (cmpgtsf_t, "cmpeqsf_t, cmpgtsf_t_i4, cmpeqsf_t_i4): Likewise.
          (muldf3_i): Likewise.
          (movsi_i): Split rI08 alternative into two separate alternatives.
          Update type.
          (movsi_ie, movsi_i_lowpart): Likewise.
          (movqi_i): Split ri alternative into two separate alternatives.
          Update type.
          * sh1.md (sh1_load_store, sh1_fp): Update.
          * sh4.md (sh4_store, sh4_mac_gp, fp_arith, fp_double_arith): Update.
          (mac_mem, sh4_fpscr_toggle): New insn_reservations.
          * sh4a.md (sh4a_mov, sh4a_load, sh4a_store, sh4a_fp_arith): Update.
          (sh4a_fp_double_arith): Likewise.
          * sh4-300.md: New file.
          * sh.c (sh_handle_option): Handle m4-300* options.
          (sh_adjust_cost): Fix latency of auto-increments.
          Handle SH4-300 differently than other SH4s.  Check for new insn
types.
          * sh.h (OVERRIDE_OPTIONS): Initilize sh_branch_cost if it has not
          been set by an option.
          * sh.opt (m4-300, m4-100-nofpu, m4-200-nofpu): New options.
          (m4-300-nofpu, -m4-340, m4-300-single, m4-300-single-only): Likewise.
          (mbranch-cost=): Likewise.
          * superh.h (STARTFILE_SPEC): Take -m4-340 into account.

          * sh.md (mulsf3): Remove special expansion code.
          (mulsf3_ie): Now a define_insn_and_split.
          (macsf3): Allow for TARGET_SH4.

          * sh.md (cbranchsi4, cbranchdi4, cbranchdi4_i): New patterns.
          * sh.c (prepare_cbranch_operands, expand_cbranchsi4): New functions.
          (expand_cbranchdi4): Likewise.
          (sh_rtx_costs): Give lower cost for certain CONST_INT values and for
          CONST_DOUBLE if the outer code is COMPARE.
          * sh.h (OPTIMIZATION_OPTIONS): If not optimizing for size, set
          TARGET_CBRANCHDI4 and TARGET_EXPAND_CBRANCHDI4.
          (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, clear TARGET_CBRANCHDI4.
          (LEGITIMATE_CONSTANT_P): Also allow DImode and VOIDmode
CONST_DOUBLEs.
          Remove redundant fp_{zero,one}_operand checks.
          * sh.opt (mcbranchdi, mexpand-cbranchdi, mcmpeqdi): New options.
          * sh-protos.h (prepare_cbranch_operands, expand_cbranchsi4): Declare.
          (expand_cbranchdi4): Likewise.
        2006-04-20  J"orn Rennecke <joern.rennecke@st.com>
          * sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT.

  gcc/testsuite:

  2006-11-03  J"orn Rennecke  <joern.rennecke@st.com>

        * testsuite/gcc.c-torture/execute/arith-rand-ll.c:
        Also test for bogus rest sign.
........
  r118459 | davidu | 2006-11-03 09:32:39 -0800 (Fri, 03 Nov 2006) | 9 lines

  * config/mips/mips.h (processor_type): Removed PROCESSOR_24K, add
  PROCESSOR_24KC and PROCESSOR_24KF.
  * config/mips/mips.c (mips_cpu_info_table): Add processor names
  and aliases for 4kec/4kem/4kep/24kec/24kef/24kex/34kc/34kf/34kx.
  (mips_rtx_cost_data): Add costs for the 24kc.
  * config/mips/mips.md ("cpu"): Remove 24k, add 24kc and 24kf.
  * config/mips/24k.md: Remove references to 24k and replace with
  uses of 24kc/24kf in the appropriate reservations.
  * doc/invoke.texi (MIPS Options): Updated. 
........
  r118460 | davidu | 2006-11-03 09:39:44 -0800 (Fri, 03 Nov 2006) | 2 lines

  typo
........
  r118461 | pbrook | 2006-11-03 09:49:43 -0800 (Fri, 03 Nov 2006) | 9 lines

  2006-11-03  Paul Brook  <paul@codesourcery.com>

        gcc/
        * config/arm/arm.c (arm_file_start): New function.
        (TARGET_ASM_FILE_START): Define.
        (arm_default_cpu): New variable.
        (arm_override_options): Set arm_default_cpu.
........
  r118465 | steven | 2006-11-03 14:12:37 -0800 (Fri, 03 Nov 2006) | 15 lines

        * tree-dump.c (dump_enable_all): Rename local variable
        ir_type to avoid name conflicts.
        * cfgloopmanip.c (lv_adjust_loop_entry_edge): Check for IR_GIMPLE
        instead of using ir_type().
        * profile.c (tree_register_profile_hooks): Likewise.
        * value-prof.c (tree_register_value_prof_hooks): Likewise.
        * basic-block.h (struct edge_def): Likewise.
        * config/arm/arm.c (legitimize_pic_address): Likewise.
        * coretypes.h (ir_type): New enum of all intermediate languages
        used in GCC.
        * cfghooks.c (ir_type): Rename to...
        (current_ir_type): ...this.  Distinguish between cfgrtl and
        cfglayout mode when the current IR is RTL.  Return enum ir_type.
        * cfghooks.h (ir_type): Replace with current_ir_type prototype.
........
  r118470 | gccadmin | 2006-11-03 16:17:39 -0800 (Fri, 03 Nov 2006) | 1 line

  Daily bump.
........
  r118472 | sayle | 2006-11-03 16:51:51 -0800 (Fri, 03 Nov 2006) | 11 lines


        * call.c (build_op_delete_call): Test user-visible type against
        size_type_node, instead of against the internal type, sizetype.
        * class.c (type_requires_array_cookie): Likewise.
        * mangle.c (write_builtin_type) <INTEGER_TYPE>: Remove special
        handling of TYPE_IS_SIZETYPE.
        * typeck.c (type_after_usual_arithmetic_conversions): Remove
        special case handling of TYPE_IS_SIZETYPE.
        (comptypes): Likewise.
........
  r118474 | geoffk | 2006-11-03 18:59:52 -0800 (Fri, 03 Nov 2006) | 4 lines

        * c-decl.c (WANT_C99_INLINE_SEMANTICS): New, set to 1.
        (merge_decls): Implement WANT_C99_INLINE_SEMANTICS.
        (grokdeclarator): Likewise.
........
  r118475 | bonzini | 2006-11-04 00:36:45 -0800 (Sat, 04 Nov 2006) | 30 lines

  2006-11-03  Paolo Bonzini  <bonzini@gnu.org>
              Steven Bosscher  <stevenb.gcc@gmail.com>

          * fwprop.c: New file.
          * Makefile.in: Add fwprop.o.
          * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New.
          * passes.c (init_optimization_passes): Schedule forward propagation.
          * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second
          parameter.
          * timevar.def (TV_FWPROP): New.
          * common.opt (-fforward-propagate): New.
          * opts.c (decode_options): Enable forward propagation at -O2.
          * gcse.c (one_cprop_pass): Do not run local cprop unless touching
jumps.
          * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1,
find_best_addr,
          canon_for_address, table_size): Remove.
          (new_basic_block, insert, remove_from_table): Remove references to
          table_size.
          (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make
          simplification loop more straightforward by not calling fold_rtx
          recursively.
          (equiv_constant): Move here a small part of fold_rtx_subreg,
          do not call fold_rtx.  Call avoid_constant_pool_reference
          to process MEMs.
          * recog.c (canonicalize_change_group): New.
          * recog.h (canonicalize_change_group): New.

          * doc/invoke.texi (Optimization Options): Document fwprop.
          * doc/passes.texi (RTL passes): Document fwprop.
........
  r118478 | steven | 2006-11-04 03:13:57 -0800 (Sat, 04 Nov 2006) | 2 lines

  ChangeLog fix
........
  r118479 | uros | 2006-11-04 04:07:29 -0800 (Sat, 04 Nov 2006) | 4 lines

          * config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable
          patterns for standard 80387 constants.
........
  r118481 | rearnsha | 2006-11-04 06:26:34 -0800 (Sat, 04 Nov 2006) | 2 lines

        * arm.c (thumb_legitimate_addres_p): Allow any constant offset
        from the soft-frame, argument and virtual registers.
........
  r118483 | fxcoudert | 2006-11-04 12:58:26 -0800 (Sat, 04 Nov 2006) | 6 lines

        PR fortran/29713

        * expr.c (gfc_simplify_expr): Correct memory allocation.

        * gfortran.dg/pr29713.f90: New test.
........
  r118484 | uros | 2006-11-04 15:12:16 -0800 (Sat, 04 Nov 2006) | 14 lines

          PR target/26915
          * config/i386/i386.c (standard_80387_constant_p): Treat -0.0 and -1.0
          as a valid 80387 constant.
          (standard_80387_constant_opcode): Return "#" for -0.0 and -1.0.
          * config/i386/i386.md (unnamed splitter): Split the load of
          constant -0.0 or -1.0  into the load of 0.0 or 1.0, followed
          by negation.

  testsuite/ChangeLog:

          PR target/26915
          * gcc.target/i386/387-12.c: New test.
  ~
........
  r118489 | gccadmin | 2006-11-04 16:17:22 -0800 (Sat, 04 Nov 2006) | 1 line

  Daily bump.
........
  r118491 | brooks | 2006-11-04 16:28:08 -0800 (Sat, 04 Nov 2006) | 6 lines

  * fortran/error.c (show_locus): Add trailing colon in error messages.
  (error_print): Avoid leading space in error lines.
  * testsuite/lib/gfortran-dg.exp (gfortran-dg-test): Adjust pattern
  for matching error messages.
........
  r118492 | pault | 2006-11-04 22:27:48 -0800 (Sat, 04 Nov 2006) | 18 lines

  2006-11-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu,org>
            Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/24518
        * trans-intrinsic.c (gfc_conv_intrinsic_mod): Use built_in fmod
        for both MOD and MODULO, if it is available.

        PR fortran/29565
        * trans-expr.c (gfc_conv_aliased_arg): For an INTENT(OUT), save
        the declarations from the unused loops by merging the block
        scope for each; this ensures that the temporary is declared.

  2006-11-05  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/29565
        * gfortran.dg/gfortran.dg/aliasing_dummy_3.f90: New test.
........
  r118494 | ebotcazou | 2006-11-05 02:19:18 -0800 (Sun, 05 Nov 2006) | 1 line

  Fix typos.
........
  r118496 | charlet | 2006-11-05 02:58:41 -0800 (Sun, 05 Nov 2006) | 4 lines

        * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads
        (To_Target_Priority): New function.
        Fix PR ada/29707
........
  r118497 | jakub | 2006-11-05 04:13:46 -0800 (Sun, 05 Nov 2006) | 7 lines

        PR middle-end/29695
        * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
        simplification.

        * gcc.c-torture/execute/pr29695-1.c: New test.
        * gcc.c-torture/execute/pr29695-2.c: New test.
........
  r118500 | kkojima | 2006-11-05 04:58:28 -0800 (Sun, 05 Nov 2006) | 4 lines

        * config/sh/lib1funcs-4-300.asm: Guard entire file with
          #if !__SHMEDIA__ .
........
  r118501 | aldot | 2006-11-05 06:57:24 -0800 (Sun, 05 Nov 2006) | 9 lines

  2006-11-05  Bernhard Fischer  <aldot@gcc.gnu.org>

          PR fortran/21061
          * error.c (gfc_warning): If warnings_are_errors then treat
          warnings as errors with respect to the exit code.
          (gfc_notify_std): Ditto.
          (gfc_warning_now): Ditto.
........
  r118502 | paolo | 2006-11-05 08:17:03 -0800 (Sun, 05 Nov 2006) | 6 lines

  2006-11-05  Paolo Carlini  <pcarlini@suse.de>

        * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 45.
        * docs/html/ext/lwg-closed.html: Add.
        * docs/html/ext/howto.html: Adjust.
........
  r118506 | jvdelisle | 2006-11-05 09:35:30 -0800 (Sun, 05 Nov 2006) | 10 lines

  2006-11-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

        PR libgfortran/25545
        * io/transfer.c (write_block): Cleanup code paths between
        stream and non-stream I/O.
        (write_buf):  Cleanup.
        (read_block): Cleanup.
        (finalize_transfer): Call next_record for '$' edit descriptor handling
        of internal unit. Cleanup code for readability.
........
  r118507 | jvdelisle | 2006-11-05 09:40:42 -0800 (Sun, 05 Nov 2006) | 5 lines

  2006-11-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

        PR libgfortran/25545
        * gfortran.dg/dollar_edit_descriptor-2.f: New test.
........
  r118508 | jvdelisle | 2006-11-05 09:54:17 -0800 (Sun, 05 Nov 2006) | 4 lines

  2006-11-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

        * io/transfer.c (next_record_w): Fix indentation.
........
  r118515 | gccadmin | 2006-11-05 16:17:47 -0800 (Sun, 05 Nov 2006) | 1 line

  Daily bump.
........
  r118518 | vprus | 2006-11-06 01:49:07 -0800 (Mon, 06 Nov 2006) | 10 lines

          * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no
          set inhibit_libc.
          * config/arm/t-strongarm-elf: Likewise.
          * config/arm/t-pe: Likewise.
          * config/arm/t-arm-elf: Likewise.
          * config/arm/t-xscale-elf: Likewise.
          * config/arm/t-arm-coff: Likewise.
          * config/arm/t-xscale-coff: Likewise.
          * config/arm/t-wince-pe: Likewise.
........
  r118523 | fche | 2006-11-06 10:02:13 -0800 (Mon, 06 Nov 2006) | 10 lines

  2006-11-06  Frank Ch. Eigler  <fche@redhat.com>

        * configure.ac (__libc_freeres): Look for it.
        * mf-impl.h (call_libc_freeres): New configuration flag.
        * mf-runtime.c (__mf_set_default_options): Set it by default.
        (__mfu_report): Call it if needed.
        (__mfu_unregister): Remove "unaccessed registered object" warning.
        * configure, config.h.in: Regenerated.
........
  r118524 | bwilson | 2006-11-06 10:50:37 -0800 (Mon, 06 Nov 2006) | 24 lines

        * longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3,
        count_leading_zeros, and count_trailing_zeros.
        * config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define.
        (TARGET_FOLD_BUILTIN): Define.
        (TARGET_EXPAND_BUILTIN): Define.
        (xtensa_init_builtins): New.
        (xtensa_fold_builtin): New.
        (xtensa_expand_builtin): New.
        (xtensa_rtx_costs): Add CTZ and CLZ.  Adjust costs for MULT.
        * config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define.
        (CLZ_DEFINED_VALUE_AT_ZERO): Define.
        (CTZ_DEFINED_VALUE_AT_ZERO): Define.
        * config/xtensa/xtensa.md (UNSPEC_NSAU): Remove.
        (any_extend): New code macro.
        (u, su): New code attributes.
        (<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New.
        (nsau): Remove; replaced by clzsi2.
        (ffssi2): Use clzsi2.
        * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3,
        _clzsi2, _ctzsi2, and _ffssi2.  Rename _nsau to _clz.
        * config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option.
        (__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New.
        (__nsau_data): Guard with ifdef L_clz instead of L_nsau.
........
  r118525 | dannysmith | 2006-11-06 11:49:31 -0800 (Mon, 06 Nov 2006) | 5 lines

  2006-11-06  Jan van Dijk  <jan@etpmod.phys.tue.nl>

        * configure.ac: Fix typo in case statement: :: changed to ;;
        * configure: Regenerate.
........
  r118526 | fche | 2006-11-06 12:04:14 -0800 (Mon, 06 Nov 2006) | 6 lines

  2006-11-06  Frank Ch. Eigler  <fche@redhat.com>

        From Herman ten Brugge <hermantenbrugge@home.nl>:
        * mf-runtime.c (__mf_uncache_object): Optimize the code so that
        small and large objects are handled a lot faster.
........
  r118528 | eedelman | 2006-11-06 14:18:54 -0800 (Mon, 06 Nov 2006) | 18 lines

  fortran/
  2006-11-06  Erik Edelmann  <eedelman@gcc.gnu.org>

          PR fortran/29630
          PR fortran/29679
          * expr.c (find_array_section): Support vector subscripts.  Don't
          add sizes for dimen_type == DIMEN_ELEMENT to the shape array.


  testsuite/
  2006-11-06  Erik Edelmann  <eedelman@gcc.gnu.org>

          PR fortran/29630
          PR fortran/29679
          * gfortran.dg/initialization_2.f90: Test PRs 29630 and 29679 too.
          * gfortran.dg/initialization_3.f90: New.
........
  r118530 | pinskia | 2006-11-06 15:25:19 -0800 (Mon, 06 Nov 2006) | 7 lines

  2006-11-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

          PR tree-opt/29439
          * tree-vrp.c (vrp_int_const_binop): Use the correct tree when
          checking for overflow.
........
  r118531 | janis | 2006-11-06 16:08:32 -0800 (Mon, 06 Nov 2006) | 22 lines

  gcc/

  2006-11-06  Janis Johnson  <janis187@us.ibm.com>

        * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists
        and output-exists-not.

  gcc/testsuite/

  2006-11-06  Janis Johnson  <janis187@us.ibm.com
            Bernhard Fischer  <aldot@gcc.gnu.org>

        * lib/gcc-dg.exp (output-exists): New proc.
        (output-exists-not): New proc.
        * gcc.test-framework/test-framework.awk: Support new directives.
        * gcc.test-framework/dg-outexistsnot-exp-F.c: New test.
        * gcc.test-framework/dg-outexistsnot-exp-P.c: New test.
        * gcc.test-framework/dg-outexists-exp-F.c: New test.
        * gcc.test-framework/dg-outexists-exp-XP.c: New test.
        * gcc.test-framework/dg-outexistsnot-exp-XF.c: New test.
        * gcc.test-framework/dg-outexists-exp-P.c: New test.
........
  r118536 | gccadmin | 2006-11-06 16:17:48 -0800 (Mon, 06 Nov 2006) | 1 line

  Daily bump.
........
  r118538 | brooks | 2006-11-06 17:49:55 -0800 (Mon, 06 Nov 2006) | 3 lines

  * intrinsic.texi: Added documentation for FTELL, GETLOG, and HOSTNM
intrinsics.
........
  r118540 | brooks | 2006-11-06 17:52:49 -0800 (Mon, 06 Nov 2006) | 2 lines

  Fixed incorrect date in changelog entry.
........
  r118541 | echristo | 2006-11-06 21:40:34 -0800 (Mon, 06 Nov 2006) | 7 lines

  2006-11-06  Eric Christopher  <echristo@apple.com>

            * config.gcc: Add x86_64-darwin host support.
            * config.host: Ditto.
            * config/i386/darwin64.h: New file.
            * config/i386/t-darwin64: Ditto.
........
  r118542 | burnus | 2006-11-07 01:11:08 -0800 (Tue, 07 Nov 2006) | 21 lines

  fortran/
  2006-11-06  Tobias Burnus  <burnus@net-b.de>

         * decl.c (match_attr_spec, gfc_match_enum): Unify gfc_notify_std
           message for GFC_STD_F2003.
         * array.c (gfc_match_array_constructor): Unify gfc_notify_std
           message for GFC_STD_F2003.
         * io.c (check_io_constraints): Unify gfc_notify_std message for
           GFC_STD_F2003.
         * resolve.c (resolve_actual_arglist): Unify gfc_notify_std message
           for GFC_STD_F2003.

  testsuite/
  2006-11-06  Tobias Burnus  <burnus@net-b.de>

         * gfortran.dg/io_constraints_2.f90: Adjust pattern
           for matching error messages.
         * gfortran.dg/specifics_3.f90: Adjust pattern
           for matching error messages.
........
  r118543 | bkoz | 2006-11-07 04:33:20 -0800 (Tue, 07 Nov 2006) | 8 lines

  2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>

        * include/ext/pb_ds/exception.hpp: Add translation support to
        exception strings.
        * include/ext/concurrence.h: Same.
        * include/tr1/array: Same.
........

Added:
    branches/fixed-point/gcc/config/i386/darwin64.h
      - copied unchanged from r118543, trunk/gcc/config/i386/darwin64.h
    branches/fixed-point/gcc/config/i386/t-darwin64
      - copied unchanged from r118543, trunk/gcc/config/i386/t-darwin64
    branches/fixed-point/gcc/testsuite/gcc.test-framework/dg-outexists-exp-F.c
      - copied unchanged from r118543,
trunk/gcc/testsuite/gcc.test-framework/dg-outexists-exp-F.c
    branches/fixed-point/gcc/testsuite/gcc.test-framework/dg-outexists-exp-P.c
      - copied unchanged from r118543,
trunk/gcc/testsuite/gcc.test-framework/dg-outexists-exp-P.c
    branches/fixed-point/gcc/testsuite/gcc.test-framework/dg-outexists-exp-XP.c
      - copied unchanged from r118543,
trunk/gcc/testsuite/gcc.test-framework/dg-outexists-exp-XP.c
   
branches/fixed-point/gcc/testsuite/gcc.test-framework/dg-outexistsnot-exp-F.c
      - copied unchanged from r118543,
trunk/gcc/testsuite/gcc.test-framework/dg-outexistsnot-exp-F.c
   
branches/fixed-point/gcc/testsuite/gcc.test-framework/dg-outexistsnot-exp-P.c
      - copied unchanged from r118543,
trunk/gcc/testsuite/gcc.test-framework/dg-outexistsnot-exp-P.c
   
branches/fixed-point/gcc/testsuite/gcc.test-framework/dg-outexistsnot-exp-XF.c
      - copied unchanged from r118543,
trunk/gcc/testsuite/gcc.test-framework/dg-outexistsnot-exp-XF.c
Modified:
    branches/fixed-point/   (props changed)
    branches/fixed-point/gcc/ChangeLog
    branches/fixed-point/gcc/DATESTAMP
    branches/fixed-point/gcc/Makefile.in
    branches/fixed-point/gcc/ada/ChangeLog
    branches/fixed-point/gcc/ada/s-osinte-linux-alpha.ads
    branches/fixed-point/gcc/ada/s-osinte-linux-hppa.ads
    branches/fixed-point/gcc/basic-block.h
    branches/fixed-point/gcc/c-decl.c
    branches/fixed-point/gcc/cfghooks.c
    branches/fixed-point/gcc/cfghooks.h
    branches/fixed-point/gcc/cfgloopmanip.c
    branches/fixed-point/gcc/common.opt
    branches/fixed-point/gcc/config.gcc
    branches/fixed-point/gcc/config.host
    branches/fixed-point/gcc/config/arm/arm.c
    branches/fixed-point/gcc/config/arm/t-arm-coff
    branches/fixed-point/gcc/config/arm/t-arm-elf
    branches/fixed-point/gcc/config/arm/t-pe
    branches/fixed-point/gcc/config/arm/t-strongarm-elf
    branches/fixed-point/gcc/config/arm/t-strongarm-pe
    branches/fixed-point/gcc/config/arm/t-wince-pe
    branches/fixed-point/gcc/config/arm/t-xscale-coff
    branches/fixed-point/gcc/config/arm/t-xscale-elf
    branches/fixed-point/gcc/config/i386/i386.c
    branches/fixed-point/gcc/config/i386/i386.md
    branches/fixed-point/gcc/config/mips/24k.md
    branches/fixed-point/gcc/config/mips/mips.c
    branches/fixed-point/gcc/config/mips/mips.h
    branches/fixed-point/gcc/config/mips/mips.md
    branches/fixed-point/gcc/config/sh/crt1.asm
    branches/fixed-point/gcc/config/sh/divcost-analysis
    branches/fixed-point/gcc/config/sh/embed-elf.h
    branches/fixed-point/gcc/config/sh/sh-protos.h
    branches/fixed-point/gcc/config/sh/sh.c
    branches/fixed-point/gcc/config/sh/sh.h
    branches/fixed-point/gcc/config/sh/sh.md
    branches/fixed-point/gcc/config/sh/sh.opt
    branches/fixed-point/gcc/config/sh/sh1.md
    branches/fixed-point/gcc/config/sh/sh4.md
    branches/fixed-point/gcc/config/sh/sh4a.md
    branches/fixed-point/gcc/config/sh/superh.h
    branches/fixed-point/gcc/config/sh/t-sh
    branches/fixed-point/gcc/config/xtensa/lib1funcs.asm
    branches/fixed-point/gcc/config/xtensa/t-xtensa
    branches/fixed-point/gcc/config/xtensa/xtensa.c
    branches/fixed-point/gcc/config/xtensa/xtensa.h
    branches/fixed-point/gcc/config/xtensa/xtensa.md
    branches/fixed-point/gcc/configure
    branches/fixed-point/gcc/configure.ac
    branches/fixed-point/gcc/coretypes.h
    branches/fixed-point/gcc/cp/ChangeLog
    branches/fixed-point/gcc/cp/call.c
    branches/fixed-point/gcc/cp/class.c
    branches/fixed-point/gcc/cp/mangle.c
    branches/fixed-point/gcc/cp/typeck.c
    branches/fixed-point/gcc/cse.c
    branches/fixed-point/gcc/doc/invoke.texi
    branches/fixed-point/gcc/doc/passes.texi
    branches/fixed-point/gcc/doc/sourcebuild.texi
    branches/fixed-point/gcc/fold-const.c
    branches/fixed-point/gcc/fortran/ChangeLog
    branches/fixed-point/gcc/fortran/array.c
    branches/fixed-point/gcc/fortran/decl.c
    branches/fixed-point/gcc/fortran/error.c
    branches/fixed-point/gcc/fortran/expr.c
    branches/fixed-point/gcc/fortran/f95-lang.c
    branches/fixed-point/gcc/fortran/intrinsic.texi
    branches/fixed-point/gcc/fortran/io.c
    branches/fixed-point/gcc/fortran/resolve.c
    branches/fixed-point/gcc/fortran/trans-expr.c
    branches/fixed-point/gcc/fortran/trans-intrinsic.c
    branches/fixed-point/gcc/gcse.c
    branches/fixed-point/gcc/longlong.h
    branches/fixed-point/gcc/opts.c
    branches/fixed-point/gcc/passes.c
    branches/fixed-point/gcc/profile.c
    branches/fixed-point/gcc/recog.c
    branches/fixed-point/gcc/recog.h
    branches/fixed-point/gcc/rtlanal.c
    branches/fixed-point/gcc/testsuite/ChangeLog
    branches/fixed-point/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c
    branches/fixed-point/gcc/testsuite/gcc.test-framework/test-framework.awk
    branches/fixed-point/gcc/testsuite/gfortran.dg/initialization_2.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/io_constraints_2.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/specifics_3.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/zero_sized_1.f90
    branches/fixed-point/gcc/testsuite/lib/gcc-dg.exp
    branches/fixed-point/gcc/testsuite/lib/gfortran-dg.exp
    branches/fixed-point/gcc/timevar.def
    branches/fixed-point/gcc/tree-dump.c
    branches/fixed-point/gcc/tree-pass.h
    branches/fixed-point/gcc/tree-vrp.c
    branches/fixed-point/gcc/value-prof.c
    branches/fixed-point/libgfortran/ChangeLog
    branches/fixed-point/libgfortran/generated/reshape_c10.c
    branches/fixed-point/libgfortran/generated/reshape_c16.c
    branches/fixed-point/libgfortran/generated/reshape_c4.c
    branches/fixed-point/libgfortran/generated/reshape_c8.c
    branches/fixed-point/libgfortran/generated/reshape_i16.c
    branches/fixed-point/libgfortran/generated/reshape_i4.c
    branches/fixed-point/libgfortran/generated/reshape_i8.c
    branches/fixed-point/libgfortran/generated/reshape_r10.c
    branches/fixed-point/libgfortran/generated/reshape_r16.c
    branches/fixed-point/libgfortran/generated/reshape_r4.c
    branches/fixed-point/libgfortran/generated/reshape_r8.c
    branches/fixed-point/libgfortran/intrinsics/reshape_generic.c
    branches/fixed-point/libgfortran/io/transfer.c
    branches/fixed-point/libgfortran/m4/reshape.m4
    branches/fixed-point/libmudflap/ChangeLog
    branches/fixed-point/libmudflap/config.h.in
    branches/fixed-point/libmudflap/configure
    branches/fixed-point/libmudflap/configure.ac
    branches/fixed-point/libmudflap/mf-impl.h
    branches/fixed-point/libmudflap/mf-runtime.c
    branches/fixed-point/libstdc++-v3/ChangeLog
    branches/fixed-point/libstdc++-v3/docs/html/ext/howto.html
    branches/fixed-point/libstdc++-v3/docs/html/ext/lwg-active.html
    branches/fixed-point/libstdc++-v3/docs/html/ext/lwg-defects.html
    branches/fixed-point/libstdc++-v3/include/ext/concurrence.h
    branches/fixed-point/libstdc++-v3/include/ext/pb_ds/exception.hpp
    branches/fixed-point/libstdc++-v3/include/tr1/array

Propchange: branches/fixed-point/
            ('svnmerge-integrated' modified)


-- 


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2006-12-01  0:09 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-05  7:07 [Bug fortran/27895] New: problem with SPREAD and zero-sized arrays fxcoudert at gcc dot gnu dot org
2006-06-05  9:20 ` [Bug fortran/27895] " fxcoudert at gcc dot gnu dot org
2006-06-05  9:25 ` [Bug libfortran/27895] " fxcoudert at gcc dot gnu dot org
2006-06-05 13:46 ` fxcoudert at gcc dot gnu dot org
2006-06-05 14:24 ` fxcoudert at gcc dot gnu dot org
2006-06-05 16:23 ` fxcoudert at gcc dot gnu dot org
2006-06-05 22:44 ` fxcoudert at gcc dot gnu dot org
2006-06-19 12:34 ` fxcoudert at gcc dot gnu dot org
2006-06-20  6:07 ` fxcoudert at gcc dot gnu dot org
2006-06-24 23:08 ` fxcoudert at gcc dot gnu dot org
2006-07-26  8:35 ` fxcoudert at gcc dot gnu dot org
2006-10-19 21:49 ` fxcoudert at gcc dot gnu dot org
2006-10-19 21:59 ` [Bug libfortran/27895] problem with RESHAPE " fxcoudert at gcc dot gnu dot org
2006-11-03  7:34 ` fxcoudert at gcc dot gnu dot org
2006-11-03 11:51 ` fxcoudert at gcc dot gnu dot org
2006-11-03 12:24 ` [Bug libfortran/27895] [4.1/4.2 only] " fxcoudert at gcc dot gnu dot org
2006-11-12 21:36 ` mmitchel at gcc dot gnu dot org
2006-11-14  6:19 ` fxcoudert at gcc dot gnu dot org
2006-11-14  6:19 ` fxcoudert at gcc dot gnu dot org
2006-11-14  6:24 ` [Bug libfortran/27895] " fxcoudert at gcc dot gnu dot org
2006-12-01  0:09 ` chaoyingfu 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).