Thread View: gnu.g++.bug
2 messages
2 total messages
Started by Michael Tiemann
Thu, 30 Nov 1989 02:12
GNU C++ test 1.36.2 (getting better)
Author: Michael Tiemann
Date: Thu, 30 Nov 1989 02:12
Date: Thu, 30 Nov 1989 02:12
150 lines
5324 bytes
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)
Author: David Edwards
Date: Thu, 30 Nov 1989 22:02
Date: Thu, 30 Nov 1989 22:02
16 lines
1063 bytes
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