Commit Graph

43984 Commits

Author SHA1 Message Date
Mark Mitchell
eb8845bedb Make-lang.in (cp/parse.o): Depend on decl.h.
* Make-lang.in (cp/parse.o): Depend on decl.h.
	* cp-tree.h (do_decl_instantiation): Change prototype.
	* parse.y: Include decl.h.
	(parse_decl_instantiation): New function.
	(explicit_instantiation): Use it.
	* pt.c (do_decl_instantiation): Accept a DECL, not a DECLARATOR
	and DECLSPECS.

From-SVN: r55309
2002-07-08 02:25:19 +00:00
Neil Booth
5351f1ca74 c-common.c (c_common_post_options): Update prototype; don't init backends if preprocessing only.
* c-common.c (c_common_post_options): Update prototype;
	don't init backends if preprocessing only.
	* langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
	* langhooks.h (struct lang_hooks): Update post_options to
	return a boolean.
	* toplev.c (parse_options_and_default_flags, do_compile,
	lang_independent_init): Update prototypes.  Allow the
	front end to specify that there is no need to initialize
	the back end.
	(general_init): Move call to hex_init here...
	(toplev_main): ...from here.  Pass flag for back end init
	suppression.
java:
	* lang.c (java_post_options): Update prototype.

From-SVN: r55306
2002-07-07 22:10:18 +00:00
J"orn Rennecke
c8cc4417e4 sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
* sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
	(PREDICATE_CODES): Add entries for equality_comparison_operator,
	greater_comparison_operator and less_comparison_operator.
	* sh.c (print_operand): Add '\'' code.  Make 'o' handle
	more operators.
	(equality_comparison_operator): New function.
	(greater_comparison_operator, less_comparison_operator): Likewise.
	* sh.md (beq_media_i): Disable generator function generation.
	Use match_operator to handle a whole class of comparisons.  Add
	modifier in output template to provide branch prediction.  Add type.
	(bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
	(bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
	(blt_media_i, bleu_media_i, bltu_media_i): Likewise.
	(bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.

From-SVN: r55305
2002-07-07 20:56:31 +01:00
Roger Sayle
78abea278b error.c (dump_function_name): Use DECL_TEMPLATE_RESULT for constructor and destructor tests when...
* error.c (dump_function_name): Use DECL_TEMPLATE_RESULT for
	constructor and destructor tests when passed a TEMPLATE_DECL.

	* g++.dg/template/qualttp21.C: New test case.

From-SVN: r55304
2002-07-07 18:56:18 +00:00
Hans-Peter Nilsson
957ec0f922 Emit MMIX function prologue and epilogue as rtl.
* config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
	not unprototyped get_hard_reg_initial_val.
	("call_value", "nonlocal_goto_receiver"): Ditto.
	("return"): Make define_expand.  Move real insn to...
	("*expanded_return"): New pattern.
	("prologue", "epilogue"): New define_expands.
	* config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
	(struct machine_function): New member in_prologue.
	(FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
	(FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
	(MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
	(MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
	(REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
	(LOCAL_REGNO): Define.  Adjust comment.
	* config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
	Consider regs_ever_live[MMIX_rJ_REGNUM], not just
	leaf_function_p.
	(MMIX_OUTPUT_REGNO): Don't translate registers while outputting
	the prologue.
	(mmix_target_asm_function_prologue): Make static.  Just mark that
	the prologue is being emitted.  Move guts to...
	(mmix_expand_prologue): New function.  Adjust for emitting
	prologue as rtl.  For sizes, use HOST_WIDE_INT only.
	(mmix_target_asm_function_epilogue): Make static.  Simply emit a
	\n.  Move guts to...
	(mmix_expand_epilogue): New function.  Adjust for emitting
	epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
	(mmix_target_asm_function_end_prologue): Mark that the prologue
	has ended.
	(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
	(mmix_conditional_register_usage): Improve comments.
	(mmix_local_regno): New function.
	(mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
	* config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
	(mmix_expand_prologue, mmix_expand_epilogue): Ditto.
	(mmix_get_hard_reg_initial_val): Ditto.

From-SVN: r55302
2002-07-07 17:13:14 +00:00
Paolo Carlini
276e31ec6e re PR libstdc++/7186 (DR179 for std::deque::iterator and const_iterator)
2002-07-07  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/7186
	* include/bits/stl_deque.h (_Deque_iterator::operator-):
	Make non-member, as already happens for the comparison
	operators in accord with DR179 (Ready).
	* testsuite/23_containers/deque_operators.cc: Add test02.

From-SVN: r55301
2002-07-07 10:15:06 +00:00
GCC Administrator
12f2f485a3 Daily bump.
From-SVN: r55300
2002-07-07 07:18:36 +00:00
Alexandre Oliva
e66c864962 20020706-1.c: New test.
* gcc.c-torture/compile/20020706-1.c: New test.
* gcc.c-torture/compile/20020706-2.c: New test.

From-SVN: r55290
2002-07-06 17:19:51 +00:00
Brian R. Gaeke
71b089f0be * g++.dg/warn/incomplete1.C: New test.
From-SVN: r55289
2002-07-06 16:58:39 +00:00
Alexandre Oliva
acc0131c14 * linkage1.C, linkage1-main.cc: New test.
From-SVN: r55288
2002-07-06 16:16:44 +00:00
Andreas Jaeger
7ab5c78914 ChangeLog entry for my last patch:
* toplev.c (set_fast_math_flags): Don't use ISO C style function
	definitions.
	* gengtype.c (open_base_files): Likewise.
	(close_output_files): Likewise.
	* tracer.c (find_best_predecessor): Likewise.
	(find_best_successor): Likewise.
	(ignore_bb_p): Likewise.

From-SVN: r55287
2002-07-06 15:41:12 +02:00
Andreas Jaeger
ef171ead7c toplev.c (set_fast_math_flags): Don't use ISO C style function definitions.
* toplev.c (set_fast_math_flags): Don't use ISO C style function
	definitions.
	* gengtype.c (open_base_files): Likewise.
	(close_output_files): Likewise.
	* tracer.c (find_best_predecessor): Likewise.
	(find_best_successor): Likewise.
	(ignore_bb_p): Likewise.

From-SVN: r55286
2002-07-06 15:39:46 +02:00
GCC Administrator
6ab5f79598 Daily bump.
From-SVN: r55285
2002-07-06 07:17:48 +00:00
Tony Kimball
16da5ae295 natRuntime.cc (nativeGetLibname): Added missing `#'.
2002-07-05  Tony Kimball  <alk@pobox.com>

	* java/lang/natRuntime.cc (nativeGetLibname): Added missing `#'.

From-SVN: r55280
2002-07-06 05:11:53 +00:00
Kaveh R. Ghazi
8537dbae0f re PR c++/7099 (G++ doesn't set the noreturn attribute on std::exit and std::abort)
2002-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

        PR c++/7099
        * g++.dg/warn/noreturn1.C: New test.

From-SVN: r55277
2002-07-06 00:25:30 +00:00
Roger Sayle
df061a43b6 re PR c++/7099 (G++ doesn't set the noreturn attribute on std::exit and std::abort)
PR c++/7099
	* builtin-attrs.def: Define new attribute lists for use in
	builtins.def.
	* builtins.def [DEF_BUILTIN]: Modify to take an additional
	ATTRS argument, an enumerated value defined in builtin-attrs.def
	that represents the attribute list for the builtins.  Modify
	all builtin functions to pass an appropriate attribute list.
	Specify "abort", "exit", "_exit" and "_Exit" builtins here with
	their required noreturn attributes.
	* tree.h (enum_builtin_function): Ignore the additional parameter
	to DEF_BUILTIN.
	* builtins.c (built_in_names): Likewise.
	* c-common.c: (builtin_function_2): Replace the "int noreturn_p"
	argument with a tree representing the functions attribute list.
	Pass this "attrs" argument to builtin_function.  No longer handle
	the noreturn_p processing manually.
	(built_in_attributes): Move the definitions from builtin-attrs.def
	before c_common_nodes_and_builtins.
	(c_common_nodes_and_builtins): Handle the new ATTRS parameter in
	DEF_BUILTIN, passing it to both builtin_function and the changed
	builtin_function_2.

	* doc/extend.texi: Document __builtin_abort, __builtin_exit,
	__builtin__exit and __builtin__Exit.

	* java/builtins.c (initialize_builtins): Ignore the additional
	parameter to DEF_BUILTIN.  Handle more C/C++ specific junk in
	the builtins.def file.

From-SVN: r55276
2002-07-06 00:16:44 +00:00
Stephane Carrez
e5eb8de83c m68hc11.md ("*movqi_68hc12"): Avoid allocating QI mode registers in soft registers.
* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
	QI mode registers in soft registers.
	("zero_extendqihi2"): Do not take into account soft registers
	for register allocation (use '*' constraint).

From-SVN: r55274
2002-07-06 00:16:38 +02:00
Jason Merrill
212e17fd89 cvt.c (cp_convert_to_pointer): Call force_fit_type for null pointers.
* cvt.c (cp_convert_to_pointer): Call force_fit_type for null
        pointers.

From-SVN: r55272
2002-07-05 18:10:25 -04:00
Stephane Carrez
4c8aed1419 m68hc11.md ("*ashlsi3"): Avoid saving y if we know it is dead.
* config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
	it is dead.
	("*ashrsi3"): Likewise.
	("*lshrsi3"): Likewise.

From-SVN: r55270
2002-07-05 23:59:17 +02:00
Vladimir Makarov
99ed68ea7f genautomata.c (output_max_insn_queue_index_def): Take latencies into account.
2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>

	* genautomata.c (output_max_insn_queue_index_def): Take latencies
	into account.

From-SVN: r55269
2002-07-05 21:40:16 +00:00
Stephane Carrez
581fd39277 m68hc11.md (peephole2): New peephole2 to optimize address computation and memory moves.
* config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
	address computation and memory moves.

From-SVN: r55267
2002-07-05 23:31:31 +02:00
Tom Tromey
0d49ec1158 re PR libgcj/7060 (getMethod() doesn't search super interface)
2002-07-04  Tom Tromey  <tromey@redhat.com>
            Jeff Sturm  <jsturm@one-point.com>

	Fix for PR libgcj/7060:
	* java/lang/Class.h (_getMethod): Renamed from getMethod.
	* java/lang/natClass.cc (_getMethod): Renamed from getMethod.
	Recurse into superinterfaces.  Don't throw NoSuchMethodException.
	* java/lang/Class.java (getMethod): New Java implementation;
	complies with spec.
	(_getMethod): New native method.

Co-Authored-By: Jeff Sturm <jsturm@one-point.com>

From-SVN: r55266
2002-07-05 20:40:11 +00:00
Mark Mitchell
9833f6792a re PR c++/6706 (ICE with variable-sized arrays and DWARF-1 output)
PR c++/6706
	* dwarfout.c (output_reg_number): Fix warning message.
	(output_bound_representation): Check SAVE_EXPR_RTL is not NULL
	before using it.

	PR c++/6706
	* g++.dg/debug/debug6.C: New test.
	* g++.dg/debug/debug7.C: New test.

From-SVN: r55264
2002-07-05 16:40:01 +00:00
Jason Merrill
7dc17098a2 re PR rtl-optimization/7145 (g++ -O with structure initializer & return value optimization generates bad code)
PR optimization/7145
        * tree.c (cp_copy_res_decl_for_inlining): Also copy DECL_INITIAL.

[[Split portion of a mixed commit.]]

From-SVN: r55262.2
2002-07-05 11:16:56 -04:00
Jason Merrill
98c07d7bd7 re PR rtl-optimization/7145 (g++ -O with structure initializer & return value optimization generates bad code)
PR optimization/7145
        * tree.c (cp_copy_res_decl_for_inlining): Also copy DECL_INITIAL.

From-SVN: r55261
2002-07-05 11:01:04 -04:00
Nathan Sidwell
5974630302 copyright date updated
From-SVN: r55260
2002-07-05 12:34:58 +00:00
Rainer Orth
81bca2f51e gcc.c (asm_debug): Move initialization ...
* gcc/gcc.c (asm_debug): Move initialization ...
	(init_spec): ... here.

From-SVN: r55259
2002-07-05 12:33:52 +00:00
Nathan Sidwell
17f44f02e7 c-parse.in (extdef): Append ';'.
* c-parse.in (extdef): Append ';'.
	(old_style_parm_decls): Append ';'.

From-SVN: r55258
2002-07-05 12:31:59 +00:00
Nathan Sidwell
c6f553d129 Repair damage on weak-impared targets caused by my previous patch.
* cp-tree.h (import_export_tinfo): Add parameter.
	* decl2.c (import_export_tinfo): Add parameter, post adjust
	DECL_COMDAT.
	* rtti.c (emit_tinfo_decl): DECL_COMDAT is (nearly) always setup by
	import_export_tinfo.

From-SVN: r55257
2002-07-05 10:40:47 +00:00
GCC Administrator
3aa0aa2966 Daily bump.
From-SVN: r55256
2002-07-05 07:17:18 +00:00
Steve Ellcey
a0af94a769 * ltcf-cxx.sh (hpux*): Modify to support ia64-*-hpux*.
From-SVN: r55250
2002-07-04 22:52:03 +00:00
Daniel Jacobowitz
da77408f4c configure.in: Correct typos...
* configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
to gcc_cv_as_gstabs_flag.
* configure: Rebuilt.

From-SVN: r55249
2002-07-04 22:43:29 +00:00
Geoffrey Keating
ec52b446cc * ggc.h (ggc_add_root): Document as obsolete.
From-SVN: r55247
2002-07-04 21:24:25 +00:00
Benjamin Kosnik
49433044e4 std_streambuf.h (basic_streambuf::_M_buf): Change to size_t, from int_type.
2002-07-04  Benjamin Kosnik  <bkoz@redhat.com>
            Jack Reeves  <jackw_reeves@hotmail.com>

	* include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to
	size_t, from int_type.
 	(basic_streambuf::_M_buf_size_opt): Same.
 	(basic_streambuf::_S_pback_sizex): Same.
	* include/bits/streambuf.tcc: Same.
	* include/std/std_streambuf.h (basic_streambuf::snextc): Use
	eq_int_type.
	(basic_streambuf::uflow): Same.
	* include/bits/sstream.tcc (basic_stringbuf::overflow): Use
	to_char_type.
	* include/bits/basic_ios.tcc (basic_ios::init): Use _CharT().
	* include/bits/streambuf.tcc (basic_streambuf::xsgetn): Use
	eq_int_type.
	(basic_streambuf::xsputn): Same.
	(__copy_streambufs): Same.

Co-Authored-By: Jack Reeves <jackw_reeves@hotmail.com>

From-SVN: r55242
2002-07-04 09:20:01 +00:00
Benjamin Kosnik
5acf59f8e1 std_memory.h: Fix formatting.
2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_memory.h: Fix formatting.
	* testsuite/20_util/auto_ptr_neg.cc: New.
	* testsuite/20_util/auto_ptr.cc: Tweaks.
	* testsuite/23_containers/map_operators.cc (test01): Split into..
	* testsuite/23_containers/map_operators_neg.cc (test01): ...this. New.
	* testsuite/23_containers/set_operators.cc: Move to...
	* testsuite/23_containers/set_operators_neg.cc: ...here.
	* testsuite/README: Add some more naming rules.

From-SVN: r55241
2002-07-04 07:25:19 +00:00
GCC Administrator
7c0f8bc1f4 Daily bump.
From-SVN: r55240
2002-07-04 07:17:50 +00:00
J"orn Rennecke
8721e3df4d sh.md (mshfhi_b, [...]): Add DONE.
* sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
	(mshflo_w): Likewise.

From-SVN: r55235
2002-07-04 08:02:48 +01:00
J"orn Rennecke
3767c0fdd6 simplify-rtx.c (simplify_subreg): Reduce problem of finding vector mode subregs of constants to finding integer...
gcc:
	* simplify-rtx.c (simplify_subreg): Reduce problem of finding
	vector mode subregs of constants to finding integer mode
	subregs of constants.
	* cse.c (cse_insn): Use simplify_gen_subreg.
	* convert.c (convert_to_integer): Don't strip a NOP_EXPR
	From a vector mode expression of different size than the
	target mode.
gcc/testsuite:
	* gcc.c-torture/compile/simd-3.c: New test.

From-SVN: r55234
2002-07-04 07:38:56 +01:00
Eric Christopher
4e314d1fde linux.h: Add #undef for SUBTARGET_CPP_SPEC.
2002-07-03  Eric Christopher  <echristo@redhat.com>

	* config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
	* config/mips/mips.h: Remove deprecated -m<processor> options
	and cc1_cpu_spec associated.
	(CONSTANT_ADDRESS_P): Fix last patch.
	(ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
	* config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
	sunge_sf): Remove.

From-SVN: r55233
2002-07-04 05:03:02 +00:00
Steev Wilcox
ec4d88f907 re PR libstdc++/7057 (Operator== on hashtables doesn't appear to work correctly (patch included))
2002-07-03  Steev Wilcox  <steev@paradigmds.com>

	PR libstdc++/7057
	* include/ext/stl_hashtable.h: Fix.
	* testsuite/ext/hash_map.cc: New.

From-SVN: r55229
2002-07-04 00:28:03 +00:00
Chris Demetriou
a6a5beb19c mangle6.C: Run for mipsisa64*-*-* targets.
2002-07-03  Chris Demetriou  <cgd@broadcom.com>

        * g++.dg/abi/mangle6.C: Run for mipsisa64*-*-* targets.
        * gcc.dg/20020620-1.c: Likewise.

From-SVN: r55228
2002-07-03 16:09:11 -07:00
Nathanael Nerode
423ce3eb95 * configure.in: Make --without-x work.
From-SVN: r55226
2002-07-03 22:50:35 +00:00
Jack Reeves
16ad69a19d re PR libstdc++/3946 (auto_ptr_ref constructor allows dangerous conversion)
2002-07-03  Jack Reeves  <jackw_reeves@hotmail.com>
            Kenny Simpson  <theonetruekenny@yahoo.com>
            Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/3946
	* testsuite/20_util/auto_ptr.cc (test08):  New test.
	* include/std/std_memory.h (auto_ref_ptr):  Make constructor explicit.
	(auto_ptr::operator auto_ptr_ref):  Fix typo.
	General reformatting and doxygenating of the whole file.

Co-Authored-By: Kenny Simpson <theonetruekenny@yahoo.com>
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>

From-SVN: r55223
2002-07-03 22:25:06 +00:00
Stan Shebs
6f0361e32e darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
* config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
        (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
        (CPP_SPEC): Remove insertion of APPLE_CC definition.

From-SVN: r55222
2002-07-03 21:50:12 +00:00
Roger Sayle
3129af4c94 combine.c (struct_undo): Change types of recorded substitutions to be either "int" or "rtx"...
* combine.c (struct_undo): Change types of recorded substitutions
	to be either "int" or "rtx", instead of "unsigned int" and "rtx".
	(do_SUBST_INT): Change types of the substitution from unsigned int
	to int, to avoid compilation warning from SUBST_INT's only caller.

	(make_extraction): Add cast to avoid compilation warning.
	(force_to_mode): Remove cast to avoid compilation warning.

From-SVN: r55221
2002-07-03 21:00:23 +00:00
Benjamin Kosnik
fcad420e8f re PR libstdc++/7097 (_GLIBCPP_HAVE_MBSTATE_T breaks non-GLIB systems)
2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7097
	* include/c/std_cwchar.h: Fix.

From-SVN: r55216
2002-07-03 17:14:21 +00:00
Eric Botcazou
c7375e612b i386.md (length_immediate attribute): Fix typo.
* i386.md (length_immediate attribute): Fix typo.
        (length_address attribute): Likewise.
        (modrm attribute): Set it to 0 for immediate call instructions.
        (jcc_1 pattern): Set modrm attribute to 0.
        (jcc_2 pattern ): Likewise.
        (jump pattern): Likewise.
        (doloop_end_internal pattern): Explicitly set length.
        (leave pattern): Fix typo.
        (leave_rex64 pattern): Likewise.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r55215
2002-07-03 11:02:39 -06:00
Kriang Lerdsuwanakij
b2153b98f2 re PR c++/6944 (missing feature on default copy-constructor for class with multi-dim arrays)
PR c++/6944
	* init.c (build_aggr_init): Remove qualifiers of init before calling
	build_vec_init.
	(build_vec_init): Flatten multi-dimensional array during cleanup.
	(build_vec_delete_1): Abort if the type of each element is array.

	* g++.dg/init/array4.C: New test.
	* g++.dg/init/array5.C: New test.

From-SVN: r55214
2002-07-03 15:46:21 +00:00
David Edelsohn
61c07d3c9b rs6000.md (fix_truncdfsi2_internal): Ignore DImode in FPR as preference.
* config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
        in FPR as preference.
        (fctiwz): Same.
        (floatdidf2, fix_truncdfdi2): Same.
        (floatdisf2, floatditf2, fix_trunctfdi2): Same.
        (floatditf2): Same.
        (floatsitf2, fix_trunctfsi2): SImode in GPR.
        (ctrdi): Remove FPR alternative and splitter.

From-SVN: r55212
2002-07-03 10:41:22 -04:00
Will Cohen
77966be34b i386.c (x86_integer_DFmode_moves): Disable for PPro.
2002-07-02  Will Cohen <wcohen@redhat.com>

	* config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.

From-SVN: r55211
2002-07-03 14:15:44 +00:00