Commit Graph

61304 Commits

Author SHA1 Message Date
Richard Sandiford
aae0609ca9 mips.md (ANYF, SCALARF): New mode macros.
* config/mips/mips.md (ANYF, SCALARF): New mode macros.
	(loadx, storex, fmt, UNITMODE): New mode attributes.
	(add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
	(mul[sd]f3): Redefine using :SCALARF.
	(*mul[sd]f3): Renamed from mul[sd]f3_internal.  Use :SCALARF.
	(*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
	(*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns.  Use :ANYF.
	Check TARGET_FUSED_MADD for V2SF too.
	(*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
	were already named.
	(abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
	(*[sl][wd]xc1_[sd]i): Redefine using :ANYF.

From-SVN: r86720
2004-08-29 11:41:51 +00:00
Richard Sandiford
74fc61d171 mips.c (mips_init_builtins): Simplify.
* config/mips/mips.c (mips_init_builtins): Simplify.  Only create
	V2SF_type_node if it will be needed.

From-SVN: r86718
2004-08-29 11:25:19 +00:00
Richard Sandiford
ff55fb9cb6 mips.h (MIPS_CMP_MOVT, [...]): Delete.
* config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
	* config/mips/mips.c (mips_prepare_builtin_arg): New function.
	(mips_prepare_builtin_target): New function.
	(mips_expand_builtin): Use them.  Update calls to subroutines.
	(mips_expand_ps_cond_move_builtin): Use the new functions.  Replace
	cmp_choice with a boolean argument to select between movt and movf.
	Take the comparison's icode as an argument, not the function's fcode.
	(mips_expand_compare_builtin): New function.  Rename existing function
	to mips_expand_scalar_compare_builtin.
	(mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
	(mips_expand_ps_compare_builtin): Use the new functions.  Take the
	comparison's icode as an argument, not the builtin's fcode.

From-SVN: r86716
2004-08-29 11:10:05 +00:00
Richard Sandiford
f691c4e3d1 mips.c (print_operand): Remove '%Y' and '%y'.
* config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
	(mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
	registers are false and -1 if all registers are true.
	(mips_expand_ps_compare_builtin): Likewise CCV2.  Use subregs for
	MIPS_CMP_UPPER and MIPS_CMP_LOWER.
	* config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
	(bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
	(bc1any2t, bc1any2f): Likewise CCV2.
	(bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.

From-SVN: r86715
2004-08-29 10:30:33 +00:00
Richard Sandiford
491357065f mips.md (UNSPEC_MOVE_TF_PS): New.
* config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
	* config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
	UNSPEC rather than an IF_THEN_ELSE.
	* config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
	mips_cond_move_tf_ps by name.

From-SVN: r86714
2004-08-29 10:01:28 +00:00
Chao-ying Fu
06a4ab7022 mips-modes.def (V2SF, CCV2, CCV4): New modes.
2004-08-29  Chao-ying Fu  <fu@mips.com>
	    James E Wilson  <wilson@specifixinc.com>

	* config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
	8 byte size and alignment.  Give CCV4 16 byte size and alignment.
	* config/mips/mips-ps-3d.md: New file.
	* config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
	TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
	(mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
	(mips_output_move): Emit "mov.ps" for V2SFmode.
	(mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
	MODE_VECTOR_FLOAT.
	(override_options): Check if TARGET_MIPS3D and there was an explicit
	!TARGET_PAIRED_SINGLE_FLOAT.  Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
	Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
	TARGET_PAIRED_SINGLE_FLOAT is true.  Check if the ISA supports
	TARGET_PAIRED_SINGLE_FLOAT.  Allow MODE_VECTOR_FLOAT in fp registers,
	and allow CCV2 and CCV4 to occupy two and four CC registers.
	(print_fcc_operand): New function.
	(print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC.  Modify
	%Z to call print_fcc_operand.
	(mips_function_value): Handle MODE_VECTOR_FLOAT.
	(mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
	(mips_vector_mode_supported_p): New function.
	(mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
	(builtin_description): New struct.
	(mips_bdesc): New array of struct builtin_description.
	(mips_expand_builtin, mips_init_builtins,
	mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
	mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
	functions.
	* config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
	(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
	(TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
	(TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
	"-mips3d", and "-mno-mips3d".
	(ASM_SPEC): Map -mips3d to -mips3d in gas.
	(EXTRA_CONSTRAINT_Y): New macro.
	(EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT.  Add new
	multi-letter constraint 'Y'.
	(CONSTRAINT_LEN): New macro.
	(enum mips_builtins): New for MIPS builtin functions.
	(enum mips_function_type): New for the types of MIPS builtin functions.
	(enum mips_cmp_choice): New for the MIPS comparison builtin functions.
	* config/mips/mips.md: New constants for paired single and MIPS-3D
	instructions.  Include the new mips-ps-3d.md file.
	(addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
	movv2sf_hardfloat_64bit): New named patterns.
	(madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
	nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
	sdxc1_v2sf_di): New unnamed patterns.
	* config/mips/predicates.md (const_0_operand, const_1_operand): Add
	const_vector support.
	(const_0_or_1_operand): New predicate.
	* doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.

Co-Authored-By: James E Wilson <wilson@specifixinc.com>

From-SVN: r86713
2004-08-29 09:19:34 +00:00
Paolo Carlini
b8d65dace7 locale_facets.tcc (time_get<>::_M_extract_via_format, case 'S'): Allow for at least one leap-second (as per C99...
2004-08-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
	case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
	and 7.23.3.5), two if !_GLIBCXX_USE_C99.
	* testsuite/22_locale/time_get/get_time/char/4.cc: New.
	* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.

From-SVN: r86712
2004-08-29 09:04:33 +00:00
Diego Novillo
750628d8bc Makefile.in (OBJS-common): Add tree-ssa-propagate.o
* Makefile.in (OBJS-common): Add tree-ssa-propagate.o
	(tree-ssa-propagate.o): New rule.
	(GTFILES): Add tree-ssa-propagate.c.
	* tree-flow.h (struct stmt_ann_d): Remove field
	in_ccp_worklist.
	* tree-ssa-propagate.c: New file.
	* tree-ssa-propagate.h: New file.
	* tree-ssa-ccp.c: Re-write to use the routines from
	tree-ssa-propagate.c.

From-SVN: r86711
2004-08-29 02:16:02 -04:00
Andrew Pinski
f108270b88 tree-ssa-loop.c: Remove extra include of basic-block.h.
2004-08-28  Andrew Pinski  <apinski@apple.com>

        * tree-ssa-loop.c: Remove extra include of basic-block.h.

From-SVN: r86708
2004-08-28 19:39:04 -07:00
GCC Administrator
11a834ef32 Daily bump.
From-SVN: r86706
2004-08-29 00:16:14 +00:00
Steven G. Kargl
4c0c6b9f2c gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_GET?ID.
2004-08-29  Steven G. Kargl  <kargls@comcast.net>
	Paul Brook  <paul@codesourcery.com>

	* gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_GET?ID.
	(gfc_check_f, gfc_simplify_f): Add f0.
	* intrinsic.c (do_check): Call f0.  Flatten.
	(add_sym_0): Fix prototype.  Set f0.
	(add_functions): Add getgid, getgid and getuid.
	(resolve_intrinsic): Remove obsolete comment.
	(do_simplify): Call f0.
	* intrinsic.h (gfc_resolve_getgid, gfc_resolve_getpid,
	gfc_resolve_getuid): Add prototypes.
	* iresolve.c (gfc_resolve_getgid, gfc_resolve_getpid,
	gfc_resolve_getuid): New functions.
	* trans-intrinsic.c (gfc_conv_intrinsic_function): Handle
	GFC_ISYM_GET?ID.
libgfortran/
	* Makefile.am: Add intrinsics/getXid.c.
	* configure.ac: Add tests for get{g,p,u}id.
	* config.h.in: Regenerate.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r86703
2004-08-28 23:43:41 +00:00
Ziemowit Laski
e5a002e353 c-common.h: Update comments about ObjC/ObjC++ entry points.
[gcc/ChangeLog]
2004-08-28  Ziemowit Laski  <zlaski@apple.com>

	* c-common.h: Update comments about ObjC/ObjC++ entry points.
	(objc_is_reserved_word): New prototype.
	(get_current_scope, objc_mark_locals_volatile): Move prototypes to
	separate section; these are call-backs.
	* c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
	ObjC/ObjC++ "@" keywords.
	* c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
	prototypes; they already live in c-common.h.
	* stub-objc.c: Update copyright notice.
	(objc_is_reserved_word): New stub.

[gcc/cp/ChangeLog]
2004-08-28  Ziemowit Laski  <zlaski@apple.com>

	* Make-lang.in (CXX_OBJS): Split up into CXX_OBJS and
	CXX_AND_OBJCXX_OBJS.
	(CXX_C_OBJS): Include in CXX_AND_OBJCXX_OBJS instead of listing
	separately on the link line.

[gcc/objc/ChangeLog]
2004-08-28  Ziemowit Laski  <zlaski@apple.com>

	* objc-act.c (objc_is_reserved_word): New function.

From-SVN: r86702
2004-08-28 20:58:56 +00:00
Paul Brook
7984a2f04b re PR libfortran/17195 (Infinite loop in output_float in libgfortran/io/write.c)
PR libfortran/17195
	* libgfortran.h (rtoa): Remove prototype.
	* runtime/error.c (rtoa): Remove.
	* io/write.c (calculate_G_format): Don't add blanks if E format is
	used.  Add correct number of blanks when exponent width is specified.
	(output_float): Rewrite.
testsuite/
	* gfortran.dg/edit_real_1.f90: New test.

From-SVN: r86701
2004-08-28 19:48:02 +00:00
Andreas Schwab
39b8ce7f98 configure.ac: Set PACKAGE correctly.
* configure.ac: Set PACKAGE correctly.
	* configure: Regenerated.

Co-Authored-By: Andreas Jaeger <aj@suse.de>

From-SVN: r86698
2004-08-28 20:04:17 +02:00
Jason Merrill
e71b918c3f fix thinko
From-SVN: r86694
2004-08-28 12:51:34 -04:00
Nathan Sidwell
2c46a62f29 system.h (gcc_assert): Remove __builtin_expect.
* system.h (gcc_assert): Remove __builtin_expect.  Evaluate EXPR
	even when not checking.

From-SVN: r86692
2004-08-28 14:23:07 +00:00
Tobias Schlüter
1f05db639b error.c (gfc_error_init_1): Remove blank line in front of function body.
* error.c (gfc_error_init_1): Remove blank line in front of
function body. Add missing blank.
(gfc_buffer_error, error_char, error_string): Remove blank line in
front of function body.
(show_locus): Add comma in comment.
(gfc_clear_warning, gfc_warning_check, gfc_clear_error,
gfc_push_error, gfc_pop_error): Remove blank line in front of
function body.
(gfc_get_errors): Typo fix in comment in front of function. Remove
blank line in front of function body.

From-SVN: r86691
2004-08-28 16:07:03 +02:00
Nathanael Nerode
1506eac19b configure.ac: Switch from _GCC_TOPLEV_NONCANONICAL_TARGET to ACX_NONCANONICAL_TARGET.
* configure.ac: Switch from _GCC_TOPLEV_NONCANONICAL_TARGET to
	ACX_NONCANONICAL_TARGET.
	* configure: Regenerate.

From-SVN: r86690
2004-08-28 11:18:12 +00:00
Jason Merrill
b40a3a7b9e * decl.c (expand_static_init): Avoid bogus warnings.
From-SVN: r86689
2004-08-28 02:35:36 -04:00
Jason Merrill
bcac21a0c6 re PR c++/16851 (ICE when throwing a comma expression)
PR c++/16851
        * tree.c (stabilize_init): See through a COMPOUND_EXPR.

From-SVN: r86688
2004-08-27 22:35:15 -04:00
Jason Merrill
40aac94801 re PR c++/13684 (local static object variable constructed once but ctors and dtors called multiple times on same memory when called in multiple threads)
PR c++/13684
        * cp/decl.c (expand_static_init): Use thread-safety API.
        (register_dtor_fn): Return the call, don't expand it.
        * cp/tree.c (add_stmt_to_compound): New fn.
        (stabilize_call): Use it.
        * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
        (gimple_push_cleanup): Add eh_only parm.
        (gimplify_target_expr): Pass it.
        * c.opt (-fno-threadsafe-statics): New option.
        * c-opts.c (c_common_handle_option): Handle it.
        * c-common.h (flag_threadsafe_statics): Declare it.
        * c-common.c (flag_threadsafe_statics): Record it.
        * doc/invoke.texi: Document it.
        * tsystem.h (_GNU_SOURCE): Define.
        * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
        (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
        (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
        (__gthread_recursive_mutex_init_function): New fn.
        (__gthread_recursive_mutex_lock): New fn.
        (__gthread_recursive_mutex_trylock): New fn.
        (__gthread_recursive_mutex_unlock): New fn.
        * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
        * gthr-win32.h, gthr-vxworks.h: Likewise.
        * gthr.h: Document.

        * libsupc++/guard.cc (static_mutex): Internal class implementing a
        recursive mutex which controls initialization of local statics.
        (__gnu_cxx::recursive_init): New exception class.
        (__cxa_guard_acquire): Deal with locking and recursion detection.
        (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.

From-SVN: r86687
2004-08-27 22:33:54 -04:00
Hans Boehm
ed3479983d configure.ac: Handle --enable-gc-debug.
* configure.ac: Handle --enable-gc-debug.
	* configure: Regenerate.
	* include/config.h.in (LIBGCJ_GC_DEBUG): Add.
	* boehm.cc: Include gc_mark.h, javaxfc.h, but no GC private files.
	Rearrange include file order.
	(GC_DEBUG): Set if LIBGCJ_GC_DEBUG is set.
	(GC_finalize_all, GC_debug_generic_malloc): Don't declare.
	(disable_gc_mutex): Delete along with all references.
	(_Jv_MarkObj, _Jv_MarkArray): Use public types,
	adjust for debug header size.
	(_Jv_AllocObj, _Jv_allocPtrFreeObj): Define out of line for
	debug case.
	(_Jv_AllocArray): Declare min_heap_addr only if needed.
	(gcj_describe_type_fn): New.
	(_Jv_InitGC): Use GC_new_free_list, GC_new_proc, and GC_new_kind.
	Register gcj_describe_type_fn.
	* include/boehm-gc.h:
	(_Jv_AllocObj, _Jv_allocPtrFreeObj):
	Don't define, but declare, for debug case.
	* java/lang/natObject.cc:
	(GC_DEBUG): Define if LIBGCJ_GC_DEBUG is set.

From-SVN: r86686
2004-08-28 00:45:56 +00:00
Hans Boehm
3c1cbf58a6 backgraph.c, gc_priv.h (GC_traverse_back_graph, [...]): split GC_traverse_back_graph.
* backgraph.c, gc_priv.h (GC_traverse_back_graph,
	GC_print_back_graph_stats): split GC_traverse_back_graph.
	* backgraph.c: Dynamically grow in_progress_space.
	* finalize.c (GC_notify_or_invoke_finalizers): also call
	GC_print_back_graph_stats.
	* alloc.c, finalize.c, gc_priv.h (GC_generate_random_backtrace_no_gc,
	GC_print_back_height): Move delarations to header file.
	* configure.ac: rename --enable-full-debug to --enable-gc-debug.
	* configure: Regenerate.

From-SVN: r86685
2004-08-28 00:41:41 +00:00
GCC Administrator
5dc50f2714 Daily bump.
From-SVN: r86682
2004-08-28 00:16:17 +00:00
Richard Henderson
42c244d847 cp-tree.def (OFFSETOF_EXPR): New.
* cp-tree.def (OFFSETOF_EXPR): New.
        * parser.c (cp_parser_builtin_offsetof): Either built an
        OFFSETOF_EXPR, or call fold_offsetof immediately.
        * pt.c (tsubst_expr): Handle OFFSETOF_EXPR.

From-SVN: r86679
2004-08-27 14:48:12 -07:00
Matthias Klose
a2fddff9be configure.host: For mips*-*-linux* update cpu_include_dir after atomicity_dir is set.
2004-08-27  Matthias Klose  <doko@debian.org>

        * configure.host: For mips*-*-linux* update cpu_include_dir
        after atomicity_dir is set.

From-SVN: r86678
2004-08-27 20:01:34 +00:00
Matthias Klose
23a62f7f9e baseline_symbols.txt: New.
2004-08-27  Matthias Klose  <doko@debian.org>

        * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
        * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
        * configure.host: Set abi_baseline_pair for arm*-*-linux* and
        mips*-*-linux*.

From-SVN: r86677
2004-08-27 19:58:15 +00:00
David Edelsohn
03e9c50aa2 outer_code, not Outer code.
From-SVN: r86671
2004-08-27 14:30:32 -04:00
David Edelsohn
1494c5345d rs6000.c (rs6000_override_options): Increase maximum skip to 15.
* config/rs6000/rs6000.c (rs6000_override_options): Increase
	maximum skip to 15.  Set function alignment, jump alignment, and
	loop alignment to 16 for processors that form dispatch groups.
	(rs6000_rtx_costs): Outer code is used.

From-SVN: r86670
2004-08-27 14:29:52 -04:00
Nathan Sidwell
50bc768da1 call.c (validate_conversion_obstack): Replace my_friendly_assert with gcc_assert or gcc_unreachable.
* call.c (validate_conversion_obstack): Replace
	my_friendly_assert with gcc_assert or gcc_unreachable.
	(direct_reference_binding, merge_conversion_sequences,
	build_user_type_conversion_1, perform_overload_resolution,
	build_op_delete_call, enforce_access, call_builtin_trap,
	build_over_call, build_special_member_call, build_new_method_call,
	initialize_reference): Likewise.
	* class.c (build_base_path, build_primary_vtable, alter_access,
	check_bases, update_vtable_entry_for_fn, layout_empty_base,
	clone_function_decl, adjust_clone_args,
	type_requires_array_cookie, include_empty_classes,
	finish_struct_1, resolve_address_of_overloaded_function,
	instantiate_type, get_vtbl_decl_for_binfo, build_vtt_inits,
	dfs_build_secondary_vptr_vtt_inits, build_ctor_vtbl_group,
	accumulate_vtbl_inits, build_vtbl_initializer,
	build_vbase_offset_vtbl_entries, build_rtti_vtbl_entries): Likewise.
	* cvt.c (build_up_reference, convert_to_reference): Likewise.
	* decl.c (poplevel, duplicate_decls, make_typename_type,
	cxx_init_decl_processing, reshape_init, check_initializer,
	make_rtl_for_nonlocal_decl, initialize_local_var, cp_finish_decl,
	expand_static_init, grokfndecl, grokvardecl, build_ptrmem_type,
	grokdeclarator, copy_fn_p, grok_op_properties, xref_tag,
	xref_basetypes, start_preparsed_function, save_function_data,
	finish_function, finish_method, maybe_register_incomplete_var,
	complete_vars): Likewise.
	* decl2.c (grok_array_decl, check_member_template,
	check_classfn, finish_static_data_member_decl, coerce_new_type,
	coerce_delete_type, import_export_class, decl_needed_p,
	determine_visibility, import_export_decl, build_cleanup,
	start_static_initialization_or_destructi, do_static_destruction,
	prune_vars_needing_no_initialization,
	build_offset_ref_call_from_tree): Likewise.
	* error.c (dump_decl, dump_expr): Likewise.
	* init.c (finish_init_stmts, build_zero_init,
	expand_virtual_init, expand_default_init, expand_aggr_init_1,
	build_offset_ref, build_new_1, build_delete, build_vbase_delete):
	Likewise.
	* mangle.c (write_method_parms, write_template_args,
	write_expression, write_template_arg): Likewise.
	* method.c (make_thunk, finish_thunk, use_thunk): Likewise.
	* name-lookup.c (pop_binding, begin_scope, leave_scope,
	resume_scope, push_using_decl, validate_nonmember_using_decl,
	is_ancestor, poplevel_class, set_inherited_value_binding_p,
	push_class_level_binding, do_class_using_decl, push_namespace,
	pop_namespace, add_using_namespace, ambiguous_decl,
	lookup_namespace_name, lookup_type_current_level,
	maybe_process_template_type_declaration): Likewise.
	* parser.c (cp_lexer_peek_nth_token,
	cp_parser_parse_and_diagnose_invalid_typ,
	cp_parser_translation_unit, cp_parser_template_id,
	cp_parser_lookup_name, cp_parser_late_parsing_for_member): Likewise.
	* pt.c (push_access_scope, finish_member_template_decl,
	push_inline_template_parms_recursive, add_outermost_template_args,
	get_innermost_template_args, begin_explicit_instantiation,
	end_explicit_instantiation, retrieve_specialization,
	is_specialization_of, is_specialization_of_friend,
	register_specialization, check_explicit_specialization,
	comp_template_parms, process_template_parm,
	process_partial_specialization, convert_nontype_argument,
	coerce_template_template_parms, coerce_template_parms,
	mangle_class_name_for_template, lookup_template_function,
	lookup_template_class, instantiate_class_template, tsubst_decl,
	tsubst_function_type, tsubst, tsubst_qualified_id, tsubst_copy,
	instantiate_template, fn_type_unification, type_unification_real,
	get_template_base, regenerate_decl_from_template,
	template_for_substitution, instantiate_decl,
	get_mostly_instantiated_function_type, dependent_scope_ref_p,
	value_dependent_expression_p, resolve_typename_type): Likewise.
	* repo.c (repo_emit_p): Likewise.
	* rtti.c (build_headof, get_tinfo_decl, get_pseudo_ti_init,
	create_tinfo_types, emit_tinfo_decl): Likewise.
	* search.c (lookup_base_r, lookup_base, lookup_field_1,
	dfs_access_in_type, build_baselink, lookup_member,
	adjust_result_of_qualified_name_lookup, copied_binfo): Likewise.
	* semantics.c (perform_or_defer_access_check,
	finish_non_static_data_member, finish_stmt_expr_expr,
	finish_stmt_expr, finish_call_expr, finish_pseudo_destructor_expr,
	finish_template_template_parm, finish_member_declaration,
	emit_associated_thunks): Likewise.
	* tree.c (build_target_expr_with_type, force_target_expr,
	copy_binfo, get_first_fn, cp_tree_equal): Likewise.
	* typeck.c (type_after_usual_arithmetic_conversions, comptypes,
	cxx_sizeof_or_alignof_type, perform_integral_promotions,
	build_class_member_access_expr, finish_class_member_access_expr,
	build_ptrmemfunc_access_expr, build_unary_op,
	unary_complex_lvalue, cxx_mark_addressable, build_modify_expr,
	build_ptrmemfunc, expand_ptrmemfunc_cst, check_return_expr
	* typeck2.c (complete_type_check_abstract,
	abstract_virtuals_error, process_init_constructor,
	add_exception_specifier): Likewise.

From-SVN: r86669
2004-08-27 17:59:33 +00:00
Nathan Sidwell
e3861d2a1b stor-layout.c (sizetype_set): Remove.
* stor-layout.c (sizetype_set): Remove.
	(set_sizetype): Don't test or set it.

From-SVN: r86668
2004-08-27 16:48:31 +00:00
Nathan Sidwell
ce552f75de tree.h (size_int_type): Remove.
* tree.h (size_int_type): Remove.
	* fold-const.c: Do not #include gt-fold-const.h.
	(size_htab_hash, size_htab_eq): Remove.
	(size_int_kind): Use build_int_cst.
	(new_const, size_htab): Remove.
	(size_int_type): Remove.
	(round_up): Use build_int_cst.
	(round_down): Likewise. Remove spurious constant build.

	* ada/utils2.c (build_allocator): Use ssize_int.

	* cp/class.c (build_vtbl_initializer): Use ssize_int.
	* cp/decl.c (complete_array_type): Likewise.
	* cp/method.c (finish_thunk): Likewise.
	* cp/search.c (get_dynamic_base_type): Likewise.

From-SVN: r86667
2004-08-27 16:45:20 +00:00
Nathan Sidwell
06c37c965a configure.ac: Add ENABLE_ASSERT_CHECKING control.
* configure.ac: Add ENABLE_ASSERT_CHECKING control.
	Add is_release variable, use it for --enable-werror and
	--enable-checking defaults.
	* system.h (gcc_assert, gcc_unreachable): New.
	* doc/install.texi (--enable-checking): Update.
	* configure, config.in: Rebuilt.

From-SVN: r86666
2004-08-27 16:20:45 +00:00
Tobias Schlüter
9d64df18fd gfortran.h (gfc_default_*_kind): Remove prototypes, add extern variable declaration of same name.
* gfortran.h (gfc_default_*_kind): Remove prototypes, add extern
variable declaration of same name.
* arith.c, check.c, decl.c, dump_parse_tree.c, expr.c,
intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c,
resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c:
Replace all calls to gfc_default_*_kind with variable accesses.
* trans-types.c: Same as above.
(gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove
static qualifier. Replace all occurences.
(gfc_default_*_kind): Remove functions.

From-SVN: r86662
2004-08-27 16:49:35 +02:00
Paolo Carlini
0be27b59bc 1.cc: New.
2004-08-27  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
	* testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
	* testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
	* testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
	* testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.

	* testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
	formatting fixes.
	* testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
	* testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
	* testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
	* testsuite/27_io/manipulators/standard/char/2.cc: Likewise.

From-SVN: r86661
2004-08-27 14:45:47 +00:00
Paul Brook
e041cc5aff Comment typo.
From-SVN: r86660
2004-08-27 14:37:13 +00:00
Paul Brook
c100eff11e rewind.c (st_rewind): Reset unit to read mode.
* io/rewind.c (st_rewind): Reset unit to read mode.
testsuite/
	* gfortran.dg/rewind_1.f90: New test.

From-SVN: r86659
2004-08-27 13:44:52 +00:00
Richard Sandiford
57406c63cd rtl.h (read_rtx): Change prototype.
* rtl.h (read_rtx): Change prototype.
	* read-rtl.c (read_rtx): Provide the caller with both an rtx and a
	line number.  Return true on success.
	* gensupport.c (process_include, init_md_reader_args_cb): Adjust
	callers accordingly.

From-SVN: r86657
2004-08-27 10:12:51 +00:00
Nathan Sidwell
6a6bfc8e70 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
From-SVN: r86656
2004-08-27 10:02:30 +00:00
Andreas Schwab
f8b7bf589e * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
From-SVN: r86655
2004-08-27 09:27:49 +00:00
Bud Davis
55948b693e re PR libfortran/16597 (gfortran: bug in unformatted I/O on scratch files)
2004-08-27  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/16597
        * io/io.h: created typedef for unit_mode.
        * io/io.h (gfc_unit): added mode to unit structure.
        * io/transfer.c (data_transfer_init): flush if a write then
        read is done on a unit (direct access files).
        * io/rewind.c (st_rewind): Used unit mode instead of global.

        * gfortran.dg/pr16597.f90: New test.

From-SVN: r86654
2004-08-27 07:59:30 +00:00
Richard Henderson
dc700f497c Update comment for staticp.
From-SVN: r86652
2004-08-26 17:55:38 -07:00
Richard Henderson
ee8a6a3ee5 c-typeck.c (build_offsetof): Remove.
* c-typeck.c (build_offsetof): Remove.
        * c-tree.h (build_offsetof): Remove.
        * c-common.c (fold_offsetof_1, fold_offsetof): New.
        * c-common.h (fold_offsetof): Declare.
        * c-parse.in (offsetof_base): New.
        (offsetof_member_designator): Use it.  Build references, not just
        a tree list.
        (primary): Use fold_offsetof, not build_offsetof.

From-SVN: r86651
2004-08-26 17:37:48 -07:00
Richard Henderson
525c6bf5a6 tree.c (staticp): Return the static object.
* tree.c (staticp): Return the static object.
        * tree.h (staticp): Update decl.
        * langhooks.h (struct lang_hooks): Change staticp return type to tree.
        * langhooks.c (lhd_staticp): Return NULL_TREE.
        * langhooks-def.h (lhd_staticp): Update decl.
        * c-common.c (c_staticp): Return the static object.
        * c-common.h (c_staticp): Update decl.

From-SVN: r86650
2004-08-26 17:27:24 -07:00
GCC Administrator
81d1fb0877 Daily bump.
From-SVN: r86647
2004-08-27 00:16:14 +00:00
Richard Henderson
d416c0b3fe alpha.h (HARD_REGNO_MODE_OK): Allow complex float modes.
* config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
        modes.

From-SVN: r86644
2004-08-26 17:08:35 -07:00
Phil Edwards
ce7cbbb0f0 configure.in: Give a better error message if GMP/MPFR are missing and a language needing them...
2004-08-26  Phil Edwards  <phil@codesourcery.com>

	* configure.in:  Give a better error message if GMP/MPFR are missing
	and a language needing them has been requested.
	* configure:  Regenerated.

From-SVN: r86641
2004-08-26 23:57:46 +00:00
Phil Edwards
9c71a5298f configure.in: Print a list of available language front-ends if a requested one is missing.
2004-08-25  Phil Edwards  <phil@codesourcery.com>

	* configure.in:  Print a list of available language front-ends if
	a requested one is missing.  Tidy stray tab characters.
	* configure:  Regenerated.

From-SVN: r86640
2004-08-26 23:45:16 +00:00
Richard Henderson
5e8e542ff8 arith.c: Include system.h, not real system headers.
* arith.c: Include system.h, not real system headers.
        (MPZ_NULL, MPF_NULL, DEF_GFC_INTEGER_KIND, DEF_GFC_LOGICAL_KIND,
        DEF_GFC_REAL_KIND, GFC_SP_KIND, GFC_SP_PREC, GFC_SP_EMIN, GFC_SP_EMAX,
        GFC_DP_KIND, GFC_DP_PREC, GFC_DP_EMIN, GFC_DP_EMAX, GFC_QP_KIND,
        GFC_QP_PREC, GFC_QP_EMIN, GFC_QP_EMAX): Remove.
        (gfc_integer_kinds, gfc_logical_kinds, gfc_real_kinds,
        gfc_index_integer_kind, gfc_default_integer_kind,
        gfc_default_real_kind,gfc_default_double_kind,
        gfc_default_character_kind, gfc_default_logical_kind,
        gfc_default_complex_kind, validate_integer, validate_real,
        validate_logical, validate_character,
        gfc_validate_kind): Move to trans-types.c.
        (gfc_set_model_kind): Use gfc_validate_kind.
        (gfc_set_model): Just copy the current precision to default.
        (gfc_arith_init_1): Use mpfr precision 128 for integer setup.
        * f95-lang.c (gfc_init_decl_processing): Invoke gfc_init_kinds.
        * gfortran.h: Update file commentary.
        * trans-types.c (MAX_INT_KINDS, MAX_REAL_KINDS): New.
        (gfc_default_integer_kind_1, gfc_default_real_kind_1,
        gfc_default_double_kind_1, gfc_default_character_kind_1,
        gfc_default_logical_kind_1, gfc_default_complex_kind_1): New.
        (gfc_init_kinds): New.
        (gfc_init_types): Don't set gfc_index_integer_kind here.
        * trans-types.h (gfc_init_kinds): Declare.
        * doc/invoke.texi: Clarify DOUBLE PRECISION behaviour wrt -r8.

From-SVN: r86637
2004-08-26 15:19:23 -07:00
Joseph Myers
0b410f0b88 re PR c/13801 (Decls should regain old type at end of scope)
PR c/13801
	* c-decl.c (struct c_binding): Add type and inner_comp fields.
	(bind): Set type and inner_comp fields.
	(pop_scope): Restore type of decl to the correct type from an
	outer scope.  Give error when popping file scope for incomplete
	arrays completed incompatibly with default initialization in an
	inner scope.
	(diagnose_mismatched_decls): Handle externs with initializers at
	block scope.
	(pushdecl): Set type of external declaration at block scope based
	only on the visible declarations.  Save type when changing the
	type of a declaration.  Merge an external declaration at block
	scope with a visible static declaration at file scope.
	(implicitly_declare): Give recycled old declaration the new type
	except for incompatible declarations of built-in functions, saving
	the old type.

testsuite:
	* gcc.dg/redecl-3.c, gcc.dg/redecl-4.c, gcc.dg/redecl-6.c,
	gcc.dg/redecl-7.c, gcc.dg/redecl-8.c, gcc.dg/redecl-9.c,
	gcc.dg/redecl-10.c, gcc.dg/debug/redecl-1.c,
	gcc.dg/debug/redecl-2.c, gcc.dg/debug/redecl-3.c,
	gcc.dg/debug/redecl-4.c, gcc.dg/debug/redecl-5.c: New tests.

From-SVN: r86636
2004-08-26 22:30:26 +01:00