Commit Graph

48340 Commits

Author SHA1 Message Date
Roger Sayle
37f5242b58 emit-rtl.c (gen_lowpart): When requesting the low-part of a MEM...
* emit-rtl.c (gen_lowpart): When requesting the low-part of a
	MEM, try loading the MEM into a register and taking the low-part
	of that, to help CSE see the use of the MEM in its true mode.

From-SVN: r63907
2003-03-06 21:59:09 +00:00
Mark Mitchell
0768112136 re PR c++/9400 (Warning -Wshadow warns of shadowed declaration of THIS in local classes.)
PR c++/9400
	* decl.c (pushdecl): Don't check for shadowing of DECL_ARTIFICIAL
	PARM_DECLs.

	PR c++/9400
	* g++.dg/warn/Wshadow-2.C: New test.

From-SVN: r63904
2003-03-06 21:10:38 +00:00
Mark Mitchell
3d1df1fa6b re PR c++/9791 (-Woverloaded-virtual reports hiding of destructor)
PR c++/9791
	* class.c (get_basefndecls): Use lookup_fnfields_1.

	PR c++/9791
	* g++.dg/warn/Woverloaded-1.C: New test.

From-SVN: r63899
2003-03-06 20:06:29 +00:00
DJ Delorie
f3922fd268 [multiple changes]
2002-03-05  Tom Tromey  <tromey@redhat.com>

	* config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
	Define.

2002-03-05  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
	operand 2.
	("*ineqbranchsi"): Likewise.

2002-03-05  Andrew Haley  <aph@cambridge.redhat.com>

	* config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
	mem_fake_push_rtx.  Instead construct a SEQUENCE to show the
	register store followed by a stack increment.

2002-03-05  Chris Moller  <cmoller@redhat.com>

	* config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
	to inhibit saving CARRY_REGS.

	* config/stormy16/stormy16.c (xs_hi_general_operand):
	added predicate to detect and error-out on out-of-range
	const_ints for movhi.
	* config/stormy16/stormy16.md (movhi): use
	xs_hi_general_operand.

	* config/stormy16/stormy16.c (xstormy16_expand_prologue):
	added a check for local vbl size overflow.
	* config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
	added predicate to detect and error-out on out-of-range
	const_ints for addhi and subhi.
	* config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
	subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.

	* config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
	add a term to accept PRE_MODIFY addresses.
	* config/stormy16/stormy16.c (xstormy16_expand_move):
	add code to expand PRE_MODIFY addresses to an add followed
	by a move.

From-SVN: r63898
2003-03-06 15:03:49 -05:00
Jason Merrill
4c28216d00 tree-inline.c (inlinable_function_p): Revert earlier change pending investigation.
* tree-inline.c (inlinable_function_p): Revert earlier change
        pending investigation.

From-SVN: r63897
2003-03-06 14:33:44 -05:00
Jerry Quinn
53ec7ec1f1 ios.cc (ios_base::_M_init): Remove _M_word_size.
2003-03-06  Jerry Quinn  <jlquinn@optonline.net>

	* src/ios.cc (ios_base::_M_init): Remove _M_word_size.
	(ios_base::ios_base): Set _M_word, _M_word_size.
	(ios_base::~ios_base): Remove redundant test.
	* testsuite/27_io/ios_base_storage.cc (test03): New.

From-SVN: r63896
2003-03-06 18:10:26 +00:00
Jan Hubicka
2085604548 * gcc.dg/i386-local.c: Fix typo.
From-SVN: r63893
2003-03-06 15:31:38 +00:00
Kazu Hirata
0135f3437a * config/h8300/h8300.md (a new peephole2): New.
From-SVN: r63892
2003-03-06 15:14:37 +00:00
Kriang Lerdsuwanakij
8a6393df68 re PR c++/9188 ([New parser] Strange wording of error message)
PR c++/9188
	* parser.c (cp_parser_type_parameter): Remove redundant `expect'
	in error message.
	(cp_parser_single_declaration): Likewise.

From-SVN: r63891
2003-03-06 14:49:21 +00:00
Jan Hubicka
5c2e00ee5a * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
From-SVN: r63889
2003-03-06 13:30:22 +00:00
Zdenek Dvorak
323658eac5 dwarf2out.c (size_of_die): Compute size of external reference to die correctly.
* dwarf2out.c (size_of_die): Compute size of external reference to
	die correctly.

From-SVN: r63888
2003-03-06 10:23:46 +00:00
Hans-Peter Nilsson
2b18b49bb8 mmix.md ("*movcc_expanded"): New pattern.
* config/mmix/mmix.md ("*movcc_expanded"): New pattern.
	("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
	expanders.

From-SVN: r63887
2003-03-06 05:01:15 +00:00
Roger Sayle
1a71a5b037 * expr.h (lang_expand_expr): Delete obsolete prototype.
From-SVN: r63886
2003-03-06 04:04:17 +00:00
Kazu Hirata
26d249ebbc * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
From-SVN: r63885
2003-03-06 01:53:08 +00:00
Kazu Hirata
8b41a8dac0 h8300.md (a peephole2): Generalize to accept a memory operand.
* config/h8300/h8300.md (a peephole2): Generalize to
	accept a memory operand.

From-SVN: r63883
2003-03-06 01:34:55 +00:00
Olivier Hainque
39ee7fa955 alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
	* config/alpha/alpha.c (print_operand, case '+'): New.
	* config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
	(call_value_osf_1_noreturn): Likewise.

From-SVN: r63882
2003-03-05 19:32:29 -05:00
GCC Administrator
99a86ee1e2 Daily bump.
From-SVN: r63881
2003-03-06 00:17:07 +00:00
Richard Kenner
cda2605831 stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
* stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
	(expand_end_bindings): Likewise.

From-SVN: r63874
2003-03-05 18:56:15 -05:00
Jason Merrill
c965b16943 re PR c++/9440 (error message about "non-lvalue in unary '&'" when using ?: operator)
PR c++/9440
        * call.c (build_conditional_expr): Use convert rather than an
        explicit NOP_EXPR.

From-SVN: r63872
2003-03-05 18:03:44 -05:00
John David Anglin
98857de85a pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
* pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
	(epilogue): Don't generate return_external_pic when emitting PA 2.0
	code.

From-SVN: r63871
2003-03-05 22:40:21 +00:00
Aldy Hernandez
967143957e tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
2003-03-05  Aldy Hernandez  <aldyh@redhat.com>

        * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.

        * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.

        * hooks.c (hook_rtx_rtx_null): New.

        * hooks.h (hook_rtx_rtx_null): Protoize.

        * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
        (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.

        * target.h (struct gcc_target): Add dwarf_register_span.

        * dwarf2out.c (multiple_reg_loc_descriptor): New.
        (one_reg_loc_descriptor): New.
        (reg_loc_descriptor): Add support for values that span more than
        one register.

From-SVN: r63870
2003-03-05 22:37:52 +00:00
Alexandre Oliva
dd6eaaed37 strstream.cc, [...]: Remove incorrect whitespace added in my previous change.
* src/strstream.cc, include/bits/basic_string.tcc: Remove
incorrect whitespace added in my previous change.

From-SVN: r63869
2003-03-05 22:24:56 +00:00
Jan Hubicka
b255a03659 Makefile.in (calls.o, [...]): Depend on cgraph.h
* Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
	* alias.c:  Include cgraph.h
	(mark_constant_function): Use cgraph_rtl_info.
	* calls.c:  Include cgraph.h
	(flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
	calls.
	(expand_call): Use cgraph_rtl_info to set preferred stack boundary.
	* cgraph.c (cgraph_rtl_info): New function.
	* cgraph.h (cgraph_rtl_info): Declare
	(cgraph_rtl_info): Likewise.
	* function.h (struct function): Add recursive_call_emit.
	* toplev.c: Include cgraph.h.
	(rest_of_compilation): Set preferred_incoming_stack_boundary.

	* gcc.dg/i386-local2.c: New.

From-SVN: r63868
2003-03-05 22:19:33 +00:00
Kazu Hirata
0eb933a0d0 h8300.c (output_simode_bld): Clear the destination first if possible.
* config/h8300/h8300.c (output_simode_bld): Clear the
	destination first if possible.
	* config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
	alternative.
	(extzv_1_r_inv_h8300hs): Likewise.

From-SVN: r63867
2003-03-05 22:10:52 +00:00
Matt Austern
1d555f7aec decl.c (cp_binding_level): Add static_decls varray member.
* decl.c (cp_binding_level): Add static_decls varray member.
	(add_decl_to_level): Add static/inline namespace scope
	declarations to static_decls array.
	(wrapup_global_for_namespace): Pass static_decls only, instead of
	all decls, to wrapup_global_declarations/check_global_declarations.
	(push_namespace): Initialize static_decls for ordinary namespaces.
	(cxx_init_decl_processing): Initialize static_decls for global
	namespace.

From-SVN: r63866
2003-03-05 22:08:39 +00:00
Zdenek Dvorak
35b0708052 basic-block.h (EDGE_IRREDUCIBLE_LOOP, [...]): New.
* basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
	* cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
	* cfgloop.c (flow_loop_free): Made global.
	(establish_preds): New static function.
	(flow_loop_tree_node_add): Handle subloops of added loop correctly.
	(get_loop_exit_edges): New.
	(verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
	* cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
	* cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
	loops.
	* cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
	removability of an edge.
	(fix_irreducible_loops): New static function.
	(find_path, remove_path): Add ability to remove enclosing loops.
	(unloop): New.
	(copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
	flags.
	* cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
	* loop-unroll.c (peel_loops_completely): Do not duplicate loop if
	not neccessary.
	(decide_peel_completely, peel_loops_completely): Allow complete peeling
	of non-duplicable once rolling loops.
	* loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.

From-SVN: r63864
2003-03-05 22:05:18 +00:00
J"orn Rennecke
bb182d238a sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value for align_jumps is 4.
* sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
	for align_jumps is 4.

	(SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
	use GENERAL_REGS.

From-SVN: r63863
2003-03-05 21:45:41 +00:00
Stephane Carrez
f2d0440f54 m68hc11.h (PAD_VARARGS_DOWN): Define and return according to va_arg type.
* config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
	according to va_arg type.
	(EXPAND_BUILTIN_VA_ARG): Remove.
	* config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
	* config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.

From-SVN: r63859
2003-03-05 22:32:11 +01:00
Mark Mitchell
1c442892b3 * g++.dg/abi/layout3.C: New test.
From-SVN: r63856
2003-03-05 20:52:53 +00:00
Carlo Wood
0530d3b00b ios_base.h (ios_base::Init::_S_initialized()): Added _S_initialized() in order to allow debugging libraries to detect when...
2003-03-05  Carlo Wood  <carlo@alinoe.com>

        * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
	_S_initialized() in order to allow debugging libraries to detect
	when the std streams are initialized from an overloaded operator
	new.

From-SVN: r63852
2003-03-05 18:53:18 +00:00
Benjamin Kosnik
83e924e101 demangle.h: Move to..
2003-03-05  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/demangle.h: Move to..
	* include/bits/demangle.h: ...here.
	* src/demangle.cc: Adjust include.
	* include/Makefile.am (bits_headers): Add.
	* include/Makefile.in: Regenerate.

From-SVN: r63851
2003-03-05 17:57:52 +00:00
David Edelsohn
165b263e39 rs6000.c (rs6000_variable_issue): Remove unnecessary else clauses.
* config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
        else clauses.

From-SVN: r63850
2003-03-05 12:51:24 -05:00
Geert Bosch
3d713bb882 raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid warning, and fix return type for the IN_RTS && !SJLJ case.
ada/9961
        * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
        warning, and fix return type for the IN_RTS && !SJLJ case.

From-SVN: r63842
2003-03-05 17:09:55 +01:00
Michael Matz
8c38a24fa0 i386.c (ix86_save_reg): Also test current_function_uses_const_pool.
* i386/i386.c (ix86_save_reg): Also test
        current_function_uses_const_pool.

From-SVN: r63840
2003-03-05 13:06:50 +00:00
Michael Matz
336d0d96d0 unwind.h: Add the GPL exception.
* unwind.h: Add the GPL exception.
        * Makefile.in (USER_H): Add unwind.h.

From-SVN: r63839
2003-03-05 13:04:30 +00:00
Eric Botcazou
be2fa21183 re PR c/9799 (mismatching structure initializer with nested flexible array member, segfaults)
PR c/9799
	* c-typeck.c (push_init_level): Add sanity check.

From-SVN: r63831
2003-03-05 08:37:57 +00:00
Mark Mitchell
8234c6c11a * class.c (end_of_class): Correct thinko.
From-SVN: r63829
2003-03-05 08:27:42 +00:00
Andreas Jaeger
4e263cd91b * treetree.c (init_c_lex): Follow change to c-common.h.
From-SVN: r63828
2003-03-05 07:29:01 +01:00
Nathanael Nerode
dc2b3526d4 * config-lang.in: Replace ${libstdcxx_version} by its value.
From-SVN: r63827
2003-03-05 06:14:08 +00:00
Benjamin Kosnik
4e7a2c6f9a globals.cc: Clarify comments, remove c_locale_imp_compat.
2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* src/globals.cc: Clarify comments, remove c_locale_imp_compat.

	* config/linker-map.gnu: Filter typeinfo and vtable info.

From-SVN: r63826
2003-03-05 06:02:15 +00:00
Jerry Quinn
c524ed5dc9 ios.cc (ios_base::_M_grow_words): Don't delete _M_word on new failure.
2003-03-04  Jerry Quinn  <jlquinn@optonline.net>

	* src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
	new failure.  Throw exception if badbit and exception mask when ix
	>= numeric_limits<int>::max().

From-SVN: r63824
2003-03-05 03:01:42 +00:00
Nathanael Nerode
3aa8317698 Makefile.tpl: Reindent.
* Makefile.tpl: Reindent.
	* Makefile.in: Regenerate.
	* configure.in: Reindent.  Don't set unused variables.
	* configure: Regenerate.

From-SVN: r63823
2003-03-05 01:45:09 +00:00
Jan Hubicka
dafc5b82d5 i386-local.c: New.
* gcc.dg/i386-local.c: New.

	* toplev.c (rest_of_compilation):  Deffer RTL compilation only when
	RTL inlining is done.

	* cgraphunit.c (cgraph_mark_local_functions): New local function.
	(cgraph_optimize): Mark local functions.
	* i386-protos.h (init_cumulative_args): Update prototype.
	* i386.c (init_cumulative_args): Use register passing convention for
	local functions.

	* cgraph.c (cgraph_global_info_ready): New global variable
	(cgraph_local_info, cgraph_global_info): New functions.
	* cgraph.h (struct cgraph_local_info, cgraph_global_info): New
	structures.
	(cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
	Declare.
	* cgraphunit.c (cgraph_finalize_function): Set inline_many.
	(cgraph_mark_functions_to_output): Use inline_many.
	(cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
	(cgraph_expand_functions): Expand inline functions last.
	(cgraph_optimize): Do not emit uneeded functions.

From-SVN: r63822
2003-03-05 01:33:27 +00:00
GCC Administrator
75d8f260df Daily bump.
From-SVN: r63821
2003-03-05 00:17:14 +00:00
Steve Ellcey
006c9f4a1a * expr.c (convert_modes): Check for legal hard register.
From-SVN: r63813
2003-03-05 00:12:40 +00:00
Gabriel Dos Reis
000d38ea95 cp-tree.h (cxx_saved_binding): Declare.
* cp-tree.h (cxx_saved_binding): Declare.
        (struct saved_scope): Adjust type of field 'old_binding'.
        * decl.c (cxx_saved_binding_make): New macro.
        (struct cxx_saved_binding): Define.
        (store_bindings): Adjust prototype.  Use cxx_saved_binding to save
        C++ bindings.
        (maybe_push_to_top_level): Adjust local variable type.
        (pop_from_top_level): Likewise.

From-SVN: r63810
2003-03-04 23:23:16 +00:00
Hans Boehm
c62b906422 gcconfig.h (GC_data_start): declare when needed.
2003-03-04  Hans Boehm <Hans.Boehm@hp.com>
	* include/private/gcconfig.h (GC_data_start): declare when needed.
	* include/private/gc_priv.h: Include gcconfig.h after ptr_t
	declaration.
	* dyn_load.c (GC_register_dynamic_libraries_dl_iterate_phdr,
	GC_register_dynlib_callback): Register main data for static
	executable if dl_iterate_phdr() didn't.
	* misc.c (GC_init_inner): Call GC_init_linux_data_start() even
	if we don't expect to register main static data.

From-SVN: r63809
2003-03-04 22:18:08 +00:00
Tom Tromey
65ebbf8160 sourcebuild.texi (Front End Directory): Document tags.
* doc/sourcebuild.texi (Front End Directory): Document tags.
	* configure: Rebuilt.
	* configure.in (target_list): Added tags.
	* Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
	TAGS files by reference.
	* objc/Make-lang.in (objc.tags): New target.

From-SVN: r63808
2003-03-04 21:48:53 +00:00
Tom Tromey
361617e7d4 * Make-lang.in (treelang.tags): New target.
From-SVN: r63807
2003-03-04 21:33:35 +00:00
Tom Tromey
5993642d6f * Make-lang.in (java.tags): New target.
From-SVN: r63806
2003-03-04 21:33:09 +00:00