🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.bug
Article #643

GNU C++ test 1.36.2 (getting better)

#643
From: Michael Tiemann
Date: Thu, 30 Nov 1989 02:12
150 lines
5324 bytes
I have a cleaned version of GNU C++ 1.36.2- on
	interviews.stanford.edu:~ftp/pub/g++.ytar.Z

It compiles the InterViews 2.6 snapshot, a hacked ET++, and libg++.
With the following patch, it also compiles other codes.  I am still
plugging away at problems, but I consider this version the "latest and
greatest" so far.  Here's the patch.  Remember that if you use this
compiler on a Sun4, you still need the Sparc patch I sent out with the
first announcement.  It is included here for reference.

Michael

arkesden% diff -c2 cplus-class.c~ cplus-class.c
*** cplus-class.c~	Tue Nov 28 17:48:45 1989
--- cplus-class.c	Wed Nov 29 17:46:08 1989
***************
*** 4402,4406 ****
      found_and_maybe_warn:
        if (cp->harshness[0] & 128)
! 	error ("non-const member function called from const member function");
        goto found_and_ok;
      }
--- 4402,4414 ----
      found_and_maybe_warn:
        if (cp->harshness[0] & 128)
! 	{
! 	  if (flags & LOOKUP_COMPLAIN)
! 	    {
! 	      error_with_decl (cp->function, "non-const member function `%s'");
! 	      error ("called from const member function at this point in file");
! 	    }
! 	  /* Not good enough for a match.  */
! 	  else return error_mark_node;
! 	}
        goto found_and_ok;
      }
arkesden% diff -c2 config/sparc.md~ config/sparc.md
*** config/sparc.md~	Fri Sep  1 17:46:40 1989
--- config/sparc.md	Sat Nov 18 09:04:10 1989
***************
*** 1011,1015 ****
      return \"sll %1,0x10,%0\;srl %0,0x10,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     abort ();
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
--- 1011,1020 ----
      return \"sll %1,0x10,%0\;srl %0,0x10,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     {
!       operands[1] = gen_rtx (CONST_INT, VOIDmode,
! 			     INTVAL (operands[1]) & 0xffff);
!       output_asm_insn (\"set %1,%0\", operands);
!       return \"\";
!     }
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
***************
*** 1032,1036 ****
      return \"and %1,0xff,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     abort ();
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
--- 1037,1046 ----
      return \"and %1,0xff,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     {
!       operands[1] = gen_rtx (CONST_INT, VOIDmode,
! 			     INTVAL (operands[1]) & 0xff);
!       output_asm_insn (\"set %1,%0\", operands);
!       return \"\";
!     }
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
***************
*** 1053,1057 ****
      return \"and %1,0xff,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     abort ();
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
--- 1063,1072 ----
      return \"and %1,0xff,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     {
!       operands[1] = gen_rtx (CONST_INT, VOIDmode,
! 			     INTVAL (operands[1]) & 0xff);
!       output_asm_insn (\"set %1,%0\", operands);
!       return \"\";
!     }
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
***************
*** 1078,1082 ****
      return \"sll %1,0x10,%0\;sra %0,0x10,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     abort ();
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
--- 1093,1102 ----
      return \"sll %1,0x10,%0\;sra %0,0x10,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     {
!       int i = (short)INTVAL (operands[1]);
!       operands[1] = gen_rtx (CONST_INT, VOIDmode, i);
!       output_asm_insn (\"set %1,%0\", operands);
!       return \"\";
!     }
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
***************
*** 1099,1103 ****
      return \"sll %1,0x18,%0\;sra %0,0x18,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     abort ();
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
--- 1119,1128 ----
      return \"sll %1,0x18,%0\;sra %0,0x18,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     {
!       int i = (char)INTVAL (operands[1]);
!       operands[1] = gen_rtx (CONST_INT, VOIDmode, i);
!       output_asm_insn (\"set %1,%0\", operands);
!       return \"\";
!     }
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
***************
*** 1120,1124 ****
      return \"sll %1,0x18,%0\;sra %0,0x18,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     abort ();
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
--- 1145,1154 ----
      return \"sll %1,0x18,%0\;sra %0,0x18,%0\";
    if (GET_CODE (operands[1]) == CONST_INT)
!     {
!       int i = (char)INTVAL (operands[1]);
!       operands[1] = gen_rtx (CONST_INT, VOIDmode, i);
!       output_asm_insn (\"set %1,%0\", operands);
!       return \"\";
!     }
    if (CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
      {
arkesden% 

Michael
Technical Details
Message-ID: <8911300212.AA01948@arkesden.sun.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!arkesden.eng.sun.com!tiemann

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!arkesden.eng.sun.com!tiemann
From: tiemann@arkesden.eng.sun.com (Michael Tiemann)
Newsgroups: gnu.g++.bug
Subject: GNU C++ test 1.36.2 (getting better)
Message-ID: <8911300212.AA01948@arkesden.sun.com>
Date: 30 Nov 89 02:12:04 GMT
Sender: daemon@tut.cis.ohio-state.edu
Reply-To: tiemann@sun.com
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 150