Commit Graph

102 Commits

Author SHA1 Message Date
Kaveh R. Ghazi
69ee340e99 libiberty.h (concat, [...]): Improve comments.
* libiberty.h (concat, concat_length, concat_copy, concat_copy2,
	ACONCAT): Improve comments.

From-SVN: r45683
2001-09-18 20:07:31 +00:00
Alan Modra
b9bc4bf6de * objalloc.h (OBJALLOC_ALIGN): Define using offsetof.
From-SVN: r45677
2001-09-18 23:09:40 +09:30
Kaveh R. Ghazi
c793eea7ab libiberty.h (concat_length, [...]): New.
include:
	* libiberty.h (concat_length, concat_copy, concat_copy2,
	libiberty_concat_ptr, ACONCAT): New.

libiberty:
	* concat.c (vconcat_length, vconcat_copy, concat_length,
	concat_copy, concat_copy2): New functions.
	(concat): Use vconcat_length/vconcat_copy.

gcc:
	* gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.

From-SVN: r45664
2001-09-17 22:15:10 +00:00
Kaveh R. Ghazi
c1d49704bc libiberty.h (ASTRDUP): New macro.
include:
	* libiberty.h (ASTRDUP): New macro.
	libiberty_optr, libiberty_nptr, libiberty_len): Declare.

libiberty:
	* alloca.c (libiberty_optr, libiberty_nptr, libiberty_len):
	Define.

gcc:
	* c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
	alloca/strcpy.

From-SVN: r45657
2001-09-17 18:48:45 +00:00
Kaveh R. Ghazi
c864312278 * ansidecl.h: Update comments reflecting previous change.
From-SVN: r45275
2001-08-29 19:44:39 +00:00
Kaveh R. Ghazi
e2dff3f2f6 ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
include:
	* ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.

libiberty:
	* concat.c (concat): Use VPARAMS, VA_OPEN, VA_FIXEDARG & VA_CLOSE.

From-SVN: r45204
2001-08-27 19:10:39 +00:00
Lars Brinkhoff
88c1082bf8 dyn-string.h, [...]: replace "GNU CC" with "GCC".
* dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h:
	replace "GNU CC" with "GCC".

From-SVN: r45130
2001-08-23 12:07:58 +00:00
Richard Henderson
d7a0e799d3 fibheap.h: Tidy formatting.
* fibheap.h: Tidy formatting.
        (fibnode_t): Limit degree to 31 bits to avoid warning.

From-SVN: r45088
2001-08-21 18:53:38 -07:00
Andrew Cagney
0310e5ac70 floatformat.h (floatformat_arm_ext): Document as deprecated.
* floatformat.h (floatformat_arm_ext): Document as deprecated.
(floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword)
(floatformat_ia64_spill_little, floatformat_ia64_quad_little)
(floatformat_ia64_spill_big, floatformat_ia64_quad_big)
(floatformat_m88110_harris_ext): Declare.

From-SVN: r45065
2001-08-21 00:09:09 +00:00
Daniel Berlin
8c23e0a440 fibheap.h: New file.
include/
2001-08-20  Daniel Berlin  <dan@cgsoftware.com>

	* fibheap.h: New file. Fibonacci heap.

libiberty/
2001-08-20  Daniel Berlin  <dan@cgsoftware.com>

	* fibheap.c: New file. Fibonacci heap.

	* Makefile.in (CFILES): Add fibheap.c.
	(REQUIRED_OFILES): Add fibheap.o.
	(fibheap.o): Add dependencies for fibheap.o.

From-SVN: r45062
2001-08-20 20:06:07 +00:00
Zack Weinberg
b649398a84 ansidecl.h: Reorganize for readability...
include:
        * ansidecl.h: Reorganize for readability, remove documentation
        of obsolete macros, document PARAMS and VPARAMS.  Add new
        macros VA_OPEN, VA_CLOSE, and VA_FIXEDARG for nicer variadic
        function implementation.

gcc:
        * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.

From-SVN: r45011
2001-08-18 20:46:45 +00:00
Richard Henderson
457f49df10 * hashtab.h (htab_hash_string): Declare.
From-SVN: r44949
2001-08-16 18:54:01 -07:00
Andrew Cagney
b0e9bc8cc3 Oops, fix check-in date.
From-SVN: r44816
2001-08-12 02:06:34 +00:00
Andrew Cagney
0ef5547d0e (lbasename): Change function declaration to return a const char pointer.
From-SVN: r44782
2001-08-10 23:45:11 +00:00
Mark Kettenis
ead4cf347a xregex.h (_REGEX_RE_COMP): Define.
* xregex.h (_REGEX_RE_COMP): Define.
(re_comp): Define to xre_comp.
(re_exec): Define to xre_exec.

From-SVN: r44585
2001-08-02 19:23:47 -04:00
DJ Delorie
27ffc806c4 merge from glibc
From-SVN: r44138
2001-07-18 19:40:00 -04:00
Jeff Johnston
3eb90047bc xregex.h: New file to support libiberty regex.
* xregex.h: New file to support libiberty regex.
* xregex2.h: Ditto.

From-SVN: r43913
2001-07-10 20:10:28 -04:00
Matt Kraai
c25d4f6a6b * partition.h: Fix misspelling of `implementation'.
From-SVN: r42171
2001-05-16 21:00:55 +00:00
Kaveh R. Ghazi
f59328a83d * ansidecl.h (NULL_PTR): Delete.
From-SVN: r41946
2001-05-10 19:11:58 +00:00
Zack Weinberg
641b2721c4 cp-demangle.c (demangle_v3_with_details, [...]): Use K+R style function definition.
* cp-demangle.c (demangle_v3_with_details,
	is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor): Use K+R style
	function definition.
	* ternary.c: Use K+R style function definitions.  Use PTR, not
	void *.  Make arguments constant where possible.
	* demangle.h: Use PARAMS for all prototypes.
	* ternary.h: Use PARAMS for all prototypes.  Use PTR, not void *.
	Make arguments constant where possible.

From-SVN: r41910
2001-05-08 06:13:58 +00:00
Mark Mitchell
5cdba4ff5f splay-tree.h (splay_tree_max): New function.
* splay-tree.h (splay_tree_max): New function.
	(splay_tree_min): Likewise.

From-SVN: r41895
2001-05-07 15:45:24 +00:00
Daniel Berlin
9dab060e9d ternary.h: New file - Ternary search tree header.
2001-04-15  Daniel Berlin  <dan@cgsoftware.com>

	* ternary.h: New file - Ternary search tree header.

2001-04-15  Daniel Berlin  <dan@cgsoftware.com>

	* ternary.c: New file - Ternary search tree implementation.

	* Makefile.in: Add ternary.o, and ternary.c dependencies.

From-SVN: r41380
2001-04-16 15:30:17 +00:00
Zack Weinberg
d02af17340 ansidecl.h: All logic from gcc/gansidecl.h moved here.
include:
	* ansidecl.h: All logic from gcc/gansidecl.h moved here.
gcc:
	* gansidecl.h: Delete file.
	* configure.in: Change all refs to gansidecl.h to use
	ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
	lives.
	* configure: Regenerate.

	* Makefile.in (intl.o): Don't depend on gansidecl.h.
	* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
	* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
	Don't include gansidecl.h.
	* intl.c, main.c, version.c, fixinc/fixlib.h,
	fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
	gansidecl.h.
gcc/java:
	* Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
	on gansidecl.h.
	* buffer.c, jvgenmain.c: Don't include gansidecl.h.
libiberty:
	* make-temp-file.c (try): Inline.

From-SVN: r41069
2001-04-04 00:46:27 +00:00
Kaveh R. Ghazi
cc56c744ee * libiberty.h (alloca): Handle setting C_ALLOCA.
From-SVN: r40978
2001-03-31 18:59:56 +00:00
Jim Blandy
2d32013ffe demangle.h (enum gnu_v3_constructor_kinds, [...]): New declarations.
* demangle.h (enum gnu_v3_constructor_kinds,
is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds,
is_gnu_v3_mangled_dtor): New declarations.

From-SVN: r40709
2001-03-21 14:37:53 -05:00
DJ Delorie
4cf6b384ac Fix pathname.
From-SVN: r40473
2001-03-14 16:34:39 -05:00
Nick Clifton
01f537aba0 Fix copyright dates
From-SVN: r40469
2001-03-14 19:44:38 +00:00
Neil Booth
2b757d5101 lbasename.c: New file.
* libiberty/lbasename.c: New file.
	* libiberty/Makefile.in: Update for lbasename.
	* include/libiberty.h: Add lbasename.

Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>

From-SVN: r40363
2001-03-10 10:41:25 +00:00
Zack Weinberg
1f50aafb85 oops, edited changelogs in wrong tree
this is the log for the big alloca configuration patch

From-SVN: r40260
2001-03-06 10:01:28 +00:00
Zack Weinberg
b548dffbda aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
libiberty:
	* aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
	* configure.in: Replace all alloca logic with a simple use of
	the above new macro.
	* config.table: Kill *-*-beos* entry.
	* config/mh-beos: Delete.
	* configure, config.in: Regenerate.

	* Makefile.in (ALLOCA, HFILES): Kill.
	(REQUIRED_OFILES): Add alloca.o.
	(alloca.o): Depend on libiberty.h.
	(argv.o): Don't depend on alloca-conf.h.
	* alloca-conf.h: Delete.
	* alloca.c: Include libiberty.h.  Kill all #ifdef emacs
	blocks.  Provide the C alloca unconditionally.  Use PTR where
	appropriate.  Make i00afunc static.
	* argv.c: Don't include alloca-conf.h.

include:
	* libiberty.h: Prototype C_alloca; define alloca to either
	__builtin_alloca or C_alloca as appropriate.

gcc:
	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
	AC_FUNC_ALLOCA.
	* configure, config.in: Regenerate.
	* config.gcc: Remove references to deleted files.

	* genattr.c, genattrtab.c, genextract.c, genoutput.c,
	genrecog.c, rtl.c: Do not use alloca anywhere.

	* Makefile.in, build-make, system.h, config/x-interix,
	config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
	config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
	config/arc/xm-arc.h, config/arm/xm-arm.h,
	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
	config/h8300/xm-h8300.h, config/i370/x-oe,
	config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
	config/i386/x-ncr3000, config/i386/x-sco5,
	config/i386/xm-dgux.h, config/i860/x-sysv4,
	config/i960/xm-i960.h, config/m32r/xm-m32r.h,
	config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
	config/m68k/x-hp320g, config/m69k/x-mot3300,
	config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
	config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
	config/m68k/xm-mot3300.h, config/m88k/x-dolph,
	config/m88k/x-sysv4, config/m88k/x-tekXD88,
	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
	config/mips/x-iris, config/mips/x-iris3,
	config/mips/x-sni-svr4, config/mips/x-sysv,
	config/mips/xm-iris6.h, config/mips/xm-mips.h,
	config/mips/xm-nws3250v4.h, config/pa/x-hpux,
	config/pa/x-pa-mpeix, config/pa/xm-pa.h,
	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
	config/pa/xm-papro.h, config/romp/xm-romp.h,
	config/rs6000/x-aix31, config/rs6000/x-aix41,
	config/rs6000/x-beos, config/rs6000/x-lynx,
	config/rs6000/x-mach, config/rs6000/x-rs6000,
	config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
	config/sparc/x-sysv4, config/sparc/xm-linux.h,
	config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
	config/vax/xm-vms.h: Eradicate all references to alloca and
	related stuff.

	* config/xm-alloca.h, config/clipper/x-clix,
	config/i386/xm-sysv4.h, config/i860/x-fx2800,
	config/i860/x-sysv3, config/m88k/x-sysv3,
	config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
	(contained only alloca related hacks).

	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
	USE_C_ALLOCA.

From-SVN: r40259
2001-03-06 09:52:35 +00:00
John David Anglin
9bb9ef2834 safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc compatibility.
* safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc
	compatibility.

From-SVN: r40175
2001-03-02 01:17:23 +00:00
Bryce McKinlay
3b60dd8e10 Add support for Java demangling under the v3 ABI:
* cp-demangle.c (NAMESPACE_SEPARATOR): New define.
	(struct demangling_def): Add `style' field.
	(demangling_new): New parameter `style'. Set it in demangling_t.
	(demangle_prefix): Use NAMESPACE_SEPARATOR.
	(demangle_type_ptr): Don't emit pointer symbol if doing Java output.
	(cp_demangle): New parameter `style'. Pass it to demangling_new().
	(main): Call cp_demangle with extra parameter.
	(java_demangle_v3): New function.
	(java_builtin_type_names): New. Table of primitive type names used
	for Java demangling.
	(demangle_builtin_type): Look up in java_builtin_type_names if doing
	Java output.
	* cplus-dem.c (cplus_demangle): Use java_demangle_v3 to do Java
	demangling.
	(long_options): Remove obsolete `java' option.
	(main): Remove explicit handling of `java' option. Instead, pass style
	parameter in cplus_demangle flags as gdb does.
	* testsuite/demangle.expected: Add some Java test cases.

From-SVN: r39399
2001-02-02 00:27:39 +00:00
Joseph Myers
2cb5082c1e COPYING: Update to current ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes...
* COPYING: Update to current
	ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
	to 19yy as example year in copyright notice).

gcc:
	* COPYING: Update to current
	ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
	to 19yy as example year in copyright notice).

gcc/f:
	* g77.texi: Update GPL copy not to refer to years 19@var{yy}.

include:
	* COPYING: Update to current
	ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
	to 19yy as example year in copyright notice).

From-SVN: r38366
2000-12-18 21:47:20 +00:00
Herman A.J. ten Brugge
d092a92533 safe-ctype.h: Make code work on all targets and not just on targets where a char is 8 bits.
* safe-ctype.h: Make code work on all targets and not just on
        targets where a char is 8 bits.

From-SVN: r38312
2000-12-16 11:12:06 -08:00
Zack Weinberg
f6bbde28c4 safe-ctype.h: New file.
include:
	* safe-ctype.h: New file.
libiberty:
	* safe-ctype.c: New file.
	* Makefile.in (CFILES): Add safe-ctype.c.
	(REQUIRED_OFILES): Add safe-ctype.o.

	* argv.c: Define ISBLANK and use it, not isspace.
	* basename.c, cplus-dem.c, fnmatch.c, pexecute.c, strtod.c,
	strtol.c, strtoul.c: Include safe-ctype.h, not ctype.h.  Use
	uppercase ctype macros.  Don't test ISUPPER(c)/ISLOWER(c)
	before calling TOLOWER(c)/TOUPPER(c).
gcc:
	* Makefile.in (HOST_RTL): Add safe-ctype.o.
	(safe-ctype.o): New rule.
	* system.h: Include safe-ctype.h, not ctype.h.  No need to
	wrap ctype macros.

	* cpphash.h: Zap IStable and related macros.  Define is_* in
	terms of safe-ctype.h macros.
	* cppinit.c: Delete the IStable and all related code.

	* tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
	is_space arrays.  Delete initialize_char_syntax.  Change all
	references to the above arrays to use macros instead.
	* tradcpp.h: Define is_idchar, is_idstart, is_space, and
	is_nvspace in terms of safe_ctype.h's macros.
	* tradcif.y: is_idchar, is_idstart are macros not arrays.

	* config/i370/i370.c, config/winnt/dirent.c,
	config/winnt/fixinc-nt.c, config/winnt/ld.c:
	Use uppercase ctype macros.  If we included ctype.h,
	include safe-ctype.h instead.

	* fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
	ISLOWER(c) before calling TOUPPER(c).
	* fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
	* fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
	wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
gcc/ch:
	* lex.c: Don't bother checking whether ISUPPER(c) before
	calling TOLOWER(c).  Don't bother checking whether isascii(c)
	before testing ISSPACE(c); ISSPACE(c) includes '\n'.
gcc/f:
	* Make-lang.in: Link f/fini with safe-ctype.o.
	* bad.c: Don't test ISUPPER(c) || ISLOWER(c) before calling TOUPPER(c).
	* com.c: Use TOUPPER, not ffesrc_toupper.
	* fini.c: Don't test ISALPHA(c) before calling TOUPPER(c)/TOLOWER(c).
	* intrin.c: Don't test IN_CTYPE_DOMAIN(c).
	* src.c: Delete ffesrc_toupper_ and ffesrc_tolower_ and their
	initializing code; use TOUPPER and TOLOWER instead of
	ffesrc_toupper and ffesrc_tolower.
	* src.h: Don't declare ffesrc_toupper_ or ffesrc_tolower_.
	Don't define ffesrc_toupper or ffesrc_tolower.
gcc/java:
	* jvgenmain.c: Use ISPRINT not isascii.

From-SVN: r38124
2000-12-08 03:00:26 +00:00
Rodney Brown
0b749da1b8 * getopt.h obstack.h: Standarize copyright statement.
From-SVN: r38086
2000-12-06 18:54:13 -07:00
Jason Merrill
85c64f78c6 also tweak comment
From-SVN: r38034
2000-12-05 08:28:46 -05:00
Richard Henderson
675ad22cfc * demangle.h: Change "new_abi" to "v3" everywhere.
From-SVN: r38020
2000-12-04 15:46:57 -08:00
Zack Weinberg
d1209685fa Makefile.in, [...]: Expunge remaining traces of facility for running MD files through C preprocessor.
gcc:
        * Makefile.in, config.gcc, configure.in: Expunge remaining
        traces of facility for running MD files through C preprocessor.

libiberty:
        * aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.
        (AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
        * configure.in: Call AC_C_INLINE and AC_C_CONST.  Use three
        argument form of AC_DEFINE in dummy definitions block.  Use
        AC_DEFINE_NOAUTOHEADER for real definitions of things defined
        in dummy block.  Preload cache variables instead of bypassing
        tests, where possible.
        * acconfig.h: Removed.

        * xmalloc.c (xmalloc_failed): New function, does error
        reporting on failed allocation.
        (xmalloc, xcalloc, xrealloc): Use it.
        * libiberty.h: Move #includes to top.  Prototype xmalloc_failed.

From-SVN: r37650
2000-11-22 08:32:26 +00:00
Hans-Peter Nilsson
ba7aa3c1c3 Correct date and style of last entry
From-SVN: r37476
2000-11-15 11:57:23 +00:00
Kenneth Block
7ecdd10b6d * demangle.h: Add gnat and java demangle styles.
From-SVN: r37474
2000-11-15 11:52:30 +00:00
Hans-Peter Nilsson
5dd0f480ae hashtab.h (struct htab): Add member return_allocation_failure.
* hashtab.h (struct htab): Add member return_allocation_failure.
	(htab_try_create): New prototype.  Mention which functions may
	return NULL when this is used.

From-SVN: r37246
2000-11-04 07:35:33 +00:00
Hans-Peter Nilsson
5aa2300021 * hashtab.h: Change void * to PTR where necessary.
From-SVN: r37230
2000-11-03 20:23:00 +00:00
Mark Mitchell
2c9f4db73a splay-tree.h (splay_tree_predecessor): Declare.
* splay-tree.h (splay_tree_predecessor): Declare.

	* splay-tree.c (splay_tree_predecessor): New function.
	(splay_tree_successor): Likewise.

From-SVN: r36304
2000-09-10 21:28:21 +00:00
John David Anglin
84802b1397 John David Anglin <dave@hiauly1.hia.nrc.ca>
* md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX.

From-SVN: r36181
2000-09-05 23:10:12 -07:00
Alex Samuel
31e0ab1f76 In include:
* dyn-string.h: Adjust formatting.
        (dyn_string_insert_char): New macro.  New declaration.

In libiberty:

        * cp-demangle.c (ANONYMOUS_NAMESPACE_PREFIX): New macro.
        (substitution_def): Remove template_parm_number.
        (NOT_TEMPLATE_PARM): Remove.
        (result_insert_string): New macro.
        (result_insert): Likewise.
        (result_insert_char): Likewise.
        (substitution_add): Remove last parameter.  Don't store template
        parm number.
        (BFT_NO_RETURN_TYPE): Define as NULL.
        (demangle_encoding): Adjust call to demangle_bare_function_type.
        (demangle_name): Adjust substitution.  Adjust call to
        substitution_add.
        (demangle_prefix): Adjust call to substitution_add.
        (demangle_identifier): Handle anonymous namespaces.
        (demangle_operator_name): Change demangling of vendor-extended
        operator to match ABI changes.
        (demangle_type_ptr): Change parameters.  Make recursive.  Handle
        substitutions here.
        (demangle_type): Adjust calls to demangle_template_param,
        substitution_add, and demangle_type_ptr.  Fix substitution of
        templated types.
        (demangle_function_type): Change parameter to a pointer.
        (demangle_bare_function_type): Likewise.  Adjust insertion point.
        (demangle_template_param): Remove last parameter.
        (demangle_expr_primary): Remove unused variable.  Adjust call to
        demangle_template_param.
        (is_mangled_char): Accept `$' and `.'.
        * cplus-dem.c (gnu_new_abi_symbol_characters): Add '$' and '.'.
        * dyn-string.c (dyn_string_insert_char): New function.

From-SVN: r36148
2000-09-05 01:01:12 +00:00
Jason Merrill
881c6935bf [multiple changes]
2000-08-28  Daniel Berlin  <dberlin@redhat.com>

        * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
        (print_die): If we don't know the offset of the
        target die, try the symbol.  Add a trailing newline.
        (reverse_all_dies): New fn.
        (dwarf2out_finish): Call it.
        (break_out_includes): Reorganize for clarity.
        (add_sibling_attributes): Don't call reverse_die_lists.
        (output_comp_unit): Rename from output_comdat_comp_unit.  Use for
        primary CU, too.
        * flags.h: Add flag_eliminate_dwarf2_dups.
        * toplev.c (f_options): Support -feliminate-dwarf2-dups.

2000-08-28  Jason Merrill  <jason@redhat.com>

        * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
        * dwarf2out.c: #include "md5.h".
        (DIE_LABEL_PREFIX): New macro.
        (dw_val_struct): Add 'external' flag to val_die_ref.
        (add_AT_die_ref, AT_ref): Adjust.
        (AT_ref_external, set_AT_ref_external): New fns.
        (build_abbrev_table): Call set_AT_ref_external.
        (value_format): Call AT_ref_external.
        (die_struct): Add die_symbol field.
        (new_die): Clear it.
        (dwarf_tag_name): Handle BINCL/EINCL.
        (dwarf2out_start_source_file): Add BINCL DIE.
        (dwarf2out_end_source_file): Add EINCL DIE.
        (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
        (loc_checksum, attr_checksum, die_checksum): New fns.
        (is_type_die, is_comdat_die, is_symbol_die): New fns.
        (compute_section_prefix, assign_symbol_names): New fns.
        (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
        (output_die): Call output_die_symbol and AT_ref_external.
        (output_comdat_comp_unit): New fn, split out from...
        (dwarf2out_finish): ...here.  Also call add_sibling_attributes for
        secondary CUs.
        (output_pubnames, output_aranges): Abort if we see entries from
        secondary CUs.
        * toplev.h: Declare file_name_nondirectory.
        * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
        (rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
        (debug_start_source_file): Call dwarf2out_start_source_file
        regardless of debug verbosity.
        (debug_end_source_file): Similarly.
        * tree.h: Declare clean_symbol_name.
        * tree.c (clean_symbol_name): Split out from...
        (get_file_function_name_long): ...here.

        * dwarf2out.c (new_loc_descr): Use calloc.
        (splice_child_die): Remove the die from the right parent.
        (gen_struct_or_union_die): Don't add AT_name to a specification DIE.

gcc/cp:
2000-08-28  Jason Merrill  <jason@redhat.com>

        * lex.c (file_name_nondirectory): Move to toplev.c.

libiberty:
2000-08-28  Jason Merrill  <jason@redhat.com>

        * Makefile.in (REQUIRED_OFILES): Add md5.o.
        (CFILES): Add md5.c.
        * md5.c: New file.

include:
2000-08-28  Jason Merrill  <jason@redhat.com>

        * md5.h: New file.

gcc/cp:
2000-08-28  Jason Merrill  <jason@redhat.com>

        * cp-tree.h (LOCAL_CLASS_P): New macro.
        * class.c (finish_struct_1): Use it.

From-SVN: r36022
2000-08-28 20:29:29 -04:00
Greg McGary
672a59e0ad * libiberty.h (ARRAY_SIZE): New macro.
From-SVN: r35947
2000-08-24 20:28:15 +00:00
Jason Merrill
cd3165f5c3 tweak
From-SVN: r35230
2000-07-24 13:36:49 -04:00
Alex Samuel
051664b069 in include/ChangeLog:
* dyn-string.h (dyn_string_init, dyn_string_new,
	dyn_string_delete, dyn_string_release, dyn_string_resize,
	dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
	dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
	dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
	dyn_string_append_char, dyn_string_substring_dyn_string_eq):
	Define as same name with __cxa_ prepended, if IN_LIBGCC2.
	(dyn_string_init, dyn_string_copy, dyn_string_copy_cstr,
	dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
	dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
	dyn_string_append_char, dyn_string_substring): Change return type
	to int.

in libiberty/ChangeLog:

	* cp-demangle.c: Don't include ctype.h.
	(IS_DIGIT): New macro.
	(IS_ALPHA): Likewise.  Use IS_DIGIT and IS_ALPHA throughout
	instead of isdigit and isalpanum.
	(demangling_def): Make name and next const pointers.
	(STATUS_ALLOCATION_FAILED): New status code.
	(dyn_string_append_space): Handle failure in
	dyn_string_append_char.
	(int_to_dyn_string): Likewise.  Change return value to status_t.
	(string_list_new): Handle failure of dyn_string_init.
	(result_close_template_list): Change return type to status_t.
	Handle failure in dyn_string_append.
	(result_push): Change return value to status_t.  Handle failure in
	string_list_new.  Handle failure of result_push throughout.
	(substitution_add): Change return value to status_t.  Handle
	dyn_string failures.  Handle failure of substitution_add
	throughout.
	(template_arg_list_new): Return NULL on allocation failure.
	(result_append_string): Return STATUS_ALLOCATION_FAILED on error.
	Handle error result throughout.
	(result_append): Likewise.
	(result_append_char): Likewise.
	(result_append_space): Likewise.
	(demangling_new): Make argument a const pointer.  Handle
	allocation failures.
	(demangle_template_args): Handle failure in template_arg_list_new
	and result_close_template_list.
	(demangle_discriminator): Return if int_to_dyn_string fails.
	(cp_demangle): Likewise.
	(cp_demangle_type): New function.
	(cplus_demangle_new_abi): Don't call dyn_string_delete.  Abort on
	memory allocation failure.
	(main): Likewise.
	* dyn-string.c (RETURN_ON_ALLOCATION_FAILURE): Define if
	IN_LIBGCC2.
	(dyn_string_init): Change return value to int.  Handle
	RETURN_ON_ALLOCATION_FAILURE case.
	(dyn_string_new): Handle RETURN_ON_ALLOCATION_FAILURE case.
	(dyn_string_release): Delete the dyn_string.
	(dyn_string_resize): Handle RETURN_ON_ALLOCATION_FAILURE case.
	(dyn_string_copy): Change return type to int.
	(dyn_string_copy_cstr): Likewise.
	(dyn_string_prepend): Likewise.
	(dyn_string_prepend_cstr): Likewise.
	(dyn_string_insert): Likewise.
	(dyn_string_insert_cstr): Likewise.
	(dyn_string_append): Likewise.
	(dyn_string_append_cstr): Likewise.
	(dyn_string_append_char): Likewise.
	(dyn_string_substring): Likewise.

in gcc/cp/ChangeLog:

	* Make-lang.in (CXX_LIB2FUNCS): Add cp-demangle.o and dyn-string.o.
	(CXX_LIB2SRCS): Add cp-demangle.c and dyn-string.c.
	(cp-demangle.o): New rule.
	(dyn-string.o): Likewise.
	* inc/cxxabi.h (__cxa_demangle): New declaration.

From-SVN: r34657
2000-06-23 03:58:44 +00:00