[gnu.g++.bug] g++-1.36.2- doesn't accept stream.h with certain flag combination.

zhao@wiener.usc.edu (12/01/89)

Script started on Thu Nov 30 14:10:51 1989
[1]: cat test.cc
#include <stream.h>

main (void) {
	cout << "Hello, the world\n";
	exit (0);
}
[2]: g++ -g -O -c -v test.cc
g++ version 1.36.2- (based on GCC 1.36)
 /home/wiener/gnu/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dsun3 -Dunix -D__mc68000__ -D__sun__ -D__sun3__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 test.cc /usr/tmp/cca11713.cpp
GNU CPP version 1.36
 /home/wiener/gnu/lib/gcc-cc1plus /usr/tmp/cca11713.cpp -quiet -dumpbase test.cc -g -O -version -o /usr/tmp/cca11713.s
GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36.
default target switches: -m68020 -mc68020 -m68881 -mbitfield
 /home/wiener/gnu/lib/gcc-as -mc68020 -o test.o /usr/tmp/cca11713.s
[3]: g++ -E test.cc > test.cpp
[4]: gdb /home/wiener/gnu/lib/gcc-cc1plus
GDB 3.3, Copyright (C) 1989 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "info copying" to see the conditions.
Reading symbol data from /home/wiener/gnu/lib/gcc-cc1plus...done.
Type "help" for a list of commands.
(gdb) run test.cpp -quiet -dumpbase test.cc -O -version -o test.o
Starting program: /home/wiener/gnu/lib/gcc-cc1plus test.cpp -quiet -dumpbase test.cc -O -version -o test.o
GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36.
default target switches: -m68020 -mc68020 -m68881 -mbitfield

Program received signal 11, Segmentation fault
Reading in symbols for cplus-search.c...done.
0x46f8a in get_wrapper (type=(tree) 0x13c6a0) (cplus-search.c line 3000)
cplus-search.c: No such file or directory.
(gdb) where
#0  0x46f8a in get_wrapper (type=(tree) 0x13c6a0) (cplus-search.c line 3000)
#1  0x34000 in build_method_call (...) (...)
#2  0x1e690 in build_x_function_call (...) (...)
#3  0xb442 in yyparse (...) (...)
#4  0x49042 in compile_file (...) (...)
#5  0x4a6a2 in main (...) (...)
(gdb) dir /home/wiener/gnu/make/g++
Source directories searched: /home/wiener/gnu/test:/home/wiener/gnu/make/g++
(gdb) frame 0
#0  0x46f8a in get_wrapper (type=(tree) 0x13c6a0) (cplus-search.c line 3000)
3000				 + strlen (WRAPPER_NAME_FORMAT));
(gdb) l
2995	  char *name;
2996	  if (! IS_AGGR_TYPE (type))
2997	    abort ();
2998	  wrap_type = TYPE_WRAP_TYPE (type);
2999	  name = (char *)alloca (TYPE_NAME_LENGTH (wrap_type)
3000				 + strlen (WRAPPER_NAME_FORMAT));
3001	  sprintf (name, WRAPPER_NAME_FORMAT, TYPE_NAME_STRING (wrap_type));
3002	  return lookup_fnfields (CLASSTYPE_AS_LIST (wrap_type),
3003				  get_identifier (name), 0);
3004	}
(gdb) frame 1
Reading in symbols for cplus-class.c...done.
#1  0x34000 in build_method_call (instance=(tree) 0x146410, name=(tree) 0x13d046, parms=(tree) 0x0, basetype_path=(tree) 0x0, flags=3) (cplus-class.c line 4564)
4564		  wrapped_result = get_wrapper (basetype);
(gdb) l
4559		  /* If this pointer walked as a result of multiple inheritance,
4560		     keep its displaced value.  */
4561		  parms = tree_cons (NULL_TREE, build_int_2 (bytecount, 0),
4562				     tree_cons (NULL_TREE, parm, TREE_CHAIN (parms)));
4563	
4564		  wrapped_result = get_wrapper (basetype);
4565		  assert (wrapped_result != NULL_TREE);
4566		  assert (wrapped_result != error_mark_node);
4567	
4568		  /* @@ Should BASETYPE_PATH get TREE_PURPOSE (wrapped_result) here?  */
(gdb) frame 2
Reading in symbols for cplus-typeck.c...done.
#2  0x1e690 in build_x_function_call (function=(tree) 0x13d0e6, params=(tree) 0x0, decl=(tree) 0x146410) (cplus-typeck.c line 1534)
1534	      return build_method_call (decl, function, params, NULL_TREE, LOOKUP_NORMAL);
(gdb) l
1529	    }
1530	  else if (TREE_CODE (function) == COMPONENT_REF
1531		   && type == unknown_type_node)
1532	    {
1533	      function = TREE_PURPOSE (TREE_OPERAND (function, 1));
1534	      return build_method_call (decl, function, params, NULL_TREE, LOOKUP_NORMAL);
1535	    }
1536	  else if (TREE_CODE (function) == TREE_LIST)
1537	    {
1538	      if (TREE_CHAIN (function) != NULL_TREE)
(gdb) frame 3
Reading in symbols for cplus-tab.c...done.
#3  0xb442 in yyparse () (./cplus-parse.y line 1042)
1042			{ $$ = build_x_function_call ($1, NULL_TREE, current_class_decl); }
(gdb) l
1037			  TREE_TYPE ($$) = TREE_TYPE (rtl_exp);
1038			  STMT_BODY ($$) = rtl_exp; }
1039		| primary '(' exprlist ')'
1040			{ $$ = build_x_function_call ($1, $3, current_class_decl); }
1041		| primary LEFT_RIGHT
1042			{ $$ = build_x_function_call ($1, NULL_TREE, current_class_decl); }
1043		| primary '[' expr ']'
1044			{
1045			do_array:
1046			  {
(gdb) frame 4
Reading in symbols for toplev.c...done.
#4  0x49042 in compile_file (name=(char *) 0xefffb4e "test.cpp") (toplev.c line 1205)
1205	      if (yyparse () != 0)
(gdb) l
1200	  /* Call the parser, which parses the entire file
1201	     (calling rest_of_compilation for each function).  */
1202	
1203	  if (setjmp (toplevel) == 0)
1204	    {
1205	      if (yyparse () != 0)
1206		if (errorcount == 0)
1207		  fprintf (stderr, "Errors detected in input file (your bison.simple is out of date)");
1208	
1209	      /* Compilation is now finished except for writing
(gdb) frame 5
#5  0x4a6a2 in main (argc=9, argv=(char **) 0xefffaa0, envp=(char **) 0xefffac8) (toplev.c line 2151)
2151	  compile_file (filename);
(gdb) l
2146	#endif
2147	
2148	  /* Now that register usage is specified, convert it to HARD_REG_SETs.  */
2149	  init_reg_sets_1 ();
2150	
2151	  compile_file (filename);
2152	
2153	#ifndef USG
2154	#ifndef VMS
2155	  if (print_mem_flag)
(gdb) quit
The program is running.  Quit anyway? (y or n) y
[5]: exit
[6]: 
script done on Thu Nov 30 14:14:22 1989