Commit Graph

27225 Commits

Author SHA1 Message Date
Nathan Sidwell
6dfc58ed26 rtti.c (dfs_class_hint_mark): New static function.
* rtti.c (dfs_class_hint_mark): New static function.
	(dfs_class_hint_unmark): New static function.
	(class_hint_flags): Use them.

From-SVN: r32966
2000-04-06 09:42:03 +00:00
Zack Weinberg
ff2b53efb1 cpphash.c (CPP_IS_MACRO_BUFFER, [...]): Delete.
* cpphash.c (CPP_IS_MACRO_BUFFER, FORWARD, PEEKC): Delete.
	(macro_cleanup): No need to cast pbuf->macro.
	(collect_expansion): Use _cpp_get_define_token.  Goto done if
	it returns VSPACE.  Remove check for trailing space after
	CPP_COMMENT.
	(_cpp_create_definition): Don't diddle flags here.  Return
	directly on error.
	(unsafe_chars): Handle c1 being EOF.
	(push_macro_expansion): Use unsafe_chars for both accidental-paste
	checks.  Don't push the buffer till after we're done with
	them.
	* cpplex.c (PEEKBUF, GETBUF, FORWARDBUF): New.
	(PEEKN, FORWARD, GETC, PEEKC): Use them.
	(cpp_push_buffer): Don't set new->alimit.  Set new->mark
	appropriately.
	(_cpp_parse_assertion): Don't NUL terminate.
	(_cpp_lex_token): Fix -traditional macro handling.  Don't skip
	hspace before calling _cpp_parse_assertion.  Remove all sets
	of only_seen_white. Treat '\f' as hspace.  Don't do anything
	special with '\n' here.
	(maybe_macroexpand): Handle T_EMPTY hash entries without
	pushing a buffer at all.
	(cpp_get_token): Handle clearing only_seen_white here.  Handle
	incrementing the line number here.  Clear
	potential_control_macro as well as only_seen_white, if
	appropriate.
	(cpp_get_non_space_token): Don't eat CPP_POP tokens.
	(_cpp_get_define_token): New function, basically like
	_cpp_get_directive_token was but doesn't eat horizontal space.
	Don't do anything with only_seen_white here.
	(_cpp_get_directive_token): Just call _cpp_get_define_token
	repeatedly till it returns non-hspace.

	* cpplib.c (PEEKN, FORWARD, GETC, PEEKC): Delete.
	(conditional_skip, skip_if_group): Return int.
	(DIRECTIVE_TABLE): Change origin of all conditional directives
	to "COND".
	(TRAD_DIRECT_P): New macro.
	(_cpp_handle_directive): Use _cpp_get_directive_token.  Issue
	an error for a bogus directive, unless -lang-asm.  Use
	TRAD_DIRECT_P. Loop calling handler functions till one returns
	zero.
	(get_macro_name): Don't diddle flags here.
	(do_define): Diddle flags here.  Use _cpp_get_directive_token.
	Create T_EMPTY nodes for #define macro /* nothing */.
	(do_undef): Don't copy the name.  Use _cpp_get_directive_token.
	Use hp->name when calling pass_thru_directive.
	(do_if, do_else, do_elif, do_ifdef, do_ifndef, conditional_skip):
	Return the result of conditional_skip and/or skip_if_group.
	Don't call _cpp_output_line_command.
	(consider_directive_while_skipping): Use _cpp_get_directive_token.
	Issue -Wtraditional warnings as appropriate.  Don't complain
	about unrecognized directives.  If we are to stop skipping,
	return the number of the directive that ended the skip.
	(skip_if_group): Use _cpp_get_directive_token.  Turn off macro
	expansion and line commands while skipping.  Return the result
	of consider_directive_while_skipping, if nonzero.
	(do_endif): Just set potential_control_macro here.
	(validate_else): Use _cpp_get_directive_token.
	(do_assert, do_unassert): Don't save pointers into the
	token_buffer across calls to the lexer.  Use
	_cpp_get_directive_token.

	* cpplib.h (cpp_buffer): Remove alimit and colno.  Make mark a
	pointer, not an offset.  Replace 'data', which was a generic
	pointer, with 'macro', which points to a struct hashnode.
	(cpp_reader): Add 'potential_control_macro' pointer.
	* cpphash.h (T_UNUSED): Replace with T_EMPTY.
	(CPP_BUF_GET, CPP_FORWARD): Delete.
	(CPP_IN_COLUMN_1, ADJACENT_TO_MARK): New macros.
	(CPP_IS_MACRO_BUFFER, CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK,
	ACTIVE_MARK_P): Update.
	(_cpp_get_define_token): New internal function.
	* cppfiles.c (read_include_file): Don't set fp->alimit or fp->colno.

From-SVN: r32965
2000-04-06 07:56:14 +00:00
Jeff Law
edea368266 Daily bump.
From-SVN: r32964
2000-04-06 01:45:16 -06:00
Benjamin Kosnik
1709031301 configure.in (enable_libstdcxx_v3): Add.
2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>
            Martin v. Loewis  <martin@loewis.home.cs.tu-berlin.de>

        * configure.in (enable_libstdcxx_v3): Add.
        (target_libs): Add bits here to switch between libstdc++-v2 and
        libstdc++-v3.
        * config.if: And this file too.
        * Makefile.in: Add libstdc++-v3 targets.

Co-Authored-By: Martin v. Loewis <martin@loewis.home.cs.tu-berlin.de>

From-SVN: r32963
2000-04-06 06:48:16 +00:00
Benjamin Kosnik
7822500a66 configure.in: And here.
2000-04-05   Benjamin Kosnik  <bkoz@cygnus.com>

        * configure.in: And here.
        * configure: Regenerate.
        * acconfig.h: Add ENABLE_STD_NAMESPACE to set flag_honor_std if
        --enable-libstdcxx-v3 is passed at configure time.
        * config.h.in: Regenerate.

From-SVN: r32962
2000-04-06 06:47:52 +00:00
Benjamin Kosnik
d312ec72ba decl2.c: Make flag_honor_std dependant on ENABLE_STD_NAMESPACE.
2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>

        * decl2.c: Make flag_honor_std dependant on ENABLE_STD_NAMESPACE.

From-SVN: r32961
2000-04-06 06:44:42 +00:00
Tom Tromey
bc2874c902 re GNATS gcj/140 (gcj permits assignment to array length)
Fix for PR gcj/140:
	* parse.y (check_final_assignment): Recognize assignments to the
	`length' field of an array when generating class files.

From-SVN: r32960
2000-04-06 05:29:30 +00:00
Mark Mitchell
16d53b6439 cp-tree.h (instantiate_decl): Change prototype.
* cp-tree.h (instantiate_decl): Change prototype.
	* decl2.c (mark_used): Adjust call.
	* optimize.c (inlinable_function_p): Adjust handling of templates.
	* pt.c (do_decl_instantiation): Adjust call to instantiate_decl.
	(do_type_instantiation): Likewise.
	(instantiate_decl): Defer more templates.
	(instantiate_pending_templates): Adjust logic to handle inline
	friend functions.

From-SVN: r32959
2000-04-06 03:12:19 +00:00
Alexandre Petit-Bianco
256172c40c class.c (decl_hash): Prototype removed.
2000-04-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (decl_hash): Prototype removed.
	(decl_compare): Likewise.

(Fixes a warning problem.)

From-SVN: r32958
2000-04-05 18:01:11 -07:00
Mark Mitchell
bedda2da7f final.c (final): Use xcalloc to allocate line_note_exists.
* final.c (final): Use xcalloc to allocate line_note_exists.
	* function.c (free_after_compilation): Free the temp_slots.
	(assign_stack_temp_for_type): Use xmalloc to allocate temp_slots.
	(combine_temp_slot): Free temp_slots when they get combined.
	(purge_addressof): Fix typo in comment.
	* stmt.c (mark_goto_fixup): Mark the fixup itself.
	(expand_fixup): Allocate the fixup with ggc_alloc_obj.

	* ggc.h: Include varray.h.
	(ggc_pending_trees): Declare.
	(ggc_mark_tree_children): Remove declaration.
	(ggc_mark_tree): Just push unmarked trees on ggc_pending_trees.
	* ggc-common.c (ggc_pending_trees): New variable.
	(ggc_mark_roots): Call ggc_mark_trees.
	(ggc_mark_tree_children): Rename to ggc_mark_trees.  Process all
	the ggc_pending_trees.
	* Makefile.in (GGC_H): New variable.  Use it throughout in place
	of ggc.h.

	* Makefile.in (GGC_H): New variable.  Use it throughout in place
	of ggc.h.

	* call.c: Don't include obstack.h.  Include ggc.h.
	(obstack_chunk_alloc): Don't define.
	(obstack_chunk_free): Likewise.
	(add_candidate): Allocate the z_candidate with ggc_alloc_obj.
	* decl.c (push_switch): Use xmalloc to allocate the cp_switch.
	(pop_switch): Free it.

	* decl2.c (grokclassfn): Set TREE_READONLY for PARM_DECLs.

	* dump.c (dequeue_and_dump): Don't try to print the bit_position
	if we don't have a DECL_FIELD_OFFSET.

	* Makefile.in (GGC_H): Add varray.h.

From-SVN: r32956
2000-04-06 00:51:25 +00:00
Tom Tromey
e0fc4118fe re GNATS gcj/164 (compiler permits "volatile final" variables)
* parse.h (THIS_MODIFIER_ONLY): Changed meaning of `v' parameter.
	* parse.y (check_modifiers_consistency): Check for final/volatile
	clash.  Fixes PR gcj/164.

From-SVN: r32955
2000-04-06 00:43:27 +00:00
Tom Tromey
24969f074e configure: Rebuilt.
* configure: Rebuilt.
	* configure.in: Recognize --enable-java-awt.
	(AWT): New conditional.
	* Makefile.in: Rebuilt.
	* Makefile.am (toolexeclib_LTLIBRARIES): Build libgcjawt.la if
	requested.
	(libgcjawt_la_SOURCES): New macro.
	(EXTRA_libgcjawt_la_SOURCES): Likewise.
	(libgcjawt_la_DEPENDENCIES): Likewise.
	(libgcjawt_la_LIBADD): Likewise.
	(libgcjawt_la_LDFLAGS): Likewise.
	(libgcj.zip): Depend on cond_java_awt_source_files
	(cond_awt_java_source_files): New macro.
	(MOSTLYCLEANFILES): Added awto_files.
	(awto_files): New macro.  Use where javao_files used.
	(nat_headers): Use cond_awt_java_source_files.

From-SVN: r32954
2000-04-06 00:29:39 +00:00
Michael Meissner
76b785170b Recognize d30v-elf as d30v-unknown-elf
From-SVN: r32952
2000-04-06 00:23:39 +00:00
Richard Henderson
dc17cc7bec * splay-tree.c (splay_tree_remove): New.
From-SVN: r32949
2000-04-05 17:13:50 -07:00
Richard Henderson
aa5a5f0272 * splay-tree.h (splay_tree_remove): Declare.
From-SVN: r32948
2000-04-05 17:12:41 -07:00
Alexandre Petit-Bianco
e0422ed081 class.c: (java_hash_hash_tree_node): Renamed from `decl_hash', made global.
2000-04-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * class.c: (java_hash_hash_tree_node): Renamed from `decl_hash',
        made global.
        (java_hash_compare_tree_node): Renamed from `decl_compare, made
        global.
        (add_method_1): Use `java_hash_hash_tree_node' and
        `java_hash_compare_tree_node'.
        * java-tree.h: (java_hash_hash_tree_node): Prototyped.
        (java_hash_compare_tree_node): Likewise.
        * parse.y (find_applicable_accessible_methods_list): Create,
        delete and use a hash table to remember already searched interfaces.

From-SVN: r32947
2000-04-05 16:57:19 -07:00
J"orn Rennecke
007baa49fe sh.h (FUNCTION_ARG_PARTIAL_NREGS): Accomodate an unsigned GET_MODE_SIZE.
* sh.h (FUNCTION_ARG_PARTIAL_NREGS): Accomodate an unsigned
	GET_MODE_SIZE.

From-SVN: r32946
2000-04-06 00:38:36 +01:00
J"orn Rennecke
9342c0c4a9 sh.c (sh_insn_length_adjustment): New function.
* sh.c (sh_insn_length_adjustment): New function.
	* sh-protos.h (sh_insn_length_adjustment): Declare.
	* sh.h (ADJUST_INSN_LENGTH): Use it.

From-SVN: r32942
2000-04-06 00:12:53 +01:00
Hans-Peter Nilsson
65945ec1b3 md.texi (Standard Names): Clarify when movX is needed.
* md.texi (Standard Names): Clarify when movX is needed.

	* combine.c (simplify_comparison) [MINUS]: Do not replace
	all (op (minus A B) 0) with (op A B).

From-SVN: r32940
2000-04-05 21:14:53 +00:00
Hans-Peter Nilsson
0d0df4fcbf 960327-1.c (f): Add a letter to s[] to avoid stack-frame overwrite.
* execute/960327-1.c (f): Add a letter to s[] to avoid stack-frame
	overwrite.

From-SVN: r32939
2000-04-05 20:52:22 +00:00
Jason Merrill
dff7cb5b08 From Mark Elbrecht:
* makefile.dos: Remove; obsolete.
        * configure.bat: Remove; obsolete.

From-SVN: r32938
2000-04-05 15:02:02 -04:00
Geoff Keating
b14b6ccb18 Update POTFILES.in for rs6000.
From-SVN: r32937
2000-04-05 18:54:55 +00:00
Matt Welsh
4200941b0f jcf-depend.c (add_entry): Fixed bug where list was always replaced with latest entry.
2000-04-03  Matt Welsh  <mdw@cs.berkeley.edu>

	* jcf-depend.c (add_entry): Fixed bug where list was always replaced
	with latest entry.

From-SVN: r32936
2000-04-05 18:50:22 +00:00
Hans-Peter Nilsson
07edd4c51e optabs.c (emit_libcall_block): Remove spurious REG_EQUAL notes from the insn where REG_RETVAL is added.
* optabs.c (emit_libcall_block): Remove spurious REG_EQUAL notes
        from the insn where REG_RETVAL is added.
        (emit_no_conflict_block): Ditto.

From-SVN: r32935
2000-04-05 12:36:20 -06:00
Toshiyasu Morita
98dc7b5917 sh.c (block_lump_real_i4): Add missing clobber of T_REG
* sh.c (block_lump_real_i4): Add missing clobber of T_REG
	(block_lump_real): Likewise.

Co-Authored-By: J"orn Rennecke <amylaar@cygnus.co.uk>

From-SVN: r32934
2000-04-05 18:06:59 +01:00
Chris Demetriou
1fbdccae0d mips.h (MASK_DEBUG_A, [...]): Zero the remaining non-zero debugging masks.
* mips.h (MASK_DEBUG_A, MASK_DEBUG_B, MASK_DEBUG_C): Zero the
        remaining non-zero debugging masks.

From-SVN: r32933
2000-04-05 09:52:17 -06:00
Jeffrey A Law
5b99e44959 basic-block.h (verify_flow_info): Declare.
* basic-block.h (verify_flow_info): Declare.
        (flow_loop_outside_edge_p): Declare.
        * flow.c (verify_flow_info): Remove declaration.
        (clear_log_links, flow_loop_outside_edge_p): Likewise.

From-SVN: r32932
2000-04-05 09:44:56 -06:00
Philippe De Muyter
cef8b8c89d m68k-protos.h (finalize_pic): Turn prototype off using `#if 0', not C++ comments.
* m68k/m68k-protos.h (finalize_pic): Turn prototype off using `#if 0',
        not C++ comments.

From-SVN: r32931
2000-04-05 09:36:52 -06:00
Jan Hubicka
c9fff01f44 Fix problems in my previous commit.
From-SVN: r32930
2000-04-05 15:27:08 +00:00
Jakub Jelinek
3ea0387c39 20000405-2.c: New test.
* compile/20000405-2.c: New test.
	* compile/20000405-3.c: New test.

From-SVN: r32929
2000-04-05 10:57:06 +02:00
Jakub Jelinek
5deb91a4db sparc.md (snedi_zero+1, [...]): Allow splits only if registers are different.
* config/sparc/sparc.md (snedi_zero+1, neg_snedi_zero+1,
	snedi_zero_trunc+1, seqdi_zero+1, neg_seqdi_zero+1,
	seqdi_zero_trunc+1): Allow splits only if registers are
	different.

From-SVN: r32928
2000-04-05 09:54:16 +02:00
Jeff Law
1662bacace Daily bump.
From-SVN: r32927
2000-04-05 01:45:06 -06:00
Ulrich Drepper
792398206e Update.
From-SVN: r32926
2000-04-05 07:42:43 +00:00
Ulrich Drepper
6a9c5260e1 acconfig.h: Add HAVE_GAS_HIDDEN.
* acconfig.h: Add HAVE_GAS_HIDDEN.
        * config.h: Regenerated.
        * configure.in: Add test for .hidden pseudo-op in gas.
	* configure: Regenerated.
        * crtstuff.c: Include auto-host.h.
        Emit additional .hidden pseudo-op for __dso_handle if the
        assembler knows about it.

From-SVN: r32925
2000-04-05 07:34:36 +00:00
Philippe De Muyter
05ecd0e9ab cpphash.c (_cpp_free_definition): Test argnames, not nargs >= 0, before freeing argnames.
2000-04-04  Philippe De Muyter  <phdm@macqel.be>

	* cpphash.c (_cpp_free_definition): Test argnames, not nargs >= 0,
	before freeing argnames.
	* cpplib.c (do_ifndef): Cast return value of xstrdup.

From-SVN: r32924
2000-04-05 05:15:09 +00:00
Alexandre Oliva
a70902c59f * compile/20000405-1.c: New test.
From-SVN: r32923
2000-04-05 04:56:48 +00:00
Michael Meissner
79ba6d3437 Make memory reference + update work with -mregnames
From-SVN: r32922
2000-04-05 04:35:39 +00:00
Kaveh R. Ghazi
c0ee5d521e regrename.c (regno_first_use_in): Wrap prototype in PARAMS.
* regrename.c (regno_first_use_in): Wrap prototype in PARAMS.
	(regrename_optimize): Rename variables `def_uses' and
	`ext_basic_blocks' to avoid conflicts with similarly named
	typedefs in traditional C.

From-SVN: r32921
2000-04-05 03:51:15 +00:00
Kaveh R. Ghazi
3ccb603d24 * calls.c (initialize_argument_information): Fix typo in last change.
From-SVN: r32920
2000-04-05 01:52:54 +00:00
Richard Henderson
055be976e6 regrename.c (consider_available): Test fixed_regs not PIC_OFFSET_TABLE_REGNUM.
* regrename.c (consider_available): Test fixed_regs not
        PIC_OFFSET_TABLE_REGNUM.

From-SVN: r32919
2000-04-04 18:23:57 -07:00
Geoff Keating
b26e3a8231 t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbegin, crtend.
* config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbegin,
crtend.
(CRTSTUFF_T_CFLAGS_S): Delete definition.
* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Always use crtbegin.
(ENDFILE_LINUX_SPEC): Always use crtend.
* configure.in (powerpc-*-linux-gnulibc1): Don't define extra_parts.
(powerpc-*-linux-gnu): Likewise.
* configure: Regenerate.

* config/rs6000/eabi.h:	Don't include sysv4.h.
(MULTILIB_DEFAULTS): Don't define.
* config/rs6000/eabiaix.h: Don't include eabi.h.
* config/rs6000/eabile.h: Delete.
* config/rs6000/eabilesim.h: Delete.
* config/rs6000/eabisim.h: Don't include eabi.h.
* config/rs6000/linux.h: Don't include sysv4.h.
(JUMP_TABLES_IN_TEXT_SECTION): Don't redefine.
(MULTILIB_DEFAULTS): Don't redefine.
* config/rs6000/rtems.h: Don't include eabi.h.
* config/rs6000/sol2.h: Don't include sysv4le.h.
* config/rs6000/sysv4le.h: Don't include sysv4.h.
* config/rs6000/t-ppc: Delete.
* config/rs6000/t-ppcgas: Correct comment.
* config/rs6000/t-ppcos: Correct comment.  Don't build
multilibs for -fPIC, rather use -fPIC -mstrict-align
as default.
* config/rs6000/t-ppc: Delete.
* config/rs6000/vxppc.h: Don't include sysv4.h.
* config/rs6000/vxppcle.h: Delete.
* configure.in: Use multiple header files for p2pc ELF targets
powerpc-eabiaix, powerpc-eabisim, powerpc-rtems, powerpcle-eabi,
powerpcle-eabisim, powerpc-elf, powerpcle-elf, powerpc-linux-gnu,
powerpc-linux-gnulibc1, powerpc-sysv, powerpcle-sysv,
powerpc-vxworks, powerpcle-vxworks.  Assume GAS functionality is
always available for these platforms.

From-SVN: r32918
2000-04-05 01:22:36 +00:00
Richard Henderson
7657ad0a8f * calls.c (try_to_integrate): Initialize reg_parm_stack_space.
From-SVN: r32917
2000-04-04 18:06:14 -07:00
Stan Cox
7b82b5da01 Makefile.in: Add rules for regrename.o
* Makefile.in: Add rules for regrename.o
	* regrename.c: New file.
	* rtl.h (regrename_optimize): Add prototype.
	* toplev.c (rename_registers_dump, flag_rename_registers): New variables
	(compile_file, decode_d_option): Add support for -frename-registers.
	(rest_of_compilation): Call regrename_optimize.
	* config/ia64/ia64.h (HARD_REGNO_RENAME_OK, RENAME_EXTENDED_BLOCKS):
	New macros.

From-SVN: r32916
2000-04-05 00:32:45 +00:00
Martin v. Löwis
501a481953 Makefile (gccbug): New target.
* Makefile (gccbug): New target.
	(doc): Depend on it.
	* gcc.texi (Bugs): Link subnodes.
	(gccbug): New node.
	* gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc.
	Document severities, priorities, and classes in bug form.
	* ChangeLog: Replace leading spaces with tabs.

From-SVN: r32915
2000-04-04 22:54:44 +00:00
Geoff Keating
ace8b01598 * gcc.dg/cast-qual-1.c: Revert last change.
From-SVN: r32914
2000-04-04 21:49:49 +00:00
Zack Weinberg
86a44e25ce dbxout.c (CONTIN): If it doesn't have to do anything...
* dbxout.c (CONTIN): If it doesn't have to do anything, give it a
	definition that doesn't provoke the "empty body in an
	if-statement" warning.

From-SVN: r32913
2000-04-04 21:23:10 +00:00
Zack Weinberg
2a87fbe84e cpplex.c (trigraph_map, speccase): Combine into single table, chartab.
* cpplex.c (trigraph_map, speccase): Combine into single
	table, chartab.
	(NORMAL, NONTRI): New macros.
	(_cpp_read_and_prescan): Change to use unified table.  Use
	is_hspace to test for whitespace.

From-SVN: r32912
2000-04-04 21:17:20 +00:00
Clinton Popetz
21e62dfa2a builtins.c (expand_builtin_strlen): Force the source to be a memory address.
* builtins.c (expand_builtin_strlen): Force the source to
	be a memory address.

From-SVN: r32911
2000-04-04 17:10:43 -04:00
Kaveh R. Ghazi
7c32404c2d cpplib.c (D): Adjust to call CONCAT2 macro without whitespace.
2000-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* cpplib.c (D): Adjust to call CONCAT2 macro without whitespace.

From-SVN: r32910
2000-04-04 21:07:17 +00:00
Kaveh R. Ghazi
c2e407f12c cfns.gperf (hash, [...]): Prototype.
* cfns.gperf (hash, libc_name_p): Prototype.

	* rtti.c (build_dynamic_cast_1): Constification.

	* search.c (dfs_debug_unmarkedp, dfs_debug_mark): Unhide prototypes.

	* semantics.c (deferred_type_access_control): Prototype.

From-SVN: r32909
2000-04-04 20:46:23 +00:00