language for current compilation unit being processed.
* dwarfread.c (set_cu_language): New local function to decode
and record language for current compilation unit being processed.
* dwarfread.c (synthesize_typedef): Add local function to
synthesize a typedef for C++ classes, structs, unions, and
enumerations.
* dwarfread.c (read_structure_scope): Synthesize typedefs
for C++ classes, structs and unions.
* dwarfread.c (read_enumeration): Synthesize typedefs for
C++ enumerations.
* dwarfread.c (read_file_scope): Call set_cu_language to
record language for current compilation unit. After symtab
is built, save this recorded language.
* dwarfread.c (process_dies, add_partial_symbol, struct_type,
scan_partial_symbols, new_symbol): Recognize TAG_class_type.
* dwarfread.c (add_partial_symbol): Synthesize partial symbol
typedefs for C++ classes, structs, unions, and enumerations.
* dwarfread.c (scan_compilation_units): Call set_cu_language
to record language for current compilation unit.
* dwarfread.c (scan_partial_symbols): Call add_enum_psymbol here
for TAG_enumeration_types, rather than in add_partial_symbol.
* dwarfread.c (add_partial_symbol): Combine TAG_enumeration_type
case with class, struct, and union type cases, now that they are
the same. Remove tests for non-NULL name attributes, now done
by callers.
* gdbtypes.h (TYPE_CODE_CLASS): Add type for C++ classes, but
treat as alias for TYPE_CODE_STRUCT for now.
(supply_gregset, fill_gregset, supply_fpregset, fill_fpregset):
Use "regi" for local indexing through register numbers, reserving
"regno" for the name of a specific register passed as an input
parameter. Fix bug propagated through all versions that sometimes
used regno as an index when it should have been regi, thus using
-1 as an index in some cases.
output styles: The default is similar to the old FSF gprof,
while -T sets the variable bsd_style_output, which causes
output matching Berkeley's gprof. The biggest differences
are that with the FSF style output, the flat profile comes
before the call graph; numbers come before explanations;
and there is less gratuitous white space.
* gprof.h, gprof.c, printfgprof.c: New discard_underscores
variable causes discarding of initial underscores when
printing symbol names. It is set unless there is a "main"
symbol (without an underscore).
* printfgprof.c: New function printnameonly(), called
by printname(). It handles stripping of initial '_',
as well as C++ name-demangling.
* gprof.callg, gprof.flat, make-c-prog.awk: Removed.
It is just as convenient to edit blurbs.c directly.
* Makefile.in: Removed rule for making blurbs.c.
* blurbs.c: This is now a true source file (as opposed
to being generated from gprof.callg and gprof.flat).
Change style to use one long string literal, instead of
one literal per output line. Add FSF-style blurb for call graph.
respectively, so same demangler can be used by other programs.
* Makefile.in: Remove demangler stuff.
* Makefile.in (depend): Pass -I../readline (needed for main.c).
* demangle.c (_initialize_demangler): Tell demangler which
CPLUS_MARKER to assume.
* archive.c (bfd_slurp_bsd_armap): if the symdef_count is too
large, assume we're using a swapped byte order and fail with
wrong_format rather than dumping core.
* obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
tc-i960.c (md_ri_to_chars): Always output bout object file in
little endian byte order (used to use endianness of host).
* targets.c, config/i960-bout.mt, hosts/*: added
HOST_BIG_ENDIAN_DEFAULT_VECTOR and
HOST_LITTLE_ENDIAN_DEFAULT_VECTOR because bout archive format
depends on the endianness of the host. Added #define
HOST_BIG_ENDIAN_P and #undef HOST_BIG_ENDIAN_P to a number of
configuration files in hosts/ (it was already in some).