public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch, libfortran] Fix PR 36302
@ 2008-05-22 17:14 Thomas Koenig
  2008-05-22 19:23 ` Tobias Burnus
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Koenig @ 2008-05-22 17:14 UTC (permalink / raw)
  To: fortran; +Cc: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 865 bytes --]

Hello world,

this fixes RP 36302, which I just stumbled across when reading through
some intrinsics source code.

This looks pretty obvious and compiles on i686-pc-linux-gnu, and the
tests are properly ignored.  Could somebody test it on a 64-bit-integer
capable system?

OK for trunk if that's been done?

	Thomas

2008-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libgfortran/36302
	* gfortran.map:  Add _gfortran_eoshift0_16,
	_gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
	_gfortran_eoshift2_16_char,_gfortran_cshift0_16,
	_gfortran_cshift0_16_char.
	* intrinsics/eoshift0.c:  Add function for kind=16 integer.
	* intrinsics/eoshift2.c:  Likewise.
	* intrinsics/cshift0.c:  Likewise.

2008-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libgfortran/36302
	* gfortran.dg/cshift_large_1.f90:  New test.
	* gfortran.dg/eoshift_large_1.f90:  New test.


[-- Attachment #2: cshift_large_1.f90 --]
[-- Type: text/x-fortran, Size: 2041 bytes --]

! { dg-do run }
! { dg-require-effective-target fortran_large_int }
! Program to test the cshift intrinsic for kind=16 integers
program intrinsic_cshift
   integer, parameter :: k=16
   integer(kind=k), dimension(3_k, 3_k) :: a
   integer(kind=k), dimension(3_k, 3_k, 2_k) :: b

   ! Scalar shift
   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = cshift (a, 1_k, 1_k)
   if (any (a .ne. reshape ((/2_k, 3_k, 1_k, 5_k, 6_k, 4_k, 8_k, 9_k, 7_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = cshift (a, -2_k, dim = 2_k)
   if (any (a .ne. reshape ((/4_k, 5_k, 6_k, 7_k, 8_k, 9_k, 1_k, 2_k, 3_k/), (/3_k, 3_k/)))) &
      call abort

   ! Array shift
   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = cshift (a, (/1_k, 0_k, -1_k/))
   if (any (a .ne. reshape ((/2_k, 3_k, 1_k, 4_k, 5_k, 6_k, 9_k, 7_k, 8_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = cshift (a, (/2_k, -2_k, 0_k/), dim = 2_k)
   if (any (a .ne. reshape ((/7_k, 5_k, 3_k, 1_k, 8_k, 6_k, 4_k, 2_k, 9_k/), (/3_k, 3_k/)))) &
      call abort

   ! Test arrays > rank 2
   b = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k, 11_k, 12_k, 13_k, 14_k, 15_k, 16_k, 17_k,&
         18_k, 19_k/), (/3_k, 3_k, 2_k/))
   b = cshift (b, 1_k)
   if (any (b .ne. reshape ((/2_k, 3_k, 1_k, 5_k, 6_k, 4_k, 8_k, 9_k, 7_k, 12_k, 13_k, 11_k, 15_k,&
     16_k, 14_k, 18_k, 19_k, 17_k/), (/3_k, 3_k, 2_k/)))) &
      call abort

   b = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k, 11_k, 12_k, 13_k, 14_k, 15_k, 16_k, 17_k,&
         18_k, 19_k/), (/3_k, 3_k, 2_k/))
   b = cshift (b, reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/)), 3_k)
   if (any (b .ne. reshape ((/11_k, 2_k, 13_k, 4_k, 15_k, 6_k, 17_k, 8_k, 19_k, 1_k, 12_k, 3_k,&
     14_k, 5_k, 16_k, 7_k, 18_k, 9_k/), (/3_k, 3_k, 2_k/)))) &
      call abort

end program

[-- Attachment #3: eoshift_large_1.f90 --]
[-- Type: text/x-fortran, Size: 4888 bytes --]

! { dg-do run }
! { dg-require-effective-target fortran_large_int }
! Program to test the eoshift intrinsic for kind=16_k integers
! 
program intrinsic_eoshift
  integer, parameter :: k=16
  integer(kind=k), dimension(3_k, 3_k) :: a
   integer(kind=k), dimension(3_k, 3_k, 2_k) :: b
   integer(kind=k), dimension(3_k) :: bo, sh

   ! Scalar shift and scalar bound.
   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, 1_k, 99_k, 1_k)
   if (any (a .ne. reshape ((/2_k, 3_k, 99_k, 5_k, 6_k, 99_k, 8_k, 9_k, 99_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, 9999_k, 99_k, 1_k)
   if (any (a .ne. 99_k)) call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, -2_k, dim = 2_k)
   if (any (a .ne. reshape ((/0_k, 0_k, 0_k, 0_k, 0_k, 0_k, 1_k, 2_k, 3_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, -9999_k, 99_k, 1_k)
   if (any (a .ne. 99_k)) call abort

   ! Array shift and scalar bound.
   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, (/1_k, 0_k, -1_k/), 99_k, 1_k)
   if (any (a .ne. reshape ((/2_k, 3_k, 99_k, 4_k, 5_k, 6_k, 99_k, 7_k, 8_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, (/9999_k, 0_k, -9999_k/), 99_k, 1_k)
   if (any (a .ne. reshape ((/99_k, 99_k, 99_k, 4_k, 5_k, 6_k, 99_k, 99_k, 99_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, (/2_k, -2_k, 0_k/), dim = 2_k)
   if (any (a .ne. reshape ((/7_k, 0_k, 3_k, 0_k, 0_k, 6_k, 0_k, 2_k, 9_k/), (/3_k, 3_k/)))) &
      call abort

   ! Scalar shift and array bound.
   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, 1_k, (/99_k, -1_k, 42_k/), 1_k)
   if (any (a .ne. reshape ((/2_k, 3_k, 99_k, 5_k, 6_k, -1_k, 8_k, 9_k, 42_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, 9999_k, (/99_k, -1_k, 42_k/), 1_k)
   if (any (a .ne. reshape ((/99_k, 99_k, 99_k, -1_k, -1_k, -1_k, 42_k, 42_k, 42_k/), &
	(/3_k, 3_k/)))) call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, -9999_k, (/99_k, -1_k, 42_k/), 1_k)
   if (any (a .ne. reshape ((/99_k, 99_k, 99_k, -1_k, -1_k, -1_k, 42_k, 42_k, 42_k/), &
	(/3_k, 3_k/)))) call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, -2_k, (/99_k, -1_k, 42_k/), 2_k)
   if (any (a .ne. reshape ((/99_k, -1_k, 42_k, 99_k, -1_k, 42_k, 1_k, 2_k, 3_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   bo = (/99_k, -1_k, 42_k/)
   a = eoshift (a, -2_k, bo, 2_k)
   if (any (a .ne. reshape ((/99_k, -1_k, 42_k, 99_k, -1_k, 42_k, 1_k, 2_k, 3_k/), (/3_k, 3_k/)))) &
      call abort

   ! Array shift and array bound.
   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, (/1_k, 0_k, -1_k/), (/99_k, -1_k, 42_k/), 1_k)
   if (any (a .ne. reshape ((/2_k, 3_k, 99_k, 4_k, 5_k, 6_k, 42_k, 7_k, 8_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, (/2_k, -2_k, 0_k/), (/99_k, -1_k, 42_k/), 2_k)
   if (any (a .ne. reshape ((/7_k, -1_k, 3_k, 99_k, -1_k, 6_k, 99_k, 2_k, 9_k/), (/3_k, 3_k/)))) &
      call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   sh = (/ 3_k, -1_k, -3_k /)
   bo = (/-999_k, -99_k, -9_k /)
   a = eoshift(a, shift=sh, boundary=bo)
   if (any (a .ne. reshape ((/ -999_k, -999_k, -999_k, -99_k, 4_k, 5_k, -9_k, -9_k, -9_k /), &
        shape(a)))) call abort

   a = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   a = eoshift (a, (/9999_k, -9999_k, 0_k/), (/99_k, -1_k, 42_k/), 2_k)
   if (any (a .ne. reshape ((/99_k, -1_k, 3_k, 99_k, -1_k, 6_k, 99_k, -1_k, 9_k/), (/3_k, 3_k/)))) &
      call abort

   ! Test arrays > rank 2
   b(:, :, 1_k) = reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   b(:, :, 2_k) = 10_k + reshape ((/1_k, 2_k, 3_k, 4_k, 5_k, 6_k, 7_k, 8_k, 9_k/), (/3_k, 3_k/))
   b = eoshift (b, 1_k, 99_k, 1_k)
   if (any (b(:, :, 1_k) .ne. reshape ((/2_k, 3_k, 99_k, 5_k, 6_k, 99_k, 8_k, 9_k, 99_k/), (/3_k, 3_k/)))) &
      call abort
   if (any (b(:, :, 2_k) .ne. reshape ((/12_k, 13_k, 99_k, 15_k, 16_k, 99_k, 18_k, 19_k, 99_k/), (/3_k, 3_k/)))) &
      call abort

   ! TODO: Test array sections
end program

[-- Attachment #4: kind16.diff --]
[-- Type: text/x-patch, Size: 1515 bytes --]

Index: intrinsics/cshift0.c
===================================================================
--- intrinsics/cshift0.c	(revision 135512)
+++ intrinsics/cshift0.c	(working copy)
@@ -340,3 +340,6 @@ DEFINE_CSHIFT (1);
 DEFINE_CSHIFT (2);
 DEFINE_CSHIFT (4);
 DEFINE_CSHIFT (8);
+#ifdef HAVE_GFC_INTEGER_16
+DEFINE_CSHIFT (16);
+#endif
Index: intrinsics/eoshift0.c
===================================================================
--- intrinsics/eoshift0.c	(revision 135512)
+++ intrinsics/eoshift0.c	(working copy)
@@ -251,3 +251,6 @@ DEFINE_EOSHIFT (1);
 DEFINE_EOSHIFT (2);
 DEFINE_EOSHIFT (4);
 DEFINE_EOSHIFT (8);
+#ifdef HAVE_GFC_INTEGER_16
+DEFINE_EOSHIFT (16);
+#endif
Index: intrinsics/eoshift2.c
===================================================================
--- intrinsics/eoshift2.c	(revision 135512)
+++ intrinsics/eoshift2.c	(working copy)
@@ -272,3 +272,6 @@ DEFINE_EOSHIFT (1);
 DEFINE_EOSHIFT (2);
 DEFINE_EOSHIFT (4);
 DEFINE_EOSHIFT (8);
+#ifdef HAVE_GFC_INTEGER_16
+DEFINE_EOSHIFT (16);
+#endif
Index: gfortran.map
===================================================================
--- gfortran.map	(revision 135512)
+++ gfortran.map	(working copy)
@@ -1060,6 +1060,12 @@ GFORTRAN_1.1 {
     _gfortran_pack_s_char4;
     _gfortran_unpack0_char4;
     _gfortran_unpack1_char4;
+    _gfortran_eoshift0_16;
+    _gfortran_eoshift0_16_char;
+    _gfortran_eoshift2_16;
+    _gfortran_eoshift2_16_char;
+    _gfortran_cshift0_16;
+    _gfortran_cshift0_16_char;
 } GFORTRAN_1.0; 
 
 F2C_1.0 {

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

* Re: [patch, libfortran] Fix PR 36302
  2008-05-22 17:14 [patch, libfortran] Fix PR 36302 Thomas Koenig
@ 2008-05-22 19:23 ` Tobias Burnus
  2008-05-22 21:31   ` Toon Moene
  2008-05-22 22:25   ` Thomas Koenig
  0 siblings, 2 replies; 7+ messages in thread
From: Tobias Burnus @ 2008-05-22 19:23 UTC (permalink / raw)
  To: Thomas Koenig; +Cc: fortran, gcc-patches

Thomas Koenig wrote:
> this fixes RP 36302, which I just stumbled across when reading through
> some intrinsics source code.
>
> This looks pretty obvious and compiles on i686-pc-linux-gnu, and the
> tests are properly ignored.  Could somebody test it on a 64-bit-integer
> capable system?
> OK for trunk if that's been done?
>   
Bootstapping and compiling the two test cases worked on x86-64/Linux.

OK for the trunk.

Tobias

PS: gfortran seems to be one of the very few compilers which supports 
INTEGER(16) - all my other compilers don't. I really wonder why.

> 2008-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
>
> 	PR libgfortran/36302
> 	* gfortran.map:  Add _gfortran_eoshift0_16,
> 	_gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
> 	_gfortran_eoshift2_16_char,_gfortran_cshift0_16,
> 	_gfortran_cshift0_16_char.
> 	* intrinsics/eoshift0.c:  Add function for kind=16 integer.
> 	* intrinsics/eoshift2.c:  Likewise.
> 	* intrinsics/cshift0.c:  Likewise.
>
> 2008-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
>
> 	PR libgfortran/36302
> 	* gfortran.dg/cshift_large_1.f90:  New test.
> 	* gfortran.dg/eoshift_large_1.f90:  New test

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

* Re: [patch, libfortran] Fix PR 36302
  2008-05-22 19:23 ` Tobias Burnus
@ 2008-05-22 21:31   ` Toon Moene
  2008-05-22 22:25   ` Thomas Koenig
  1 sibling, 0 replies; 7+ messages in thread
From: Toon Moene @ 2008-05-22 21:31 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: Thomas Koenig, fortran, gcc-patches

Tobias Burnus wrote:

> PS: gfortran seems to be one of the very few compilers which supports 
> INTEGER(16) - all my other compilers don't. I really wonder why.

You bet !  Try this one:

       integer*16 i, j, k, n
       integer*16 ipf(3,30)
       character*80 arg
       call getarg(1, arg)
       read(arg, '(i40)') n
       ipf = 0
       i = 1
       k = n
       j = 1
       do while (k .ge. i**2)
          if (mod(k,i) .eq. 0 .and. i .gt. 1) then
             ipf(1, j) = i
             ipf(2, j) = ipf(2, j) + 1
             k = k / i
          else
             i = i + 1
             if (ipf(2,j) .gt. 0) j = j + 1
          endif
       enddo
       if (ipf(2, j) .gt. 0 .and. ipf(1, j) .ne. k) j = j + 1
       ipf(1, j) = k
       ipf(2, j) = ipf(2, j) + 1
       print*,(ipf(2,i),' factoren',ipf(1,i),i=1,j)
       print*,'Aantal delers =',product(ipf(2,:) + 1)
       print*,1_16
       do while ( any(ipf(3,:) .ne. ipf(2,:)) )
          do i = 1, j
             if (ipf(3,i) .eq. ipf(2,i)) then
                ipf(3,i) = 0
             else
                ipf(3,i) = ipf(3,i) + 1
                exit
             endif
          enddo
          print*,product(ipf(1,:) ** ipf(3,:))
       enddo
       end

and feed it a 30 digit number ...

-- 
Toon Moene - e-mail: toon@moene.indiv.nluug.nl - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
At home: http://moene.indiv.nluug.nl/~toon/
Progress of GNU Fortran: http://gcc.gnu.org/ml/gcc/2008-01/msg00009.html

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

* Re: [patch, libfortran] Fix PR 36302
  2008-05-22 19:23 ` Tobias Burnus
  2008-05-22 21:31   ` Toon Moene
@ 2008-05-22 22:25   ` Thomas Koenig
  2008-05-23 15:46     ` H.J. Lu
  1 sibling, 1 reply; 7+ messages in thread
From: Thomas Koenig @ 2008-05-22 22:25 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: fortran, gcc-patches

On Thu, 2008-05-22 at 20:29 +0200, Tobias Burnus wrote:
> Thomas Koenig wrote:
> > this fixes RP 36302, which I just stumbled across when reading through
> > some intrinsics source code.
> >
> > This looks pretty obvious and compiles on i686-pc-linux-gnu, and the
> > tests are properly ignored.  Could somebody test it on a 64-bit-integer
> > capable system?
> > OK for trunk if that's been done?
> >   
> Bootstapping and compiling the two test cases worked on x86-64/Linux.
> 
> OK for the trunk.

Thanks for the review.  Committed as rev. 135777.

Following Janne's off-list advice, I also sorted the symbols
in gfortran.map for GFORTRAN_1.1 alphabetically.

	Thomas

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

* Re: [patch, libfortran] Fix PR 36302
  2008-05-22 22:25   ` Thomas Koenig
@ 2008-05-23 15:46     ` H.J. Lu
  2008-05-23 16:24       ` Tobias Burnus
  0 siblings, 1 reply; 7+ messages in thread
From: H.J. Lu @ 2008-05-23 15:46 UTC (permalink / raw)
  To: Thomas Koenig; +Cc: Tobias Burnus, fortran, gcc-patches

Hi

It doesn't work on Linux/x86-64:

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

It may be a 64bit target problem.

H.J.
On Thu, May 22, 2008 at 2:58 PM, Thomas Koenig <tkoenig@netcologne.de> wrote:
> On Thu, 2008-05-22 at 20:29 +0200, Tobias Burnus wrote:
>> Thomas Koenig wrote:
>> > this fixes RP 36302, which I just stumbled across when reading through
>> > some intrinsics source code.
>> >
>> > This looks pretty obvious and compiles on i686-pc-linux-gnu, and the
>> > tests are properly ignored.  Could somebody test it on a 64-bit-integer
>> > capable system?
>> > OK for trunk if that's been done?
>> >
>> Bootstapping and compiling the two test cases worked on x86-64/Linux.
>>
>> OK for the trunk.
>
> Thanks for the review.  Committed as rev. 135777.
>
> Following Janne's off-list advice, I also sorted the symbols
> in gfortran.map for GFORTRAN_1.1 alphabetically.
>
>        Thomas
>
>

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

* Re: [patch, libfortran] Fix PR 36302
  2008-05-23 15:46     ` H.J. Lu
@ 2008-05-23 16:24       ` Tobias Burnus
  2008-05-25 19:22         ` Thomas Koenig
  0 siblings, 1 reply; 7+ messages in thread
From: Tobias Burnus @ 2008-05-23 16:24 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Thomas Koenig, fortran, gcc-patches

H.J. Lu wrote:
> It doesn't work on Linux/x86-64:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36314
> It may be a 64bit target problem.
>   
The problem were two tabs which sneaked in (which gives no warning by 
default, but the testsuite is run with -pedantic). It only showed up on 
64bit systems as integer(16) is not supported on 32bit x86 systems.

Fixed in Revision 135817

Tobias

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

* Re: [patch, libfortran] Fix PR 36302
  2008-05-23 16:24       ` Tobias Burnus
@ 2008-05-25 19:22         ` Thomas Koenig
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Koenig @ 2008-05-25 19:22 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: H.J. Lu, fortran, gcc-patches

On Fri, 2008-05-23 at 17:11 +0200, Tobias Burnus wrote:

> Fixed in Revision 135817

Thanks for the fast fix.

I was travelling this (extended) week-end, so I couldn't attend to this
myself.

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

end of thread, other threads:[~2008-05-25 18:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-22 17:14 [patch, libfortran] Fix PR 36302 Thomas Koenig
2008-05-22 19:23 ` Tobias Burnus
2008-05-22 21:31   ` Toon Moene
2008-05-22 22:25   ` Thomas Koenig
2008-05-23 15:46     ` H.J. Lu
2008-05-23 16:24       ` Tobias Burnus
2008-05-25 19:22         ` Thomas Koenig

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).