Commit Graph

48664 Commits

Author SHA1 Message Date
Paolo Carlini
9a97e40ae1 fstream.tcc (_M_convert_to_external): Set __elen to zero if codecvt::out eventually fails.
2003-03-07  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (_M_convert_to_external):
	Set __elen to zero if codecvt::out eventually fails.

From-SVN: r63954
2003-03-07 22:20:18 +00:00
Paolo Carlini
1deba98bd2 re PR libstdc++/9182 (basic_filebuf<> does not report errors in codecvt<>::out)
2003-03-07  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9182
	* include/bits/fstream.tcc (_M_really_overflow): Check
	for _M_convert_to_external possible failures.
	* include/std/std_fstream.h (sync): Check _M_really_overflow
	return value and return -1 in case of failure.
	* testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.

2003-03-07  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9826
	* include/bits/istream.tcc (operator>>(_CharT*),
	operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
	* testsuite/27_io/stringstream.cc (test02): Add.

	* include/bits/istream.tcc (operator>>(_CharT*)):
	Assign a char_type to *__s.

From-SVN: r63953
2003-03-07 22:06:28 +00:00
Michael Matz
50aac998d4 df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
* df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
        (DF_FOR_REGALLOC): New.
        * df.c (df_ref_record): Set DF_REF_STRIPPED.
        (read_modify_subreg_p): Simplify.
        (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
        Use DF_FOR_REGALLOC.
        * ra.h (struct web): New member subreg_stripped.
        (invalid_mode_change_regs): Declare.
        * ra.c (invalid_mode_change_regs): New.
        (init_ra): Initialize it.
        * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
        Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
        (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
        * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
        Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.

From-SVN: r63952
2003-03-07 22:06:16 +00:00
Mark Mitchell
aa6e8ed33a call.c (reference_binding): Remove REF_IS_VAR parameter.
* call.c (reference_binding): Remove REF_IS_VAR parameter.
	(implicit_conversion): Adjust call to reference_binding.
	(make_temporary_var_for_ref_to_type): Add TYPE parameter.
	(initialize_reference): Adjust handling for references bound to
	rvalues.
	* cp-tree.h (make_temporary_var_for_ref_to_temp): Change
	prototype.
	(real_non_cast_lvalue_p): New function.
	* cvt.c (build_up_reference): Adjust use of
	make_temporary_var_for_ref_to_temp.
	* tree.c (real_non_cast_lvalue_p): New function.

	* g++.dg/init/ref4.C: New test.

From-SVN: r63949
2003-03-07 21:19:38 +00:00
Petur Runolfsson
5040d6912c re PR libstdc++/9817 (collate::compare doesn't handle nul characters.)
2003-03-07  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9817
	* include/bits/locale_facets.tcc
	(collate::do_compare, collate::do_transform):
	Handle nul characters in input.
	* testsuite/22_locale/collate/compare/char/3.cc:  New test.
	* testsuite/22_locale/collate/compare/wchar_t/3.cc:  New test.
	* testsuite/22_locale/collate/transform/char/3.cc:  New test.
	* testsuite/22_locale/collate/transform/wchar_t/3.cc:  New test.

From-SVN: r63946
2003-03-07 17:24:47 +00:00
Jan Hubicka
dfa7f440a0 * gcc.dg/i386-local2.c: Fix problems with certain versions of dejagnu.
From-SVN: r63945
2003-03-07 16:42:17 +00:00
Jerry Quinn
53279c104f streambuf_iterator.h (_M_put): Set _M_failed if sputn fails.
2003-03-07  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
	sputn fails.
	* testsuite/27_io/ostream_fail.cc: New test.

From-SVN: r63944
2003-03-07 14:14:11 +00:00
Richard Earnshaw
37f74dcf95 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
(negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
(fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
machine description file from ...
* cirrus.md: ... here.

From-SVN: r63940
2003-03-07 10:07:14 +00:00
Matthias Klose
3bf74da29f Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
2003-03-07  Matthias Klose  <doko@debian.org>

        * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
        FLAGS_TO_PASS: Set to AM_MAKEFLAGS
        * Makefile.in: Regenerate.
        * libsupc++/Makefile.am: Express glibcppinstalldir in terms
        of gxx_include_dir.
        AM_MAKEFLAGS: Pass gxx_include_dir.
        * libsupc++/Makefile.in: Regenerate.

From-SVN: r63939
2003-03-07 08:01:24 +00:00
Gabriel Dos Reis
5cc3d3b8bf except.c (init_exception_processing): Use C90 prototype style.
* except.c (init_exception_processing): Use C90 prototype style.
        (cp_protect_cleanup_actions): Likewise.
        (prepare_eh_type): Likewise.
        (build_eh_type_type): Likewise.
        (build_exc_ptr): Likewise.
        (do_begin_catch): Likewise.
        (dtor_nothrow): Likewise.
        (do_end_catch): Likewise.
        (push_eh_cleanup): Likewise.
        (decl_is_java_type): Likewise.
        (choose_personality_routine): Likewise.
        (initialize_handler_parm): Likewise.
        (expand_start_catch_block): Likewise.
        (expand_end_catch_block): Likewise.
        (begin_eh_spec_block): Likewise.
        (finish_eh_spec_block): Likewise.
        (do_allocate_exception): Likewise.
        (do_free_exception): Likewise.
        (wrap_cleanups_r): Likewise.
        (stabilize_throw_expr): Likewise.
        (build_throw): Likewise.
        (complete_ptr_ref_or_void_ptr_p): Likewise.
        (is_admissible_throw_operand): Likewise.
        (nothrow_libfn_p): Likewise.
        (can_convert_eh): Likewise.
        (check_handlers_1): Likewise.
        (check_handlers): Likewise.

From-SVN: r63935
2003-03-07 07:45:29 +00:00
Mark Mitchell
9534f4bcc8 * rtti.c (get_tinfo_decl): Use build_address/build_nop.
From-SVN: r63931
2003-03-07 07:03:17 +00:00
Mark Mitchell
3d93842695 call.c (merge_conversion_sequences): New function.
* call.c (merge_conversion_sequences): New function.
	(build_conv): Set ICS_USER_FLAG for USER_CONVs.
	(convert_class_to_reference): Correct handling of second
	standard conversion sequence in a user-defined conversion
	sequence.
	(build_user_type_conversion_1): Use merge_conversion_sequences.
	* cp-tree.def: Add comments for CONV nodes.

	* g++.dg/init/ref3.C: New test.

From-SVN: r63930
2003-03-07 07:02:02 +00:00
Michael Koch
ea67bef470 No changelog, just replaced one tabulator with some spaces
to merge with classpath.

From-SVN: r63929
2003-03-07 06:52:17 +00:00
Gabriel Dos Reis
3f8548e7db error.c (init_error): Use C90 prototype style.
* error.c (init_error): Use C90 prototype style.
        (dump_scope): Likewise.
        (dump_qualifiers): Likewise.
        (dump_template_argument): Likewise.
        (dump_template_argument_list): Likewise.
        (dump_template_parameter): Likewise.
        (dump_template_bindings): Likewise.
        (dump_type): Likewise.
        (dump_typename): Likewise.
        (class_key_or_enum): Likewise.
        (dump_aggr_type): Likewise.
        (dump_type_prefix): Likewise.
        (dump_type_suffix): Likewise.
        (dump_global_iord): Likewise.
        (dump_simple_decl): Likewise.
        (dump_decl): Likewise.
        (dump_template_decl): Likewise.
        (dump_function_decl): Likewise.
        (dump_parameters): Likewise.
        (dump_exception_spec): Likewise.
        (dump_function_name): Likewise.
        (dump_template_parms): Likewise.
        (dump_char): Likewise.
        (dump_expr_list): Likewise.
        (dump_expr): Likewise.
        (dump_binary_op): Likewise.
        (dump_unary_op): Likewise.
        (type_as_string): Likewise.
        (expr_as_string): Likewise.
        (decl_as_string): Likewise.
        (context_as_string): Likewise.
        (lang_decl_name): Likewise.
        (cp_file_of): Likewise.
        (cp_line_of): Likewise.
        (decl_to_string): Likewise.
        (expr_to_string): Likewise.
        (fndecl_to_string): Likewise.
        (code_to_string): Likewise.
        (language_to_string): Likewise.
        (parm_to_string): Likewise.
        (op_to_string): Likewise.
        (type_to_string): Likewise.
        (assop_to_string): Likewise.
        (args_to_string): Likewise.
        (cv_to_string): Likewise.
        (cxx_print_error_function): Likewise.
        (cp_diagnostic_starter): Likewise.
        (cp_diagnostic_finalizer): Likewise.
        (cp_print_error_function): Likewise.
        (function_category): Likewise.
        (print_instantiation_full_context): Likewise.
        (print_instantiation_partial_context): Likewise.
        (maybe_print_instantiation_context): Likewise.
        (print_instantiation_context): Likewise.
        (cp_printer): Likewise.
        (print_integer): Likewise.
        (print_non_consecutive_character): Likewise.
        (locate_error): Likewise.

From-SVN: r63928
2003-03-07 06:46:56 +00:00
Ranjit Mathew
530d4230db jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to compare file name components depending on the...
2003-03-05  Ranjit Mathew  <rmathew@hotmail.com>

	* jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
	compare file name components depending on the case-sensitivity
	or otherwise of the host file system.

	* jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
	"strcmp" to compare file name components.
	Use IS_DIR_SEPARATOR instead of comparing directly against
	DIR_SEPARATOR.
	(jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
	comparing directly against DIR_SEPARATOR.

From-SVN: r63927
2003-03-07 04:40:08 +00:00
Kazu Hirata
203b3521b5 h8300.md (a peephole2): Don't use reg_overlap_mentioned_p.
* config/h8300/h8300.md (a peephole2): Don't use
	reg_overlap_mentioned_p.

From-SVN: r63925
2003-03-07 01:37:49 +00:00
Geoffrey Keating
8643e92d0d c-pch.c: Include langhooks.h.
* c-pch.c: Include langhooks.h.
	(IDENT_LENGTH): New.
	(get_ident): New.
	(pch_ident): Delete.
	(pch_init): Use get_ident, IDENT_LENGTH.
	(c_common_valid_pch): Likewise.  Also, use actual language
	in warning message.
	* Makefile.in (c-pch.o): Add langhooks.h to dependencies.

	* objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
	c-parse.in.
	* objc/Make-lang.in (objc/objc-act.o): Add dependency on
	gt-objc-objc-act.h.
	(gt-objc-objc-act.h): New rule.
	* objc/lang-specs.h: Support PCH.
	* objc/objc-act.c: Include gt-objc-objc-act.h.
	(objc_add_static_instance): Move num_static_inst out, mark for PCH.
	(build_selector_reference_decl): Move idx out, mark for PCH.
	(build_class_reference_decl): Likewise.
	(build_objc_string_decl): Move *_idx out, mark for PCH.
	(build_tmp_function_decl): Move xxx out, mark for PCH.

From-SVN: r63924
2003-03-07 01:20:52 +00:00
Dale Johannesen
7f3d80135f rs6000.c (rs6000_binds_local_p): Consider global functions for inlining on Darwin.
2003-03-06  Dale Johannesen  <dalej@apple.com>

        * config/rs6000/rs6000.c (rs6000_binds_local_p):  Consider
        global functions for inlining on Darwin.

From-SVN: r63923
2003-03-07 00:58:41 +00:00
GCC Administrator
006425bff5 Daily bump.
From-SVN: r63922
2003-03-07 00:17:05 +00:00
Vladimir Makarov
14484a7847 haifa-sched.c (schedule_block): Don't call reorder when sorting is prohibited.
2003-03-06  Vladimir Makarov  <vmakarov@redhat.com>

	* haifa-sched.c (schedule_block): Don't call reorder when sorting
	is prohibited.

From-SVN: r63915
2003-03-07 00:14:36 +00:00
Neil Booth
9d10c9a9eb Makefile.in (c-ppoutput.o): Update.
* Makefile.in (c-ppoutput.o): Update.
	* c-common.h (init_pp_output): New.
	(preprocess_file): Update.
	* c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
	Register builtins.
	* c-opts.c (c_common_init): Call init_pp_output if preprocessing.
	Make call to cpp_read_main_file common to whether preprocessing
	or not.  Don't register builtins.
	* c-ppoutput.c: Include c-pragma.h.
	(setup_callbacks): Rename init_pp_output.
	(preprocess_file): No longer setup callbacks or call
	cpp_read_main_file.
	* cpphash.h (_cpp_init_mbchar): New.
	* cppinit.c (init_library): Call _cpp_init_mbchar.
	* cpplex.c (_cpp_init_mbchar): New.

From-SVN: r63913
2003-03-06 23:12:30 +00:00
Mark Mitchell
d1867128b2 Fix typo in previous patch
From-SVN: r63912
2003-03-06 22:55:42 +00:00
Mark Mitchell
5e2569964b re PR c++/9965 (ICE in cp_expr_size)
PR c++/9965
	* call.c (reference_binding): Add ref_is_var parameter.
	(implicit_conversion): Adjust call to reference_binding.
	(initialize_reference): Likewise.

	PR c++/9965
	* g++.dg/init/ref2.C: New test.

From-SVN: r63909
2003-03-06 22:46:10 +00:00
Jerry Quinn
a9aa7083ed ios_base_storage.cc (test02): Set exception mask.
2003-03-06  Jerry Quinn  <jlquinn@optonline.net>

	* testsuite/27_io/ios_base_storage.cc (test02): Set exception
	mask.  Test setting small-numbered pword and iword slots.  Test
	behavior at limit of numeric_limits::max.  Check that values are
	still good after failures.

From-SVN: r63908
2003-03-06 22:37:01 +00:00
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