Commit Graph

60248 Commits

Author SHA1 Message Date
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
Mark Mitchell caf43ca4ae tree.c (no_linkage_helper): Remove.
* tree.c (no_linkage_helper): Remove.
	(no_linkage_check): Don't use walk_tree_without_duplicates.

From-SVN: r84909
2004-07-19 04:02:45 +00:00
Zack Weinberg 3a7e11a39d pa.md: Delete the two remaining define_peephole patterns.
* config/pa/pa.md: Delete the two remaining define_peephole
	patterns.

From-SVN: r84908
2004-07-19 01:32:09 +00:00
GCC Administrator 11d6a97449 Daily bump.
From-SVN: r84906
2004-07-19 00:16:15 +00:00
Steven Bosscher 31ec7d2ff7 c-common.c (c_common_truthvalue_conversion): Don't warn if TREE_NO_WARNING is set.
* c-common.c (c_common_truthvalue_conversion): Don't warn if
	TREE_NO_WARNING is set.

cp/
	* cp-tree.h (C_SET_EXP_ORIGINAL_CODE): Remove.
	* decl2.c (grokfield): Don't check current_class_depth via
	unused TREE_COMPLEXITY.
	* semantics.c (finish_parenthesized_expr): Set TREE_NO_WARNING
	to avoid the missing parentheses warning.
	Don't set C_SET_EXP_ORIGINAL_CODE.

Co-Authored-By: Joseph Myers <jsm@polyomino.org.uk>

From-SVN: r84903
2004-07-18 23:57:31 +00:00
Mark Mitchell 383c9d5d29 mangle.c (write_expression): Issue a sorry for zero-operand functional casts.
* mangle.c (write_expression): Issue a sorry for zero-operand
	functional casts.

From-SVN: r84899
2004-07-18 19:32:10 +00:00
Roger Sayle 01847e9d18 builtins.c (simplify_builtin_memcmp, [...]): Delete.
* builtins.c (simplify_builtin_memcmp, simplify_builtin_strcmp,
	simplify_builtin_strncmp): Delete.
	(fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
	Change argument to accept an arglist instead of an "exp".  Assume
	that the return type is always integer_type_node.  Copy missing
	transformations from their now obsolete simplify_builtin_*
	equivalents.
	(fold_builtin_1): Pass arglist instead of exp to fold_builtin_memcmp,
	fold_builtin_strcmp and fold_builtin_strncmp.
	(simplify_builtin): Call fold_builtin_memcmp, fold_builtin_strcmp
	and fold_builtin_strncmp instead of simplify_builtin_memcmp,
	simplify_builtin_strcmp and simplify_builtin_strncmp respectively.

From-SVN: r84898
2004-07-18 17:46:16 +00:00
Daniel Jacobowitz e2d4f634d5 * Makefile.in (tree-alias-common.o): Update dependencies.
From-SVN: r84897
2004-07-18 15:29:08 +00:00
Sebastian Pop 1ad03593bd * cfgloop.c (flow_loop_nested_p): Fix comment.
From-SVN: r84896
2004-07-18 14:53:22 +00:00
Jason Merrill 5e631ba3ec re PR tree-optimization/16115 (double-destruction problem with argument passing via temporary (breaks auto_ptr))
PR c++/16115
        * stor-layout.c (relayout_decl): New fn.
        * tree.h: Declare it.
        (DECL_BY_REFERENCE): New macro.
        * cp/call.c (type_passed_as): Make the invisible reference type
        __restrict.
        * cp/cp-gimplify.c (gimplify_cleanup_stmt): Rename to
        cp_genericize_r.  Handle invisible reference lowering.
        (is_invisiref_parm): New fn.
        (cp_genericize): Adjust the types of invisible reference parms.
        Don't repeat the walk for clones.
        * cp/decl.c (store_parm_decls): Don't generate any code for clones.

From-SVN: r84895
2004-07-18 09:41:02 -04:00
Roger Sayle 94cdeb1ad3 builtins.c (max_builtin, [...]): Replace calls to build with buildN.
* builtins.c (max_builtin, min_builtin,
	java_build_function_call_expr): Replace calls to build with buildN.
	* class.c (build_class_ref, build_static_field_ref,
	get_dispatch_table, make_class_data, layout_class_method): Likewise.
	* constants.c (build_ref_from_constant_pool): Likewise.
	* decl.c (update_aliases, push_jvm_slot, poplevel, finish_method,
	add_stmt_to_compound): Likewise.
	* except.c (build_exception_object_ref, expand_end_java_handler):
	Likewise.
	* java-gimplify.c (java_gimplify_case_expr,
	java_gimplify_default_expr, java_gimplify_block,
	java_gimplify_new_array_init, java_gimplify_try_expr): Likewise.
	* jcf-write.c (generate_bytecode_insns): Likewise.
	* typeck.c (convert_ieee_real_to_integer): Likewise.

From-SVN: r84894
2004-07-18 13:17:03 +00:00
Tobias Schlüter 3d23e0184a re PR fortran/16465 (parser chokes with ffixed-line-length-7)
PR fortran/16465
* gfortran.dg/g77//ffixed-line-length-0.f,
gfortran.dg/g77/ffixed-line-length-132.f,
gfortran.dg/g77/ffixed-line-length-72.f,
gfortran.dg/g77/ffixed-line-length-none.f: Copy from g77.dg.
gfortran.dg/g77/README: Update.

From-SVN: r84892
2004-07-18 15:06:31 +02:00
Tobias Schlüter f56c5d5d5b re PR fortran/16465 (parser chokes with ffixed-line-length-7)
PR fortran/16465
* lang.opt (ffixed-line-length-none, ffixed-line-length-): New
options.
(ffixed-line-length-80, ffixed-line-length-132): Remove.
* options.c (gfc_handle_options): Deal with changed options.
* scanner.c (load_line): Change second arg to 'char **',
allocate if pointing to NULL. Keep track of buffer's length.
Adapt buffer size to overlong lines. Pad lines to full length
in fixed form.
(load_file): Adapt to new interface of load_line.

From-SVN: r84891
2004-07-18 15:00:34 +02:00
Bud Davis 9cdc381b1a configure.ac: Add check for LFS support.
2004-07-18  Bud Davis  <bdavis9659@comcast.net>
	* configure.ac: Add check for LFS support.
	* configure: Regenerate

From-SVN: r84890
2004-07-18 12:46:39 +00:00
Kriang Lerdsuwanakij 3601f00362 re PR c++/13092 (Accepts invalid pointer-to-member conversion)
PR c++/13092
	* init.c (build_offset_ref): Build SCOPE_REF with non-null
	TREE_TYPE for non-dependent names.
	* typeck.c (build_x_unary_op): Handle non-dependent SCOPE_REF.
	* pt.c (type_dependent_expression_p): Handle SCOPE_REF with
	unknown_type_node as its TREE_TYPE.
	* cxx-pretty_print.c (pp_cxx_unqualified_id): Handle BASELINK.
	* error.c (dump_decl) <SCOPE_REF case>: Use pp_expression.
	(dump_expr) <SCOPE_REF case>: Likewise.

	* g++.dg/template/non-dependent7.C: New test.
	* g++.dg/template/non-dependent8.C: Likewise.
	* g++.dg/template/non-dependent9.C: Likewise.
	* g++.dg/template/non-dependent10.C: Likewise.

From-SVN: r84889
2004-07-18 12:37:57 +00:00
Matthias Klose 605570470c configure.in: Substitute target_noncanonical.
2004-07-18  Matthias Klose  <doko@debian.org>

        * configure.in: Substitute target_noncanonical.
        * configure: Regenerate

From-SVN: r84888
2004-07-18 09:56:32 +00:00
Jason Merrill d8472c75e8 re PR tree-optimization/16115 (double-destruction problem with argument passing via temporary (breaks auto_ptr))
PR c++/16115
        * stor-layout.c (relayout_decl): New fn.
        * tree.h: Declare it.
        (DECL_BY_REFERENCE): New macro.
        * cp/call.c (type_passed_as): Make the invisible reference type
        __restrict.
        * cp/cp-gimplify.c (gimplify_cleanup_stmt): Rename to
        cp_genericize_r.  Handle invisible reference lowering.
        (is_invisiref_parm): New fn.
        (cp_genericize): Adjust the types of invisible reference parms.
        Don't repeat the walk for clones.
        * cp/decl.c (store_parm_decls): Don't generate any code for clones.

From-SVN: r84887
2004-07-18 01:44:18 -04:00
GCC Administrator b52cf5a743 Daily bump.
From-SVN: r84884
2004-07-18 00:16:11 +00:00
Eric Botcazou e7a742ec96 libgcc2.c (__enable_execute_stack): New symbol.
* libgcc2.c (__enable_execute_stack): New symbol.
	* libgcc-std.ver (GCC_3.4.2): New version.  Inherit from GCC_3.4
	and declare __enable_execute_stack.
	* mklibgcc.in (lib2funcs): Add _enable_execute_stack.
	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
	* config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
	ENABLE_EXECUTE_STACK.
	* config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
	ENABLE_EXECUTE_STACK.
	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/i386/i386.c (x86_initialize_trampoline): Conditionalize
	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
	ENABLE_EXECUTE_STACK.
	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
	(sparc64_initialize_trampoline): Likewise.
	* doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.

From-SVN: r84880
2004-07-17 21:09:14 +00:00