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