Thread View: gnu.g++.bug
1 messages
1 total messages
Started by zhao
Thu, 30 Nov 1989 22:28
g++-1.36.2- doesn't accept stream.h with certain flag combination.
Author: zhao
Date: Thu, 30 Nov 1989 22:28
Date: Thu, 30 Nov 1989 22:28
135 lines
6333 bytes
6333 bytes
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
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