Jeff -- last-minute patch for 2.95, or maybe 2.95.1?

craig@jcb-sc.com craig@jcb-sc.com
Thu Jul 8 07:13:00 GMT 1999


Jeff, after (finally) building 2.95 prerelease on my (loaned) UltraSPARC-1
and inspecting the output of the u77-test.f test run, I noticed that
the date string returned by the DATE intrinsic was wrong:

  DATE (dd-mmm-yy): 31-Dec-69

Turns out, this problem will likely show up on *any* big-endian system.

It is trivial to fix, and the fix is not only "obviously correct", it
is easy to reassure oneself that it would be extremely unlikely to cause
a problem elsewhere in gcc.  I've verified the fix works on the same
UltraSPARC-1, as well as that it doesn't change the correct results
obtained on my Pentium II.

The bug is not, however, a regression.

My concern with not fixing it is that I *hope* GCC 2.95 gets much wider
usage vis-a-vis g77 than any previous version of g77, due to the fact
that it's the first fully-integrated version of g77 released from the FSF.
(OTOH, everyone might wait for 3.0 due to the promise of the rewrite.)

So, it's an embarrassing bug to leave around.

My choice is to fix it for 2.95, unless there are *zero* other (code-related)
patches being allowed in at this point, in which case, unless you're willing
to make an exception for this patch, I'd want it put on the list for 2.95.1,
should there be a need for such a patch.

What do you think?  I won't apply it to the mainline until I can get the
various doc bits all updated per the 2.95 decision, unless otherwise
requested.

        tq vm, (burley)


Wed Jul  7 15:58:16 1999  Craig Burley  <craig@jcb-sc.com>

	* libU77/date_.c (G77_date_y2kbug_0): G77_time_0 returns
	longint, not integer, and G77_ctime_0 takes longint, not
	integer, argument.

	* libU77/Version.c: Bump version.

*** g77-e/libf2c/libU77/Version.c.~1~	Wed Jun  9 13:29:09 1999
--- g77-e/libf2c/libU77/Version.c	Thu Jul  8 08:34:34 1999
***************
*** 1,5 ****
  static char junk[] = "\n@(#) LIBU77 VERSION 19980709\n";
  
! char __G77_LIBU77_VERSION__[] = "0.5.25 19990507 (prerelease)";
  
  #include <stdio.h>
--- 1,5 ----
  static char junk[] = "\n@(#) LIBU77 VERSION 19980709\n";
  
! char __G77_LIBU77_VERSION__[] = "0.5.25 19990707 (prerelease)";
  
  #include <stdio.h>
*** g77-e/libf2c/libU77/date_.c.~1~	Fri Mar  5 18:40:11 1999
--- g77-e/libf2c/libU77/date_.c	Wed Jul  7 16:12:55 1999
*************** static integer c__5 = 5;
*** 14,18 ****
      /* System generated locals */
      address a__1[5];
!     integer i__1, i__2[5];
      char ch__1[24];
  
--- 14,19 ----
      /* System generated locals */
      address a__1[5];
!     longint i__1;
!     integer i__2[5];
      char ch__1[24];
  
*************** static integer c__5 = 5;
*** 22,26 ****
      /* Local variables */
      static char cbuf[24];
!     extern integer G77_time_0 ();
      extern /* Character */ VOID G77_ctime_0 ();
  
--- 23,27 ----
      /* Local variables */
      static char cbuf[24];
!     extern longint G77_time_0 ();
      extern /* Character */ VOID G77_ctime_0 ();
  


More information about the Gcc-patches mailing list