public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
@ 2011-03-10 23:04 burnus at gcc dot gnu.org
  2011-03-10 23:09 ` [Bug fortran/48066] " burnus at gcc dot gnu.org
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-03-10 23:04 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of
                    zero-sized array
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org


Reported on IRC. The following program segfaults with gfortran 4.3 to 4.6 but
works with gfortran 4.1:

program p
  real(8) :: empty(0, 3), square(0)
  square = sum(empty * empty, 2)
  print *, "square=", square
end


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
@ 2011-03-10 23:09 ` burnus at gcc dot gnu.org
  2011-03-10 23:14 ` dominiq at lps dot ens.fr
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-03-10 23:09 UTC (permalink / raw)
  To: gcc-bugs

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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkoenig at gcc dot gnu.org

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-03-10 23:09:15 UTC ---
Valgrind:

==9860== Invalid write of size 8
==9860==    at 0x4EAB980: _gfortran_sum_r8 (sum_r8.c:147)
==9860==    by 0x400955: MAIN__ (test.f90:3)

>From libgfortran/generated/sum_r8.f90:

  dest = retarray->data;
[...]
        if (len <= 0)
          *dest = 0;

which fails if dest == NULL


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
  2011-03-10 23:09 ` [Bug fortran/48066] " burnus at gcc dot gnu.org
@ 2011-03-10 23:14 ` dominiq at lps dot ens.fr
  2011-03-10 23:19 ` burnus at gcc dot gnu.org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: dominiq at lps dot ens.fr @ 2011-03-10 23:14 UTC (permalink / raw)
  To: gcc-bugs

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

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.03.10 23:14:27
                 CC|                            |mikael at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-03-10 23:14:27 UTC ---
The "Bus error" seems fixed by the patch in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43829#c32.


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
  2011-03-10 23:09 ` [Bug fortran/48066] " burnus at gcc dot gnu.org
  2011-03-10 23:14 ` dominiq at lps dot ens.fr
@ 2011-03-10 23:19 ` burnus at gcc dot gnu.org
  2011-03-10 23:35 ` burnus at gcc dot gnu.org
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-03-10 23:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-03-10 23:19:30 UTC ---
(In reply to comment #2)
> The "Bus error" seems fixed by the patch in
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43829#c32.

Well, it does not fix it, it just hides the problem: The patch in PR 43829
moves SUM into the front end - thus, it makes the libgfortran code unreachable
for this test case.


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-03-10 23:19 ` burnus at gcc dot gnu.org
@ 2011-03-10 23:35 ` burnus at gcc dot gnu.org
  2011-03-10 23:36 ` burnus at gcc dot gnu.org
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-03-10 23:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-03-10 23:34:53 UTC ---
For completeness, the submitted asked at c.l.f whether the program is valid;
Richard Maine thinks so. (I concur ;-)

http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/457a5b283c702bbc


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-03-10 23:35 ` burnus at gcc dot gnu.org
@ 2011-03-10 23:36 ` burnus at gcc dot gnu.org
  2011-03-11 11:29 ` burnus at gcc dot gnu.org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-03-10 23:36 UTC (permalink / raw)
  To: gcc-bugs

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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
      Known to work|                            |4.1.2
   Target Milestone|---                         |4.4.6
      Known to fail|                            |4.3.4, 4.4.0, 4.5.1, 4.6.0


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-03-10 23:36 ` burnus at gcc dot gnu.org
@ 2011-03-11 11:29 ` burnus at gcc dot gnu.org
  2011-03-12  9:38 ` burnus at gcc dot gnu.org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-03-11 11:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-03-11 11:28:57 UTC ---
Draft patch:

--- a/libgfortran/m4/ifunction.m4
+++ b/libgfortran/m4/ifunction.m4
@@ -132,7 +132,10 @@ name`'rtype_qual`_'atype_code (rtype * const restrict
retarray,
 ')dnl
 define(START_ARRAY_BLOCK,
 `      if (len <= 0)
-         *dest = '$1`;
+         {
+           if (dest)
+             *dest = '$1`;
+         }
        else
          {
            for (n = 0; n < len; n++, src += delta)
@@ -313,7 +316,10 @@ void
 ')dnl
 define(START_MASKED_ARRAY_BLOCK,
 `      if (len <= 0)
-         *dest = '$1`;
+         {
+           if (dest)
+             *dest = '$1`;
+         }
        else
          {
            for (n = 0; n < len; n++, src += delta, msrc += mdelta)
--- a/libgfortran/m4/ifunction_logical.m4
+++ b/libgfortran/m4/ifunction_logical.m4
@@ -159,7 +159,10 @@ name`'rtype_qual`_'atype_code (rtype * const restrict
retarray,
 ')dnl
 define(START_ARRAY_BLOCK,
 `        if (len <= 0)
-         *dest = '$1`;
+         {
+           if (dest)
+             *dest = '$1`;
+         }
        else
          {
            for (n = 0; n < len; n++, src += delta)


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2011-03-11 11:29 ` burnus at gcc dot gnu.org
@ 2011-03-12  9:38 ` burnus at gcc dot gnu.org
  2011-03-12 10:11 ` tkoenig at gcc dot gnu.org
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-03-12  9:38 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-03-12 09:38:18 UTC ---
Of course, the patch does not work as "dest" is not NULL ...

I wonder whether a patch like the following would be correct. One probably
needs to go through all the users of ifunction{,_logical}.m4 and check what is
the correct solution, which might or might not be the one below:

@@ -143,9 +143,7 @@ sum_r4 (gfc_array_r4 * const restrict retarray,
       {

   result = 0;
-       if (len <= 0)
-         *dest = 0;
-       else
+       if (len > 0)
          {
            for (n = 0; n < len; n++, src += delta)
              {


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2011-03-12  9:38 ` burnus at gcc dot gnu.org
@ 2011-03-12 10:11 ` tkoenig at gcc dot gnu.org
  2011-03-12 10:16 ` tkoenig at gcc dot gnu.org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-03-12 10:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-03-12 10:10:46 UTC ---
(In reply to comment #6)
> Of course, the patch does not work as "dest" is not NULL ...
> 
> I wonder whether a patch like the following would be correct.

Probably, although it might be easier just to do

Index: m4/ifunction_logical.m4
===================================================================
--- m4/ifunction_logical.m4     (Revision 170320)
+++ m4/ifunction_logical.m4     (Arbeitskopie)
@@ -49,8 +49,8 @@
   src_kind = GFC_DESCRIPTOR_SIZE (array);

   len = GFC_DESCRIPTOR_EXTENT(array,dim);
-  if (len < 0)
-    len = 0;
+  if (len <= 0)
+    return;

   delta = GFC_DESCRIPTOR_STRIDE_BYTES(array,dim);

Index: m4/ifunction.m4
===================================================================
--- m4/ifunction.m4     (Revision 170320)
+++ m4/ifunction.m4     (Arbeitskopie)
@@ -46,8 +46,9 @@
   rank = GFC_DESCRIPTOR_RANK (array) - 1;

   len = GFC_DESCRIPTOR_EXTENT(array,dim);
-  if (len < 0)
-    len = 0;
+  if (len <= 0)
+    return;
+
   delta = GFC_DESCRIPTOR_STRIDE(array,dim);

   for (n = 0; n < dim; n++)


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2011-03-12 10:11 ` tkoenig at gcc dot gnu.org
@ 2011-03-12 10:16 ` tkoenig at gcc dot gnu.org
  2011-03-12 17:22 ` tkoenig at gcc dot gnu.org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-03-12 10:16 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-03-12 10:15:59 UTC ---
(In reply to comment #7)

> --- m4/ifunction_logical.m4     (Revision 170320)
> +++ m4/ifunction_logical.m4     (Arbeitskopie)
> @@ -49,8 +49,8 @@
>    src_kind = GFC_DESCRIPTOR_SIZE (array);
> 
>    len = GFC_DESCRIPTOR_EXTENT(array,dim);
> -  if (len < 0)
> -    len = 0;
> +  if (len <= 0)
> +    return;

... probably would not work for printing empty arrays.


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2011-03-12 10:16 ` tkoenig at gcc dot gnu.org
@ 2011-03-12 17:22 ` tkoenig at gcc dot gnu.org
  2011-03-12 21:46 ` tkoenig at gcc dot gnu.org
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-03-12 17:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-03-12 17:22:50 UTC ---
This one looks better:

Index: m4/ifunction_logical.m4                      
===================================================================
--- m4/ifunction_logical.m4     (Revision 170897)                  
+++ m4/ifunction_logical.m4     (Arbeitskopie)                     
@@ -149,7 +149,7 @@                                                

   dest = retarray->data;                                          

-  continue_loop = 1;                                              
+  continue_loop = len > 0;                                        
   while (continue_loop)                                           
     {                                                             
       const GFC_LOGICAL_1 * restrict src;                         
@@ -158,17 +158,12 @@                                              
       {                                                           
 ')dnl                                                             
 define(START_ARRAY_BLOCK,                                         
-`        if (len <= 0)                                            
-         *dest = '$1`;                                            
-       else                                                       
+`      for (n = 0; n < len; n++, src += delta)                    
          {                                                        
-           for (n = 0; n < len; n++, src += delta)                
-             {                                                    
 ')dnl                                                             
 define(FINISH_ARRAY_FUNCTION,                                     
-    `          }                                                  
-           *dest = result;                                        
-         }                                                        
+`        }                                                        
+       *dest = result;                                            
       }                                                           
       /* Advance to the next element.  */                         
       count[0]++;                                                 
Index: m4/ifunction.m4
===================================================================
--- m4/ifunction.m4     (Revision 170897)
+++ m4/ifunction.m4     (Arbeitskopie)
@@ -122,7 +122,7 @@
   base = array->data;
   dest = retarray->data;

-  continue_loop = 1;
+  continue_loop = len > 0;
   while (continue_loop)
     {
       const atype_name * restrict src;
@@ -131,18 +131,13 @@
       {
 ')dnl
 define(START_ARRAY_BLOCK,
-`      if (len <= 0)
-         *dest = '$1`;
-       else
+`      for (n = 0; n < len; n++, src += delta)
          {
-           for (n = 0; n < len; n++, src += delta)
-             {
 ')dnl
 define(FINISH_ARRAY_FUNCTION,
-`            }
-           '$1`
-           *dest = result;
-         }
+`        }
+       '$1`
+       *dest = result;
       }
       /* Advance to the next element.  */
       count[0]++;

Let's see if it survives regression-testing.


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

* [Bug fortran/48066] [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2011-03-12 17:22 ` tkoenig at gcc dot gnu.org
@ 2011-03-12 21:46 ` tkoenig at gcc dot gnu.org
  2011-03-12 22:50 ` [Bug fortran/48066] [4.3/4.4/4.5 " tkoenig at gcc dot gnu.org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-03-12 21:46 UTC (permalink / raw)
  To: gcc-bugs

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

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |tkoenig at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #10 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-03-12 21:42:39 UTC ---
Mine.


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

* [Bug fortran/48066] [4.3/4.4/4.5 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2011-03-12 21:46 ` tkoenig at gcc dot gnu.org
@ 2011-03-12 22:50 ` tkoenig at gcc dot gnu.org
  2011-03-12 23:18 ` tkoenig at gcc dot gnu.org
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-03-12 22:50 UTC (permalink / raw)
  To: gcc-bugs

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

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.3/4.4/4.5/4.6            |[4.3/4.4/4.5 Regression]
                   |Regression] Segfault with   |Segfault with SUM of
                   |SUM of zero-sized array     |zero-sized array
      Known to fail|4.6.0                       |

--- Comment #11 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-03-12 22:50:29 UTC ---
Fixed on 4.6, backport to 4.5 yet to come.


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

* [Bug fortran/48066] [4.3/4.4/4.5 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2011-03-12 22:50 ` [Bug fortran/48066] [4.3/4.4/4.5 " tkoenig at gcc dot gnu.org
@ 2011-03-12 23:18 ` tkoenig at gcc dot gnu.org
  2011-03-13 20:58 ` tkoenig at gcc dot gnu.org
  2011-03-13 20:59 ` tkoenig at gcc dot gnu.org
  14 siblings, 0 replies; 16+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-03-12 23:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-03-12 23:18:11 UTC ---
Author: tkoenig
Date: Sat Mar 12 23:18:09 2011
New Revision: 170913

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170913
Log:
2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR libfortran/48066
    * gfortran.dg/intrinsic_ifunction_2.f90:  Correct PR number.


Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/intrinsic_ifunction_2.f90


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

* [Bug fortran/48066] [4.3/4.4/4.5 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2011-03-12 23:18 ` tkoenig at gcc dot gnu.org
@ 2011-03-13 20:58 ` tkoenig at gcc dot gnu.org
  2011-03-13 20:59 ` tkoenig at gcc dot gnu.org
  14 siblings, 0 replies; 16+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-03-13 20:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-03-13 20:57:53 UTC ---
Author: tkoenig
Date: Sun Mar 13 20:57:49 2011
New Revision: 170924

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170924
Log:
2011-03-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR libfortran/48066
    Backport from trunk
    * m4/ifunction.m4:  If return array is empty, return.
    * m4/ifunction_logical.m4:  Likewise.
    * generated/all_l16.c: Regenerated.
    * generated/all_l1.c: Regenerated.
    * generated/all_l2.c: Regenerated.
    * generated/all_l4.c: Regenerated.
    * generated/all_l8.c: Regenerated.
    * generated/any_l16.c: Regenerated.
    * generated/any_l1.c: Regenerated.
    * generated/any_l2.c: Regenerated.
    * generated/any_l4.c: Regenerated.
    * generated/any_l8.c: Regenerated.
    * generated/count_16_l.c: Regenerated.
    * generated/count_1_l.c: Regenerated.
    * generated/count_2_l.c: Regenerated.
    * generated/count_4_l.c: Regenerated.
    * generated/count_8_l.c: Regenerated.
    * generated/maxloc1_16_i16.c: Regenerated.
    * generated/maxloc1_16_i1.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_i16.c: Regenerated.
    * generated/maxloc1_4_i1.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_i16.c: Regenerated.
    * generated/maxloc1_8_i1.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_i16.c: Regenerated.
    * generated/maxval_i1.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/minloc1_16_i16.c: Regenerated.
    * generated/minloc1_16_i1.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_i16.c: Regenerated.
    * generated/minloc1_4_i1.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_i16.c: Regenerated.
    * generated/minloc1_8_i1.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_i16.c: Regenerated.
    * generated/minval_i1.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_i16.c: Regenerated.
    * generated/product_i1.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_i16.c: Regenerated.
    * generated/sum_i1.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.

2011-03-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR libfortran/48066
    Backport from trunk
    * gfortran.dg/intrinsic_ifunction_2.f90:  Correct PR number.



Added:
    branches/gcc-4_5-branch/gcc/testsuite/gfortran.dg/intrinsic_ifunction_2.f90
Modified:
    branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_5-branch/libgfortran/ChangeLog
    branches/gcc-4_5-branch/libgfortran/generated/all_l1.c
    branches/gcc-4_5-branch/libgfortran/generated/all_l16.c
    branches/gcc-4_5-branch/libgfortran/generated/all_l2.c
    branches/gcc-4_5-branch/libgfortran/generated/all_l4.c
    branches/gcc-4_5-branch/libgfortran/generated/all_l8.c
    branches/gcc-4_5-branch/libgfortran/generated/any_l1.c
    branches/gcc-4_5-branch/libgfortran/generated/any_l16.c
    branches/gcc-4_5-branch/libgfortran/generated/any_l2.c
    branches/gcc-4_5-branch/libgfortran/generated/any_l4.c
    branches/gcc-4_5-branch/libgfortran/generated/any_l8.c
    branches/gcc-4_5-branch/libgfortran/generated/count_16_l.c
    branches/gcc-4_5-branch/libgfortran/generated/count_1_l.c
    branches/gcc-4_5-branch/libgfortran/generated/count_2_l.c
    branches/gcc-4_5-branch/libgfortran/generated/count_4_l.c
    branches/gcc-4_5-branch/libgfortran/generated/count_8_l.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_16_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_4_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/maxloc1_8_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/maxval_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_16_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_4_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/minloc1_8_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/minval_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/product_c10.c
    branches/gcc-4_5-branch/libgfortran/generated/product_c16.c
    branches/gcc-4_5-branch/libgfortran/generated/product_c4.c
    branches/gcc-4_5-branch/libgfortran/generated/product_c8.c
    branches/gcc-4_5-branch/libgfortran/generated/product_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/product_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/product_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/product_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/product_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/product_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/product_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/product_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/product_r8.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_c10.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_c16.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_c4.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_c8.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_i1.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_i16.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_i2.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_i4.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_i8.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_r10.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_r16.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_r4.c
    branches/gcc-4_5-branch/libgfortran/generated/sum_r8.c
    branches/gcc-4_5-branch/libgfortran/m4/ifunction.m4
    branches/gcc-4_5-branch/libgfortran/m4/ifunction_logical.m4


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

* [Bug fortran/48066] [4.3/4.4/4.5 Regression] Segfault with SUM of zero-sized array
  2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2011-03-13 20:58 ` tkoenig at gcc dot gnu.org
@ 2011-03-13 20:59 ` tkoenig at gcc dot gnu.org
  14 siblings, 0 replies; 16+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-03-13 20:59 UTC (permalink / raw)
  To: gcc-bugs

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

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #14 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-03-13 20:58:46 UTC ---
Backported to 4.5.

Closing.


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

end of thread, other threads:[~2011-03-13 20:59 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-10 23:04 [Bug fortran/48066] New: [4.3/4.4/4.5/4.6 Regression] Segfault with SUM of zero-sized array burnus at gcc dot gnu.org
2011-03-10 23:09 ` [Bug fortran/48066] " burnus at gcc dot gnu.org
2011-03-10 23:14 ` dominiq at lps dot ens.fr
2011-03-10 23:19 ` burnus at gcc dot gnu.org
2011-03-10 23:35 ` burnus at gcc dot gnu.org
2011-03-10 23:36 ` burnus at gcc dot gnu.org
2011-03-11 11:29 ` burnus at gcc dot gnu.org
2011-03-12  9:38 ` burnus at gcc dot gnu.org
2011-03-12 10:11 ` tkoenig at gcc dot gnu.org
2011-03-12 10:16 ` tkoenig at gcc dot gnu.org
2011-03-12 17:22 ` tkoenig at gcc dot gnu.org
2011-03-12 21:46 ` tkoenig at gcc dot gnu.org
2011-03-12 22:50 ` [Bug fortran/48066] [4.3/4.4/4.5 " tkoenig at gcc dot gnu.org
2011-03-12 23:18 ` tkoenig at gcc dot gnu.org
2011-03-13 20:58 ` tkoenig at gcc dot gnu.org
2011-03-13 20:59 ` tkoenig at gcc dot gnu.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).