🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Michael Tiemann Thu, 30 Nov 1989 02:12
GNU C++ test 1.36.2 (getting better)
#643
Author: 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
Re: GNU C++ test 1.36.2 (getting better)
#647
Author: David Edwards
Date: Thu, 30 Nov 1989 22:02
16 lines
1063 bytes
Trouble compiling nihcl.  I have been trying to compile nihcl v2.204 which
reportedly compiles successfully using cfront 2.0.  I have found different
problems depending on the version of compiler used.

	1.36.0 - Module Date.c encounters multiple syntax errors
	1.36.1 - Assert error detected - cplus-decl TREE_CODE(type)!=METHOD_TYPE
	1.36.2- - Segementation violation in Collection.h - any module
	1.36.2-(w/Patch) - Same as 1.36.2-

nihcl is a cfront 2.0 version of oops(v2.2) with enhancements by the same
author.  It is available on ALW.NIH.GOV.

Any suggestions?  Would you like the core dump?

-dle
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads