Commit Graph

60166 Commits

Author SHA1 Message Date
GCC Administrator
655ba9c71d Daily bump.
From-SVN: r84987
2004-07-21 00:16:12 +00:00
Giovanni Bajo
f03adc6bee re PR c++/14497 (Accepts invalid specialization of member template missing "template<>")
PR c++/14497
	* pt.c (check_explicit_specialization): Remove extension to accept
	specializations without template headers. Fall-through to normal
	processing.

	PR c++/14497
	* g++.dg/template/spec16.C: New test.
	* g++.old-deja/g++.robertl/eb118.C: Remove.

From-SVN: r84983
2004-07-21 00:13:41 +00:00
Giovanni Bajo
5fe7b6549e re PR c++/509 (G++ forbids template specialization as ambiguous)
PR c++/509
	* pt.c (determine_specialization): New parameter template_count.
	Disambiguate between member templates and member functions counting
	the template headers.
	(check_explicit_specialization): Update caller.
	(tsubst_friend_function): Likewise.

	PR c++/509
	* g++.dg/template/spec15.C: New test.

From-SVN: r84982
2004-07-21 00:06:45 +00:00
David Billinghurst
66e4969bb9 README: Update
2004-07-21  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/README: Update

From-SVN: r84981
2004-07-21 00:02:24 +00:00
David Billinghurst
d417dba9b5 Copy cases from g77.f-torture/execute and add dg-run directive.
2004-07-21  David Billinghurst (David.Billinghurst@riotinto.com)

	Copy cases from g77.f-torture/execute and add dg-run
	directive.  Other changes as noted.
	* gfortran.dg/g77/13037.f
	* gfortran.dg/g77/1832.f
	* gfortran.dg/g77/19981119-0.f
	* gfortran.dg/g77/19990313-0.f
	* gfortran.dg/g77/19990313-1.f
	* gfortran.dg/g77/19990313-2.f
	* gfortran.dg/g77/19990313-3.f
	* gfortran.dg/g77/19990419-1.f
	* gfortran.dg/g77/19990826-0.f
	* gfortran.dg/g77/19990826-2.f
	* gfortran.dg/g77/20000503-1.f
	* gfortran.dg/g77/20001111.f
	* gfortran.dg/g77/20010116.f
	* gfortran.dg/g77/20010426-1.f: Renamed from 20010426-1.f
	* gfortran.dg/g77/20010430.f
	* gfortran.dg/g77/6177.f
	* gfortran.dg/g77/947.f
	* gfortran.dg/g77/970816-3.f
	* gfortran.dg/g77/971102-1.f
	* gfortran.dg/g77/980520-1.f
	* gfortran.dg/g77/980628-0.f
	* gfortran.dg/g77/980628-1.f
	* gfortran.dg/g77/980628-10.f
	* gfortran.dg/g77/980628-2.f
	* gfortran.dg/g77/980628-3.f
	* gfortran.dg/g77/980628-7.f
	* gfortran.dg/g77/980628-8.f
	* gfortran.dg/g77/980628-9.f
	* gfortran.dg/g77/980701-0.f
	* gfortran.dg/g77/980701-1.f
	* gfortran.dg/g77/cabs.f
	* gfortran.dg/g77/claus.f
	* gfortran.dg/g77/complex_1.f
	* gfortran.dg/g77/cpp3.F: Renamed from cpp3.F
	* gfortran.dg/g77/dcomplex.f
	* gfortran.dg/g77/dnrm2.f: Add dg-warnings as required.
	* gfortran.dg/g77/f90-intrinsic-mathematical.f
	* gfortran.dg/g77/f90-intrinsic-numeric.f
	* gfortran.dg/g77/int8421.f
	* gfortran.dg/g77/labug1.f
	* gfortran.dg/g77/large_vec.f
	* gfortran.dg/g77/le.f
	* gfortran.dg/g77/short.f
	* gfortran.dg/g77/README: Update

From-SVN: r84980
2004-07-21 00:00:24 +00:00
Paul Brook
7877332264 * config/arm/arm.c (thumb_expand_prologue): Remove bogus GEN_INT.
From-SVN: r84979
2004-07-20 23:21:15 +00:00
Steven Bosscher
406d77a4bb cp-tree.def (TINST_LEVEL): Make it an 'x' node.
* cp-tree.def (TINST_LEVEL): Make it an 'x' node.
	* cp-tree.h (tinst_level_t): New tree type.
	(union lang_tree_node): Handle it.
	(TINST_LOCATION): New accessor macro.
	(make_tinst_level): New prototype.
	* cp-lang.c (cp_tree_size): Handle TINST_LEVEL.
	* decl.c (cp_tree_node_structure): Likewise.
	* error.c (print_instantiation_full_context): Use TINST_LOCATION.
	(print_instantiation_partial_context): Likewise.
	* pt.c (pop_tinst_level): Likewise.
	 (push_tinst_level): Use make_tinst_level.
	* tree.c (make_tinst_level): New function.
	(cp_walk_subtrees): Walk TINST_DECL for a TINST_LEVEL node.

From-SVN: r84977
2004-07-20 23:20:08 +00:00
Zack Weinberg
3e95a7cbf5 rtl.h (plus_constant): Delete.
* rtl.h (plus_constant): Delete.
	(plus_constant_wide): Rename to plus_constant.
	(plus_constant_for_output_wide): Delete vestigial prototype.
	(GEN_INT): Remove unnecessary cast.
	* tree.h (build_int_2, size_int_type): Delete.
	(build_int_2_wide): Rename to build_int_2.
	(size_int_wide): Rename to size_int_kind.
	(size_int_type_wide): Rename to size_int_type.
	(size_int, ssize_int, bitsize_int, sbitsize_int): Use size_int_kind.
	Remove unnecessary cast.
	* tree.c (build_int_2_wide): Rename build_int_2; update comment.
	* explow.c (plus_constant_wide): Rename plus_constant; update comment.
	* fold-const.c (size_int_wide): Rename size_int_kind. Use size_int_type.
	(size_int_type_wide): Rename size_int_type.
	(int_const_binop): Use size_int_type.
	* c-lex.c (interpret_integer): Use build_int_2.
	* final.c (split_double): Remove unnecessary casts.
	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use build_int_2.

From-SVN: r84976
2004-07-20 23:02:36 +00:00
Richard Henderson
1479707591 gimplify.c (is_gimple_tmp_var): Move to tree-gimple.c.
* gimplify.c (is_gimple_tmp_var): Move to tree-gimple.c.
        (gimplify_compound_lval): Use is_gimple_tmp_reg.
        * tree-gimple.c (is_gimple_tmp_var): Move from gimplify.c.
        (is_gimple_tmp_reg): New.
        * tree-gimple.h (is_gimple_tmp_reg): Declare.

From-SVN: r84975
2004-07-20 15:47:58 -07:00
Richard Henderson
40a37b0473 tree-pretty-print.c (dump_generic_node): Dump CALL_EXPR_HAS_RETURN_SLOT_ADDR.
* tree-pretty-print.c (dump_generic_node): Dump
        CALL_EXPR_HAS_RETURN_SLOT_ADDR.

From-SVN: r84974
2004-07-20 15:43:41 -07:00
Nathan Sidwell
3cbf09de66 vec.h (VEC_T_length, [...]): Use unsigned, not size_t.
* vec.h (VEC_T_length, VEC_T_index, VEC_T_iterate, VEC_T_truncate,
	VEC_T_replace, VEC_T_quick_insert, VEC_T_safe_insert,
	VEC_T_ordered_remove, VEC_T_unordered_remove): Use unsigned, not
	size_t.
	(struct VEC): Use unsigned for num and alloc.
	* vec.c (struct vec_prefix): Likewise.
	(vec_o_reserve): Adjust.

From-SVN: r84973
2004-07-20 20:25:02 +00:00
Frank Ch. Eigler
5d33f41f03 tree-mudflap.c (mf_set_options_fndecl): New tree.
2004-07-20  Frank Ch. Eigler  <fche@redhat.com>

	* tree-mudflap.c (mf_set_options_fndecl): New tree.
	(mudflap_init): Set it.
	(mudflap_register_call): Remove __mf_init call.
	(mudflap_finish_file): Emit call to __mf_init here.  Emit a call to
	to pass "-ignore-reads" option to libmudflap if needed.

From-SVN: r84972
2004-07-20 20:01:12 +00:00
Frank Ch. Eigler
a082fc7afc mf-impl.h (__mf_options): Add ignore_reads and timestamps fields.
2004-07-20  Frank Ch. Eigler  <fche@redhat.com>

	* mf-impl.h (__mf_options): Add ignore_reads and timestamps fields.
	* mf-runtime.c (options): Give them a name.
	(__mf_set_default_options): Set them.
	(__mf_insert_new_object, __mfu_unregister): Optionalize timestamps.
	(__mf_violation): Warning cleanup.
	* mf-impl.h (MF_VALIDATE_EXTENT): Support ignore_reads option.
	* splay-tree.c (splay_tree_delete_helper): Remove obsolete decl.

From-SVN: r84971
2004-07-20 20:00:56 +00:00
John David Anglin
9a55eab313 re PR c++/14607 (Duplicate symbol "vtable for node" in files div.o and env.o)
PR c++/14607
	* config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY): Define.
	(MAKE_DECL_ONE_ONLY): Undefine.
	* pa-protos.h (som_text_section_asm_op, one_only_readonly_data_section,
	readonly_data, one_only_data_section, forget_section): New prototypes.
	* pa.c (pa_init_machine_status, som_text_section_asm_op): New
	functions.
	(pa_select_section): Add one-only (COMDAT) support.
	* pa.h (struct machine_function): Define.
	* som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete.
	(TEXT_SECTION_ASM_OP): Call som_text_section_asm_op.
	(DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
	ONE_ONLY_TEXT_SECTION_ASM_OP, ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
	ONE_ONLY_DATA_SECTION_ASM_OP): New defines.
	(EXTRA_SECTIONS): Add in_one_only_readonly_data and in_one_only_data.
	(EXTRA_SECTION_FUNCTIONS): Rework to use individual function macros.
	(READONLY_DATA_FUNCTION, ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
	ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New defines
	for EXTRA_SECTION_FUNCTIONS.
	* doc/install.texi: Update binutils requirements.

From-SVN: r84970
2004-07-20 19:52:11 +00:00
Mark Mitchell
da7404533a * parser.c (cp_parser_simple_type_specifier): Fix typo.
From-SVN: r84966
2004-07-20 19:13:36 +00:00
Mark Mitchell
f68e4dc883 re PR c++/16637 (syntax error on valid input code)
PR c++/16637
	* parser.c (cp_parser_simple_type_specifier): Do not record usage
	of globally-qualified names.

	PR c++/16637
	* g++.dg/parse/lookup4.C: New test.

From-SVN: r84965
2004-07-20 17:58:43 +00:00
Bryce McKinlay
f82bb1bed3 re PR libgcj/16591 (Missing '#ifndef DISABLE_MAIN_ARGS' in _Jv_RunMain (libjava/prims.cc))
2004-07-20  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/16591
	* prims.cc (_Jv_RunMain): Don't call _Jv_SetArgs if
	DISABLE_MAIN_ARGS is defined.

From-SVN: r84964
2004-07-20 18:57:58 +01:00
Bryce McKinlay
f6bbce40a3 Socket.java (getImpl): Now private.
2004-07-20  Bryce McKinlay  <mckinlay@redhat.com>

	* java/net/Socket.java (getImpl): Now private. Remove comment.

From-SVN: r84963
2004-07-20 18:48:35 +01:00
Kriang Lerdsuwanakij
e9f7dd36d5 re PR c++/16175 (Wrong type reported in diagnostic)
PR c++/16175
	* error.c (dump_type) <BOUND_TEMPLATE_TEMPLATE_PARM case>: Output
	cv qualifier.

	* g++.dg/template/ttp10.C: New test.

From-SVN: r84961
2004-07-20 16:02:13 +00:00
Bryce McKinlay
8246c7784b BufferedWriter.java (BufferedWriter): Use existing lock of chained Writer when calling super-constructor.
2004-07-20  Bryce McKinlay  <mckinlay@redhat.com>

	* java/io/BufferedWriter.java (BufferedWriter): Use existing lock
	of chained Writer when calling super-constructor.
	* java/io/FilterWriter.java (FilterWriter): Likewise.
	* java/io/PrintWriter.java (PrintWriter): Likewise.

From-SVN: r84959
2004-07-20 16:51:11 +01:00
Bryce McKinlay
b4ffdef7aa prims.cc (process_gcj_properties): Don't increment i within LHS of assignment.
2004-07-19  Bryce McKinlay  <mckinlay@redhat.com>

	* prims.cc (process_gcj_properties): Don't increment i within LHS
	of assignment.

From-SVN: r84957
2004-07-20 16:36:56 +01:00
Mark Mitchell
fb23247680 re PR c++/16623 (g++ ICE in tsubst_decl:6081)
PR c++/16623
	* cp-tree.h (lang_type_class): Add lazy_assignment_op.
	(CLASSTYPE_LAZY_ASSIGNMENT_OP): New macro.
	* class.c (add_implicitly_declared_members): Use
	CLASSTYPE_LAZY_ASSIGNMENT_OP.
	* method.c (lazily_declare_fn): Clear
	CLASSTYPE_LAZY_ASSIGNMENT_OP.
	* search.c (lookup_fnfields_1): Check it.

From-SVN: r84956
2004-07-20 15:36:08 +00:00
Nathan Sidwell
bd65c56456 * dbxout.c (dbxout_type): Fix printf format.
From-SVN: r84955
2004-07-20 15:14:15 +00:00
Joseph Myers
a182b26d35 * gcc.dg/pr12625-1.c: New test.
From-SVN: r84953
2004-07-20 15:58:02 +01:00
Nathan Sidwell
b396053cdf tree.h (binfo_member): Remove.
.:	* tree.h (binfo_member): Remove.
	* tree.c (binfo_member): Remove.
cp:
	* cp-tree.h (vec_binfo_member): Remove.
	* tree.c (vec_binfo_member): Remove.

From-SVN: r84951
2004-07-20 13:56:19 +00:00
Nathan Sidwell
bcb1079efd cp-tree.h (struct lang_type_class): Remove vfields field.
* cp-tree.h (struct lang_type_class): Remove vfields field.
	(CLASSTYPE_VFIELDS): Remove.
	(SET_BINFO_NEW_VTABLE_MARKED): Adjust.
	* class.c (determine_primary_base): Remove CLASSTYPE_VFIELDS
	handling.
	(dfs_modify_vtables): Use TYPE_CONTAINS_VPTR_P.
	(finish_struct_1): Remove CLASSTYPE_VFIELDS handling.
	* init.c (dfs_initialize_vtbl_ptrs): Use TYPE_CONTAINS_VPTR_P.

From-SVN: r84950
2004-07-20 13:46:43 +00:00
Nathan Sidwell
fa743e8cda tree.h: Include vec.h
.:	* tree.h: Include vec.h
	(DEF_VEC_P(tree)): New type.
	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust.
	(BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New.
	(BINFO_LANG_SLOT): Remove.
	(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New.
	(struct tree_binfo): Turn base_binfos into a trailing
	VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields.
	(binfo_lang_slots): Remove.
	* tree.c (binfo_lang_slots): Remove.
	(make_tree_binfo_stat): Take a base binfo count, not a
	lang slot count.  Adjust.
	* Makefile.in (TREE_H): Add vec.h
	* alias.c (record_component_aliases): Adjust BINFO access.
	* dbxout.c (dbxout_type): Likewise.
	* dwarf2out.c (gen_member_die): Likewise.
	* sdbout.c (sdbout_one_type): Likewise.
	* tree-dump.c (deque_and_dump): Likewise.
	* config/i386/i386.c (classify_argument,
	contains_128bit_aligned_vector_p): Likewise.
	* config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise.
	* doc/c-tree.texi (Classes): Update BINFO documentation.
cp:
	* cp-tree.h (DEF_VEC_P(tree)): Remove here.
	(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF):
	Moved to common.
	(BINFO_LANG_SLOTS): Remove.
	* tree.c (copy_binfo): Adjust BINFO creation and accessors.
	* decl.c (xref_basetypes): Adjust BINFO creation and accessors.
	* class.c (check_bases): Adjust BINFO accessors.
	(determine_primary_base, finish_struct_bits,
	maybe_warn_about_overly_private_class, warn_hidden,
	walk_subobject_offsets, propagate_binfo_offsets, end_of_class,
	warn_about_ambiguous_bases, get_vfield_name,
	dump_class_hierarchy_r, build_vtt_inits, accumulate_vtbl_inits,
	add_vcall_offset_vtbl_entries_r): Likewise.
	* dump.c (cp_dump_tree): Likewise.
	* init.c (sort_mem_initializers, expand_member_init, build_delete,
	push_base_cleanups): Likewise.
	* method.c (do_build_copy_constructor, do_build_assign_ref,
	synthesize_exception_spec): Likewise.
	name-lookup.c (arg_assoc_class): Likewise.
	* pt.c (instantiate_class_template,
	get_template_base_recursive): Likewise.
	* rtti.c (get_pseudo_ti_init, get_pseudo_ti_desc): Likewise.
	* typeck2.c (process_init_constructor): Likewise.
	* search.c (lookup_base_r, dynamic_cast_base_recurse,
	dfs_access_in_type, dfs_walk_real, look_for_overrides,
	types_overlap_p, copied_binfo, original_binfo): Likewise.
	(binfo_for_vtable): Remove
java:
	* class.c (add_interface_do): Remove.
	(set_super_info, interface_of_p, maybe_add_interface,
	add_interface, make_class_data, layout_class,
	add_miranda_methods): Adjust BINFO accessors and addition.
	* expr.c (can_widen_reference_to, lookup_field): Adjust BINFO
	accessors.
	* jcf-write.c (generate_classfile): Likewise.
	* parse.y (patch_anonymous_class, check_inner_circular_reference,
	check_circular_reference, java_complete_class,
	check_abstract_method_definitions,
	java_check_abstract_method_definitions,
	check_interface_throws_clauses, java_check_abstract_methods,
	lookup_java_interface_method2,
	find_applicable_accessible_methods_list): Adjust BINFO accessors
	and addition.
	* typeck.c (find_method_in_interfaces): Adjust BINFO accessors.

From-SVN: r84949
2004-07-20 12:26:02 +00:00
Arnaud Charlet
35ae2ed814 [multiple changes]
2004-07-20  Olivier Hainque  <hainque@act-europe.fr>

	* a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
	allocation and potentially overflowing update with
	Tailored_Exception_Information. Use the sec-stack free procedural
	interface to output Exception_Information instead.

	* a-except.adb (To_Stderr): New subprogram for character, and string
	version moved from a-exextr to be visible from other separate units.
	(Tailored_Exception_Information): Remove the procedural version,
	previously used by the default Last_Chance_Handler and not any more.
	Adjust various comments.

	* a-exexda.adb: Generalize the exception information procedural
	interface, to minimize the use of secondary stack and the need for
	local buffers when the info is to be output to stderr:
	(Address_Image): Removed.
	(Append_Info_Character): New subprogram, checking for overflows and
	outputing to stderr if buffer to fill is of length 0.
	(Append_Info_String): Output to stderr if buffer to fill is of length 0.
	(Append_Info_Address, Append_Info_Exception_Name,
	Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
	Append_Info_Basic_Exception_Traceback,
	Append_Info_Exception_Information): New subprograms.
	(Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
	(Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
	Exception_Info_Maxlength, Exception_Name_Length,
	Exception_Message_Length): New subprograms.
	(Exception_Information): Use Append_Info_Exception_Information.
	(Tailored_Exception_Information): Use
	Append_Info_Basic_Exception_Information.
	Export services for the default Last_Chance_Handler.

	* a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
	other separate units.

2004-07-20  Vincent Celier  <celier@gnat.com>

	* clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.

2004-07-20  Ed Schonberg  <schonberg@gnat.com>

	* freeze.adb (Freeze_Entity): If entity is a discriminated record type,
	emit itype references for the designated types of component types that
	are declared outside of the full record declaration, and that may
	denote a partial view of that record type.

2004-07-20  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15607
	* sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
	which is the designated type in an access component declaration, to the
	list of incomplete dependents of the parent type, to avoid elaboration
	issues with out-of-scope subtypes.
	(Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
	full view of the parent.

2004-07-20  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15610
	* sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
	entities that are hidden, such as references to generic actuals
	outside an instance.

2004-07-20  Javier Miranda  <miranda@gnat.com>

	* sem_ch4.adb (Try_Object_Operation): New subprogram that gives
	support to the new notation.
	(Analyze_Selected_Component): Add call to Try_Object_Operation.

2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>

	* s-taprob.adb: Adding the elaboration code required for initializing
	the tasking soft links that are common to the full and the restricted
	run times.

	* s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
	restricted run time has been moved to the package
	System.Soft_Links.Tasking.

	* s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
	restricted run time has been moved to the package
	System.Soft_Links.Tasking.

	* Makefile.rtl: Add entry for s-solita.o in run-time library list.

	* s-solita.ads, s-solita.adb: New files.

2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
	Case_Statement_to_gnu): Split off from gnat_to_gnu.
	(Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
	Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
	Exception_Handler_to_gnu_zcx): Likewise.

From-SVN: r84948
2004-07-20 12:26:51 +02:00
Steven Bosscher
a6c0a76c5f c-common.h (check_case_value): Remove prototype.
* c-common.h (check_case_value): Remove prototype.
        (c_add_case_label): Adjust prototype.
        * c-common.c (check_case_value): Make static.
        (check_case_bounds): New function.
        (c_add_case_label): Use it.  Take new argument orig_type.
        * c-typeck.c (struct c_switch): New orig_type field.
        (c_start_case): Set it.
        (do_case): Pass it to c_add_case_label.
        * expr.c (expand_expr_real_1): Don't warn for out-of-bounds
        cases from here.  Add the labels in reverse order.
        * stmt.c (struct case_node): Adjust comment.  Remove balance field.
        (add_case_node): Return nothing, don't check for duplicate cases.
        Insert new case nodes in a list, not in an AVL tree.
        (expand_end_case_type): Don't turn a case tree into a case list.
        (case_tree2list): Remove.
        * tree.h (add_case_node): Adjust prototype.

cp/
        * cp-tree.h (struct lang_decl_flags): Unify the template_info and
        thunk_alias, and the access and virtual_offset fields.
        (THUNK_VIRTUAL_OFFSET, THUNK_ALIAS): Adjust.
        * decl.c (finish_case_label): Update c_add_case_node call.

testsuite/
	* testsuite/gcc.dg/switch-warn-1.c: New test.
	* testsuite/gcc.dg/switch-warn-2.c: New test.
        * gcc.c-torture/compile/pr14730.c: Update

From-SVN: r84947
2004-07-20 09:57:13 +00:00
Danny Smith
5794581363 * include/c_std/std_cwchar.h (wcsstr): Correct signature.
From-SVN: r84945
2004-07-20 08:47:42 +00:00
Paolo Bonzini
fa0aee8996 genattr.c (struct range, [...]): Remove them.
2004-07-19  Paolo Bonzini  <bonzini@gnu.org>

	* genattr.c (struct range, struct function_unit,
	write_units, extend_range, init_range): Remove them.
	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
	Output "#define INSN_SCHEDULING" here.
	* genattrtab.c (struct range, struct function_unit_op,
	struct function_unit, struct dimension, enum operator,
	operate_exp, expand_units, simplify_knowing,
	encode_units_mask, simplify_by_exploding,
	find_and_mark_used_attributes, unmark_used_attributes,
	add_values_to_cover, increment_current_value,
	test_for_current_value, simplify_with_current_value,
	simplify_with_current_value_aux, gen_unit,
	write_unit_name, write_function_unit_info,
	write_complex_function, write_toplevel_expr,
	find_single_value, extend_range): Remove.
	(write_attr_get): Do not handle common_av->value
	being an FFS.
	(struct attr_desc): Remove func_units_p and blockage_p.
	(write_attr_valueq): Do not handle them.
	(find_attr): Do not clear them.
	(make_internal_attr): Do not initialize them.
	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
	* sched-vis.c (init_target_units, insn_print_units,
	init_block_visualization, print_block_visualization,
	visualize_scheduled_insns, visualize_no_unit,
	visualize_stall_cycles, visualize_alloc,
	visualize_free, target_units, get_visual_tbl_length,
	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines,
	visual_tbl_line_length, visual_tbl, n_vis_no_unit,
	MAX_VISUAL_NO_UNIT, vis_no_unit): Remove.
	* haifa-sched.c (blockage_range, clear_units,
	schedule_unit, actual_hazard, potential_hazard,
	insn_unit, unit_last_insn, unit_tick,
	actual_hazard_this_instance, potential_hazard,
	schedule_unit, max_insn_queue_index_value): Remove.
	(MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to
	max_insn_queue_index.
	* rtl.def (DEFINE_FUNCTION_UNIT): Remove.
	* doc/md.texi (Processor pipeline description): Remove
	references to old pipeline descriptions.
	(Automaton pipeline description): Merge with the above.
	(Old pipeline description, Comparison of the two descriptions):
	Remove.

	* bt-load.c (migrate_btr_def): Remove references to
	use_pipeline_interface.
	* haifa-sched.c (insn_cost, schedule_insn,
	schedule_block, advance_one_cycle, sched_init,
	queue_to_ready, sched_finish): Likewise.
	* modulo-sched.c (sms_schedule, advance_one_cycle,
	ps_has_conflicts): Likewise.
	* sched-rgn.c (init_ready): Likewise.
	(debug_dependencies): Likewise, and remove an "if (1)".
	* target.h (use_dfa_pipeline_interface): Remove.
	* config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.

From-SVN: r84944
2004-07-20 07:27:18 +00:00
Mark Mitchell
31aedc36c0 Revert patch for PR c++/16623.
From-SVN: r84942
2004-07-20 02:46:38 +00:00
Kelley Cook
e05de6f246 Remove DOS style trailing Carriage Returns
From-SVN: r84941
2004-07-20 00:34:03 +00:00
GCC Administrator
a57c6d6b63 Daily bump.
From-SVN: r84939
2004-07-20 00:16:14 +00:00
Benjamin Kosnik
e5ab07bb82 re PR libstdc++/15488 (possibly insufficient file permissions for executing test suite)
2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/15488
	* testsuite/lib/libstdc++.exp (v3-copy-files): Revert.

From-SVN: r84935
2004-07-19 23:11:03 +00:00
Bryce McKinlay
932c738d20 jartool.c (main): Ensure that only one of ftruncate and _chsize is used.
2004-07-19  Bryce McKinlay  <mckinlay@redhat.com>

	* jartool.c (main): Ensure that only one of ftruncate and _chsize
	is used.

From-SVN: r84931
2004-07-19 21:41:03 +01:00
Roger Sayle
4f1605d2ca * rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call.
From-SVN: r84930
2004-07-19 20:24:59 +00:00
Bryce McKinlay
fab6228541 re PR java/16472 (jartool.c uses ftruncate, nonexistant on mingw32)
2004-07-11  Bryce McKinlay  <mckinlay@redhat.com>

	PR java/16472
	* configure.ac: Check for ftruncate() and _chsize().
	* jartool.c (main): Use _chsize if ftruncate not available.
	* configure, config.h.in: Rebuilt.

From-SVN: r84929
2004-07-19 21:08:20 +01:00
Mark Mitchell
43fa0f09d9 re PR c++/16623 (g++ ICE in tsubst_decl:6081)
PR c++/16623
	* cp-tree.h (lang_type_class): Add lazy_assignment_op.
	(CLASSTYPE_LAZY_ASSIGNMENT_OP): New macro.
	* class.c (add_implicitly_declared_members): Use
	CLASSTYPE_LAZY_ASSIGNMENT_OP.
	* method.c (lazily_declare_fn): Clear
	CLASSTYPE_LAZY_ASSIGNMENT_OP.
	* search.c (lookup_fnfields_1): Check it.

	PR c++/16623
	* g++.dg/template/assign1.C: New test.

From-SVN: r84928
2004-07-19 19:28:09 +00:00
Jeff Law
28c008bb89 tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New.
* tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New.
        (get_eq_expr_value): Use it.  Simplify slightly.

From-SVN: r84927
2004-07-19 13:01:55 -06:00
Per Bothner
963ddbd50f Print -verbose:message on "loading", not initialization.
* java/lang/Class.h (JV_STATE_LOADED, JV_STATE_COMPILED):  Swap order.
	* defineclass.cc (_Jv_ClassReader::parse):  Print message if
	gcj::verbose_class_flag.
	* java/lang/natClass.cc (initializeClass):  Don't print message here.
	* java/lang/natClassLoader.cc (_Jv_WaitForState):  If state was
	_JV_STATE_COMPILED, set to JV_STATE_LOADED and may print message.
	(_Jv_PrepareCompiledClass):  Likewise.

From-SVN: r84926
2004-07-19 11:29:31 -07:00
Maciej W. Rozycki
b06f03362f mips.md (mulsidi3_32bit_r4000): Fix the clobber list.
* config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list.
	(umulsidi3_32bit_r4000): Likewise.

From-SVN: r84925
2004-07-19 17:28:48 +00:00
Nathan Sidwell
9ba5ff0f25 vec.h: Propagate location information properly.
.:	* vec.h: Propagate location information properly.
	(VEC_T_iterate): Add result pointer parameter.
	(VEC_T_space): New.
	(VEC_T_reserve): Use it.
cp:
	* class.c (add_method): Delay adding the slot until the end.
	(determine_primary_base): Adjust VEC_iterate invokation.
	(resort_type_method_vec, finish_struct_methods, warn_hidden,
	walk_subobject_offsets, end_of_class, warn_about_ambiguous_bases,
	build_vtbl_initializer): Likewise.
	* init.c (sort_mem_initializers, build_delete, push_base_cleanups,
	build_vbase_delete): Likewise.
	* method.c (do_build_copy_constructor): Likewise.
	* name-lookup.c (new_class_binding, print_binding_level,
	poplevel_class, store_class_bindings, push_to_top_level,
	pop_from_top_level): Likewise.
	* pt.c (check_explicit_specialization): Likewise.
	* search.c (lookup_conversion_operator, lookup_fnfields_1,
	get_pure_virtuals, add_conversions, dfs_check_overlap,
	binfo_for_vbase): Likewise.

From-SVN: r84924
2004-07-19 15:45:53 +00:00
Kriang Lerdsuwanakij
6df91b0004 re PR c++/12170 (ICE in cp_type_quals)
PR c++/12170
	* pt.c (unify) <BOUND_TEMPLATE_TEMPLATE_PARM case>: Use only
	innermost set of template arguments during deduction.  Simplify.

	* g++.dg/template/ttp9.C: New test.

From-SVN: r84921
2004-07-19 15:03:58 +00:00
Daniel Jacobowitz
a2bec81863 Makefile.in (c-format.o): Depend on c-format.h.
gcc/
	* Makefile.in (c-format.o): Depend on c-format.h.
	* c-format.h: New file.
	(struct format_char_info): Add CHAIN member.
	* c-format.c: Move some types and constants to c-format.h.
	(format_type_error): Set to -1.
	(struct function_format_info): Use an int for format_type.
	(decode_format_type): Return an int.  Return format_type_error
	on error.
	(print_char_table, asm_fprintf_char_table, gcc_diag_char_table)
	(gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table)
	(scan_char_table, time_char_table, monetary_char_table): Initialize
	CHAIN to NULL.
	(n_format_types): New variable.
	(check_format_info_main): Handle CHAIN in format_char_info.
	(handle_format_attribute): Handle TARGET_FORMAT_TYPES and
	TARGET_N_FORMAT_TYPES.
	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
	(sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c.
	* config/sol2-c.c: New file.
	* config/t-sol2: New file.
	* config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define.
	* config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine
	TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES.

	* doc/extend.texi (Target Format Checks): New section.
	(Function Attributes): Mention it.
	* doc/invoke.texi: Mention target format checks.
	* doc/sourcebuild.texi: Mention target format checks.
	* dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and
	TARGET_FORMAT_TYPES.
testsuite/
	* gcc.dg/format/cmn-err-1.c: New test.

From-SVN: r84920
2004-07-19 14:48:09 +00:00
Andreas Krebbel
a38e09bc21 s390-protos.h (s390_return_address_offset): Prototype added.
2004-07-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390-protos.h (s390_return_address_offset): Prototype
	added.
	* config/s390/s390.c (regclass_map initializer): Register 35 added to
	ADDR_REGS.
	(load_multiple_operation, store_multiple_operation): Removed
	pointless sanity check.
	(s390_decompose_address): Added check for return_address_pointer_rtx.
	(s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0.
	(s390_return_address_offset): New function.
	* config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36.
	(FRAME_REGNO_P): Added check for register 35.
	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
	REG_ALLOC_ORDER): Appended entry for register 35.
	(REG_CLASS_CONTENTS): Adjusted class masks for register 35.
	(EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx.
	(RETURN_ADDRESS_POINTER_REGNUM): New macro.
	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer
	is eliminable using stack pointer or hard frame pointer.
	(REGISTER_NAMES): Added name for register 35.
	* config/s390/s390.md ("load_multiple", "store_multiple"): Removed
	pointless sanity check.

From-SVN: r84918
2004-07-19 13:59:49 +00:00
Roger Sayle
adb8e07e68 fold-const.c (tree_expr_nonzero_p): Add function prototype.
* fold-const.c (tree_expr_nonzero_p): Add function prototype.
	(fold) <EQ_EXPR>: Move tree_expr_nonzero_p optimization from
	fold_relational_const to here, i.e. "(x | 5) == 0" -> false.
	(fold) (UNEQ_EXPR>: Add optimizations for unordered comparisons
	of the form "x op x" where op is UNLE, UNGE, UNEQ or LTGT.
	(fold_relational_const): Tidy up handling of floating point
	comparisons by calling real_compare.  Remove tree_expr_nonzero_p
	transformation; fold_relational_const assumes constant operands.

From-SVN: r84916
2004-07-19 12:45:44 +00:00
Gabriel Dos Reis
3c95eb0ebf sourcebuild.texi: Add libcpp, now that CPP has its own directory.
2004-07-19  Gabriel Dos Reis  <gdr@integrable-solution.net>

        * doc/sourcebuild.texi: Add libcpp, now that CPP has its own
        directory.

From-SVN: r84912
2004-07-19 09:09:54 +00:00
Joseph Myers
487a92fed2 c-tree.h (struct c_expr): Define.
* c-tree.h (struct c_expr): Define.
	(C_SET_EXP_ORIGINAL_CODE): Remove.
	(parser_build_binary_op, build_compound_expr): Update prototypes.
	* c-parse.in (%union): Add exprtype.
	(FUNC_NAME): Mark as ttype.
	(expr, expr_no_commas, cast_expr, unary_expr, primary): Change to
	exprtype.
	(expr): Update.  Define directly in terms of expr_no_commas
	instead of using nonnull_exprlist.
	(nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary,
	offsetof_member_designator, typespec_nonreserved_nonattr, init,
	initval, designator, component_declarator,
	component_notype_declarator, enumerator, array_declarator,
	condition, exexpr, switch_statement, stmt_nocomp, stmt,
	nonnull_asm_operands, ivar_declarator, receiver): Update.  Don't
	set C_EXP_ORIGINAL_CODE.  Use TREE_NO_WARNING for assignments
	where appropriate.
	* c-common.h (C_EXP_ORIGINAL_CODE): Remove.
	* c-common.c (c_common_truthvalue_conversion): Don't check
	C_EXP_ORIGINAL_CODE.
	* c-typeck.c (parser_build_binary_op): Use c_expr structures.
	Don't use C_EXP_ORIGINAL_CODE.
	(default_conversion, default_function_array_conversion): Don't use
	C_EXP_ORIGINAL_CODE.  Preserve TREE_NO_WARNING.
	(internal_build_compound_expr): Merge into build_compound_expr.
	(build_compound_expr): Take two operands instead of a TREE_LIST.
	* objc/objc-act.c (get_super_receiver): Update calls to
	build_compound_expr.

cp:
	* typeck.c (build_modify_expr, build_x_modify_expr): Set
	TREE_NO_WARNING on assignments with an operator other than '='.

testsuite:
	* g++.dg/warn/Wparentheses-1.C, g++.dg/warn/Wparentheses-2.C,
	gcc.dg/Wparentheses-10.c: New tests.
	* gcc.dg/Wparentheses-5.c: Remove XFAILs.

From-SVN: r84911
2004-07-19 09:38:52 +01:00
Paolo Bonzini
2de7ffa72b sh.c (sh_use_dfa_interface): Remove.
2004-07-19  Paolo Bonzini  <bonzini@gnu.org>

	* config/sh/sh.c (sh_use_dfa_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to
	hook_int_void_1.
	* config/sh/sh.md: Extract pipeline descriptions
	into separate files.
	* config/sh/sh1.md: New file, extracted from sh.md.
	* config/sh/sh4.md: New file, extracted from sh.md.
	* config/sh/shmedia.md: New file, extracted from sh.md
	and rewritten using new-style pipeline description.

From-SVN: r84910
2004-07-19 07:11:39 +00:00