Commit Graph

59639 Commits

Author SHA1 Message Date
David Edelsohn
252910550c ifcvt.c (total_bb_rtx_cost): New function.
* ifcvt.c (total_bb_rtx_cost): New function.
        (find_if_case_1): Compare rtx_cost of basic block to cost of
        BRANCH_COST insns.
        (find_if_case_2): Same.

From-SVN: r84233
2004-07-07 17:35:44 -04:00
Eric Botcazou
951661a1a5 re PR target/10567 (-fno-delayed-branch not honored in back-end)
PR target/10567
	* config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch.
	(output_return): Likewise.
	(output_sibcall): Abort if !flag_delayed_branch.
	(sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch.
	(emit_and_preserve): New function.
	(sparc_output_mi_thunk): Use it.  Honor flag_delayed_branch.  Emit an
	indirect jump to the thunked-to function if !flag_delayed_branch.
	* config/sparc/sparc.md (delayed_branch): New attribute.
	(load_pcrel_sym): Honor flag_delayed_branch.  Use above
	attribute to compute the length of the insn.
	(goto_handler_and_restore): Likewise.

From-SVN: r84232
2004-07-07 21:33:09 +00:00
Andrew Pinski
5f7b215606 re PR tree-optimization/15777 (Fold does not always fold sub trees)
2004-07-07  Andrew Pinski  <apinski@apple.com>

        PR tree-optimization/15777
        * fold-const.c (fold_single_bit_test): Fold the x^1 expression.

From-SVN: r84231
2004-07-07 14:28:01 -07:00
Andrew Pinski
3a18db48e9 expr.c (expand_expr_real_1): Fix formating.
* expr.c (expand_expr_real_1): Fix formating.
	BUFFER_REF and IN_EXPR are dead.
	* fold-const.c (non_lvalue): BUFFER_REF is dead.
	* tree-inline.c (estimate_num_insns_1): Likewise.
	* tree-pretty-print.c (dump_generic_node): BUFFER_REF,
	IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead.
	* tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill.
cp/ChangeLog:
	* class.c (instantiate_type): BUFFER_REF is dead.
	* lex.c (init_operators): IN_EXPR is dead.

From-SVN: r84230
2004-07-07 14:26:31 -07:00
Jason Merrill
4fe2a1a7bc re PR c++/16334 (No warning about use of overloading extension)
PR c++/16334
        * call.c (build_new_op): Give overload warnings for built-in
        candidates.

From-SVN: r84229
2004-07-07 17:16:57 -04:00
Jan Hubicka
051822f61f * MAINTAINERS: Add self as a profile feedback maintainer.
From-SVN: r84228
2004-07-07 20:41:53 +00:00
H.J. Lu
d594623ade collect2.c (dump_file): Don't call cplus_demangle if HAVE_LD_DEMANGLE is defined.
2004-07-07  H.J. Lu  <hongjiu.lu@intel.com>

	* collect2.c (dump_file): Don't call cplus_demangle if
	HAVE_LD_DEMANGLE is defined.
	(main): Pass "--demangle" to ld if no_demangle is not 0 and
	HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style
	if HAVE_LD_DEMANGLE is defined.

	* configure.ac (--with-demangler-in-ld): Added
	(HAVE_LD_DEMANGLE): Define if ld supports --demangle when
	--with-demangler-in-ld is used.
	* config.in: Regenerated.
	* configure: Likewise.

From-SVN: r84227
2004-07-07 13:29:13 -07:00
Roger Sayle
f0517163a9 rs6000.c (struct processor_costs): Add new fields for simple floating point operations "fp"...
* config/rs6000/rs6000.c (struct processor_costs): Add new fields
	for simple floating point operations "fp", double precision
	multiplication "dmul", and single and double precision division
	"sdiv" and "ddiv".  Update all CPU variant tables as appropriate.
	(ppc630_cost): New table split from ppc620_cost, to distinguish
	differences in floating point latencies.
	(rs6000_override_options): Use ppc630_cost for PROCESSOR_PPC630.
	(rs6000_rtx_costs): Add support for single and double precision
	floating point addition, subtraction, multiplication, division,
	fused-multiply-add, fused-multiply-sub, negation, absolute value
	and negative absolute value.  Tweak MEM case to use prefered idiom.

From-SVN: r84226
2004-07-07 20:19:43 +00:00
Richard Henderson
63b8825280 tree-flow-inline.h (may_propagate_copy): Move...
* tree-flow-inline.h (may_propagate_copy): Move...
        * tree-ssa-copy.c (may_propagate_copy): ... here.  Fail if we
        attempt to copy between types requiring conversion.
        * tree-flow.h (may_propagate_copy): Update decl.
        * tree-ssa-dom.c (cprop_operand): Tidy redundant tests.

From-SVN: r84225
2004-07-07 13:16:00 -07:00
Jakub Jelinek
6c4918da73 i386.c (override_options): Don't set x86_prefetch_sse from -mtune= option.
* config/i386/i386.c (override_options): Don't set x86_prefetch_sse
	from -mtune= option.

From-SVN: r84223
2004-07-07 21:35:13 +02:00
Alexandre Oliva
70128ad9f6 builtins.c: Rename movstr*, except for movstrict*, to movmem* and clrstr* to clrmem*.
gcc/ChangeLog:
* builtins.c: Rename movstr*, except for movstrict*, to
movmem* and clrstr* to clrmem*.
* expr.c: Likewise.
* expr.h: Likewise.
* genopinit.c: Likewise.
* integrate.c: Likewise.
* local-alloc.c: Likewise.
* optabs.c: Likewise.
* optabs.h: Likewise.
* config/alpha/alpha.h: Likewise.
* config/alpha/alpha.md: Likewise.
* config/arm/arm-protos.h: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/arm.md: Likewise.
* config/avr/avr.md: Likewise.
* config/c4x/c4x.c: Likewise.
* config/c4x/c4x.md: Likewise.
* config/frv/frv.md: Likewise.
* config/i386/i386-protos.h: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/i386.md: Likewise.
* config/i860/i860.c: Likewise.
* config/i860/i860.md: Likewise.
* config/ip2k/ip2k.md: Likewise.
* config/ip2k/libgcc.S: Likewise.
* config/ip2k/t-ip2k: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m32r/m32r.md: Likewise.
* config/mcore/mcore.md: Likewise.
* config/mips/mips.c: Likewise.
* config/mips/mips.md: Likewise.
* config/ns32k/ns32k.c: Likewise.
* config/ns32k/ns32k.h: Likewise.
* config/ns32k/ns32k.md: Likewise.
* config/pa/pa.c: Likewise.
* config/pa/pa.md: Likewise.
* config/pdp11/pdp11.h: Likewise.
* config/pdp11/pdp11.md: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rs6000/rs6000.md: Likewise.
* config/s390/s390-protos.h: Likewise.
* config/s390/s390.c: Likewise.
* config/s390/s390.md: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/t-sh: Likewise.
* config/sparc/sparc.h: Likewise.
* config/vax/vax.md: Likewise.
* config/xtensa/xtensa.c: Likewise.
* config/xtensa/xtensa.md: Likewise.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.
* doc/rtl.texi: Likewise.
gcc/testsuite/ChangeLog:
* gcc.c-torture/execute/builtins/mempcpy-2.c: Rename movstr*,
except for movstrict*, to movmem* and clrstr* to clrmem*.

From-SVN: r84222
2004-07-07 19:25:01 +00:00
Richard Sandiford
48b2e0a72e re PR target/16407 (Unaligned access to local variables)
PR target/16407
	* config/mips/mips-protos.h (mips_declare_common_object): Declare.
	* config/mips/mips.c (mips_declare_common_object): New function,
	mostly split out from...
	(mips_output_aligned_decl_common): ...here.
	* config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
	(ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
	* config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
	rather than ASM_OUTPUT_LOCAL.  Call mips_declare_common_object.

From-SVN: r84219
2004-07-07 19:17:05 +00:00
John David Anglin
477eff9602 re PR middle-end/16392 (function.c:3192: error: `stack_args_size' undeclared)
PR c/16392
	* function.c (assign_parms): Fix typo from previous change.

From-SVN: r84217
2004-07-07 18:40:02 +00:00
H.J. Lu
4681c50501 re PR c++/16276 ([3.4 only] G++ generates local references to linkonce sections)
2004-07-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR c++/16276
	* rtti.c (emit_tinfo_decl): Turn off DECL_ONE_ONLY if typeinfo
	is not public.

From-SVN: r84215
2004-07-07 11:29:38 -07:00
Andreas Tobler
0e497b6cf5 configure.host: Enable hash synchronization on Darwin.
2004-07-07  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.host: Enable hash synchronization on Darwin.
	* sysdep/powerpc/locks.h (compare_and_swap): Use '\n' instead of
	';', since this is a comment on Darwin.
	(compare_and_swap_release): Likewise.

From-SVN: r84214
2004-07-07 20:24:00 +02:00
Jason Merrill
fc72b38002 re PR c++/15815 (Update #pragma interface and #pragma implementation documentation.)
PR c++/15815
        * doc/extend.texi (C++ Interface): Correct information and
        discourage use.

From-SVN: r84210
2004-07-07 13:38:40 -04:00
Vladimir Makarov
25069b4269 re PR target/16130 (Gcc 3.4 ICE on valid code)
2004-07-07  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/16130
	PR target/16142
	PR target/16143
	* config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
	insn.

From-SVN: r84202
2004-07-07 15:11:42 +00:00
Kazuhiro Inaoka
767dec6b10 re PR c++/1679 (c++ -v -save-temps -DHAVE_CONFIG_H -I. -I. -I. -I./.. -isystem /usr/local/X11/include -DNDEBUG -O2 -g -W -Wall -trigraphs -c HelpCB.C)
PR target/1679.
* config/m32r/m32r.c (m32r_function_symbol): New function: Generate a symbol
  name RTX with the correct m32r specific flags	set.
  (block_move_call): Use new function to generate correct symbol.
* config/m32r/m32r-protos.h: Add prototype for new funcion.
* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new function.

From-SVN: r84200
2004-07-07 11:11:08 +00:00
Nathan Sidwell
604a320594 tree.h (TYPE_BINFO_OFFSET, [...]): Remove.
* tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE,
	TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES,
	TYPE_BINFO_BASETYPE): Remove.
	(BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename
	to ...
	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ...
	here.
	(BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ...
	(BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here.
	(BINFO_INHERITANCE_CHAIN): Redocument as it is actually used.
	(struct tree_binfo): Rename base_types to base_binfos.
	* alias.c (record_component_aliases): Adjust BINFO macros.
	* 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.

	* cp/cp-tree.h (CLASSTYPE_N_BASECLASSES): Remove.
	* cp/class.c (build_primary_vtable, check_bases,
	determine_primary_base, finish_struct_bits,
	maybe_warn_about_overly_private_class, dfs_find_final_overrider_q,
	get_basefndecls, warn_hidden, walk_subobject_offsets,
	build_base_fields, create_vtable_ptr, propagate_binfo_offsets,
	layout_virtual_bases, end_of_class, warn_about_ambiguous_bases,
	finish_struct_1, get_vfield_name, contains_empty_class_p,
	dump_class_hierarchy_r, finish_vtbls, build_vtt_inits,
	dfs_ctor_vtable_bases_queue_p, accumulate_vtbl_inits,
	add_vcall_offset_vtbl_entries_r, cp_fold_obj_type_ref): Adjust
	BINFO macros.
	* cp/decl.c (xref_basetypes): Likewise.
	* cp/dump.c (cp_dump_tree): Likewise.
	* cp/error.c (dump_expr): Likewise.
	* cp/init.c (sort_mem_initializers, expand_member_init,
	push_base_cleanups): Likewise.
	* cp/method.c (do_build_copy_constructor, do_build_assign_reg,
	synthesize_exception_spec): Likewise.
	* cp/name-lookup.c (arg_assoc_class):
	* cp/pt.c (instantiate_class_template, tsubst,
	get_template_base_recursive):
	* cp/ptree.c (cxx_print_type):
	* cp/rtti.c (get_psuedo_ti_init, get_pseudo_ti_desc): Likewise.
	* cp/search.c (lookup_base_r, dynamic_cast_base_recurse,
	dfs_access_in_type, access_in_type, lookup_field_queue_p,
	bfs_walk, dfs_walk_real, look_for_overrides, markedp, unmarkedp,
	marked_pushdecls_p, unmarked_pushdecls_p, dfs_debug_markedp,
	dfs_debug_unmarkedp, dfs_check_overlap, dfs_no_overlap_yet,
	binfo_for_vtable, copied_binfo, original_binfo): Likewise
	* cp/tree.c (copy_base_binfos, make_binfo): Likewise.
	* cp/typeck.c (commmon_base_type): Likewise
	* cp/typeck2.c (process_init_constructor): Likewise

	* java/java-tree.h (CLASSTYPE_SPUER): Adjust BINFO macros.
	(TYPE_NVIRTUALS, TYPE_VTABLE): Likewise.
	* java/class.c (set_super_info, class_depth, interface_of_p,
	maybe_add_interface, add_interface, make_class_data,
	layout_class, add_miranda_methods): Adjust BINFO macros.
	* java/expr.c (can_widen_reference_to, lookup_field): Likewise.
	* java/jcf-write.c (generate_classfile): Likewise.
	* java/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): Likewise.
	* java/typeck.c (find_method_in_interface): Likewise.
	* java/verify.c (merge_types): Likewise.

From-SVN: r84198
2004-07-07 10:21:04 +00:00
Nick Clifton
6b66447a52 (fr30_setup_incoming_varargs): Change arguments to match
TARGET_SETUP_INCOMING_VARARGS prototype.

From-SVN: r84197
2004-07-07 09:27:55 +00:00
Matthias Klose
874a4e75a7 Makefile.am (jar_CPPFLAGS): Add AM_CPPFLAGS.
2004-07-07  Matthias Klose  <doko@debian.org>

        * Makefile.am (jar_CPPFLAGS): Add AM_CPPFLAGS.
        * Makefile.in: Regenerate.

From-SVN: r84196
2004-07-07 08:43:10 +00:00
Nathan Sidwell
2272d9cf7c * vec.h: Fix the example use.
From-SVN: r84195
2004-07-07 08:25:04 +00:00
Richard Henderson
84936f6f88 langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove.
* langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove.
        * langhooks.h (struct lang_hooks): Remove gimple_before_inlining.
        * tree-inline.c (copy_body_r, setup_one_parameter,
        initialize_inlined_parameters, expand_call_inline,
        declare_inline_vars): Don't check it.
        (expand_calls_inline): Remove old version, rename new version
        from gimple_expand_calls_inline.
        * tree-optimize.c (execute_gimple): Remove.
        (pass_gimple): Don't run anything.

From-SVN: r84190
2004-07-06 20:19:55 -07:00
Andrew Pinski
634330f5e3 os-dep.c (GC_task_self): Declare as static and remove the second declaration.
2004-07-06  Andrew Pinski  <apinski@apple.com>

        * os-dep.c (GC_task_self): Declare as static
        and remove the second declaration.

From-SVN: r84188
2004-07-06 20:08:14 -07:00
Anssi Hannula
185fca74fc re PR libstdc++/15928 (libstdc++ in 3.4.x 3.5 doesn't cross-compile for djgpp)
2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>

	PR libstdc++/15928
	* crossconfig.m4: Add in bits for djgpp.
	* configure: Regenerate.

From-SVN: r84185
2004-07-07 01:07:05 +00:00
GCC Administrator
314fbb7be7 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r84183.2
2004-07-07 00:16:18 +00:00
GCC Administrator
19de4fbdb9 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r84182.2
2004-07-07 00:16:13 +00:00
Joseph Myers
640d429dd9 sourcebuild.texi: Use semicolons instead of commas in section title.
* doc/sourcebuild.texi: Use semicolons instead of commas in
	section title.

From-SVN: r84178
2004-07-07 00:22:14 +01:00
Richard Henderson
bfeebecf52 tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change.
* tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change.
        (sra_walk_modify_expr, scan_init): Likewise.
        (generate_element_zero): Check visited before scanning children.
        (generate_element_init): Set visited on error.
        (scalarize_init): Handle generate_element_init failure similar
        to use_block_copy.

From-SVN: r84177
2004-07-06 16:02:22 -07:00
Joseph Myers
82b5e52a9e toplev.h (NO_FRONT_END_DIAG, [...]): Define.
* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define.
	(warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG.

cp:
	* decl.c (check_tag_decl): Name redeclared type in diagnostic.

From-SVN: r84174
2004-07-06 23:42:45 +01:00
Richard Henderson
b39edae36e i386.c (legitimize_pic_address): Make static.
* config/i386/i386.c (legitimize_pic_address): Make static.
        (legitimize_address): Handle CONST with TLS operand.
        (ix86_expand_move): Don't call legitimize_pic_address directly.
        * config/i386/i386-protos.h (legitimize_pic_address): Remove.

From-SVN: r84173
2004-07-06 15:40:16 -07:00
Roger Sayle
7b5effb49f ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field.
* ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field.
	(noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway.
	(noce_process_if_block): Initialize if_info.b_unconditional if insn_b
	is currently executed unconditionally, i.e. not in "else_bb".

From-SVN: r84172
2004-07-06 21:50:47 +00:00
Matthias Klose
97b62d4781 [multiple changes]
2004-07-06  Matthias Klose  <doko@debian.org>

	* Makefile.in: Regenerate.
	* fastjar.texi: Update for '-u'.

2004-05-19  Casey Marshall <csm@gnu.org>

	PR 7854
	* Makefile.am
	(jar_SOURCES): added shift.c, shift.h.
        (jar_CPPFLAGS): define WITH_SHIFT_DOWN.

        * compress.c
        Added FSF copyright.
        (write_data): new function.
        (compress_file): call write_data.

        * jartool.c
        Updated copyright year.
        (progname): new variable.
        (end_of_entries): new variable.
        (main): open and read file when updating.
        (find_entry): new function.
        (looks_like_dir): new function.
        (read_entries): new function.
        (make_manifest): added parameter `updating'.
        Call `add_file_to_jar' with `updating'.
        (add_to_jar_with_dir): added parameter `updating'.
        Call `add_to_jar' with `updating'.
        (add_to_jar): added parameter `updating'.
        Call `add_file_to_jar' with `updating'.
        Don't add directories if they already exist.
        (add_file_to_jar): added parameter `updating'.
        Update entries if they already exist.

        * jartool.h
        Added #ifndef __FASTJAR_JARTOOL_H__.
        (struct zipentry): added `flags'.

        * shift.c: new file.

        * shift.h: new file.

        * zipfile.h
        (CEN_FLAGS): new constant.

From-SVN: r84171
2004-07-06 21:40:08 +00:00
Steven Bosscher
ca4f3d1319 alpha.c (alpha_use_dfa_pipeline_interface): Remove.
* config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.

From-SVN: r84170
2004-07-06 21:21:31 +00:00
Jason Merrill
9845387984 optimize
From-SVN: r84168
2004-07-06 17:03:54 -04:00
Daniel Berlin
b89cd06e92 dojump.c (do_jump): REFERENCE_EXPR is dead.
2004-07-06  Daniel Berlin  <dberlin@dberlin.org>

	* dojump.c (do_jump): REFERENCE_EXPR is dead.
	* expr.c (expand_expr_real_1): Ditto.
	* tree-inline.c (estimate_num_insns_1): Ditto.
	* tree-pretty-print.c (dump_generic_node): Ditto.
	(op_symbol): Ditto.
	* tree.def: Ditto.

From-SVN: r84165
2004-07-06 20:01:10 +00:00
Daniel Berlin
3d3fa3a16c tree-ssa-pre.c (reference_node_pool): New pool.
2004-07-06  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (reference_node_pool): New pool.
	(find_or_generate_expression): Class 'r' is okay too.
	(create_value_expr_from): Ditto.
	(add_to_sets): LHS should not include vuses.
	(eliminate): Ditto.
	(compute_avail): Reverse ordering of tests.
	Valuize INDIRECT_REF as well.

From-SVN: r84164
2004-07-06 19:55:06 +00:00
Richard Sandiford
60e20b9079 re PR rtl-optimization/16380 (Use of uninitialised register after dbra conversion)
PR rtl-optimization/16380
	* loop.c (check_dbra_loop): Sink comparison instructions if they
	do something other than set cc0.

From-SVN: r84161
2004-07-06 18:27:35 +00:00
James E Wilson
37bcf311cf Delete obsolete doc pointed out by Chris Lattner.
* doc/interface.texi (longjmp and automatic variables): Delete
paragraph recommending taking the address of a variable.

From-SVN: r84160
2004-07-06 11:19:16 -07:00
Nathan Sidwell
a064479c83 vec.h (VEC_embedded_alloc): Remove.
* vec.h (VEC_embedded_alloc): Remove.
	(VEC_embedded_size, VEC_embedded_init): New.
	(VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add
	MEM_STAT_INFO.
	(VEC_truncate): New.
	(vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL.
	(vec_embedded_alloc): Remove.
	* vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust.
	(vec_embedded_alloc): Remove.

From-SVN: r84159
2004-07-06 17:08:42 +00:00
Mark Mitchell
9bc8131314 Makefile.in (langhooks.o): Do not depend on gt-langhooks.h.
* Makefile.in (langhooks.o): Do not depend on gt-langhooks.h.
	(gt-langhooks.h): Remove.

From-SVN: r84158
2004-07-06 16:28:29 +00:00
Mohan Embar
c09bade662 URLStreamHandler.java (parseURL): Canonicalize file portion of URL in addition to spec for file: protocol.
* java/net/URLStreamHandler.java (parseURL): Canonicalize
	file portion of URL in addition to spec for file: protocol.

From-SVN: r84157
2004-07-06 16:27:26 +00:00
George Helffrich
88a2ae206e xcoffout.h (DBX_FINISH_SYMBOL): Fix typo.
2004-07-06  George Helffrich <george@gly.bris.ac.uk>

        * xcoffout.h (DBX_FINISH_SYMBOL): Fix typo.

From-SVN: r84156
2004-07-06 11:37:55 -04:00
Arnaud Charlet
267a8fa960 Complete previous check-in.
From-SVN: r84154
2004-07-06 16:47:27 +02:00
Arnaud Charlet
15ce9ca22b [multiple changes]
2004-07-06  Vincent Celier  <celier@gnat.com>

	* vms_conv.ads: Minor reformatting.
	Alphabetical order for enumerated values of type Command_Type, to have
	the command in alphabetical order for the usage.

	* vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
	the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).

	* gnat_ugn.texi: Document new switch -dn for the GNAT driver.

	* makegpr.adb (Global_Archive_Exists): New global Boolean variable
	(Add_Archive_Path): Only add the global archive if there is one.
	(Build_Global_Archive): Set Global_Archive_Exists depending if there is
	or not any object file to put in the global archive, and don't build
	a global archive if there is none.
	(X_Switches): New table
	(Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
	in the X_Switches table, if any.
	(Initialize): Make sure the X_Switches table is empty
	(Scan_Arg): Record -X switches in table X_Switches

	* opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.

	* make.adb: Minor comment fix

	* gnatname.adb (Gnatname): When not on VMS, and gnatname has been
	invoked with directory information, add the directory in front of the
	path.

	* gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
	invoked with directory information, add the directory in front of the
	path.

	* gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
	when Keep_Temporary_Files is False.
	(GNATCmd): When not on VMS, and the GNAT driver has been invoked with
	directory information, add the directory in front of the path.
	When not on VMS, handle new switch -dn before the command to set
	Keep_Temporary_Files to True.
	(Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
	everywhere.

	* gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
	invoked with directory information, add the directory in front of the
	path.

2004-07-06  Thomas Quinot  <quinot@act-europe.fr>

	* snames.ads, snames.adb (Name_Stub): New name for the distributed
	systems annex.

	* rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
	New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.

	* g-socket.adb (To_Timeval): Fix incorrect conversion of
	Selector_Duration to Timeval for the case of 0.0.

	* exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
	documentation from Evolve_And_Then.

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

	* s-taprop-tru64.adb, s-taprop-os2.adb,
	s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.

2004-07-06  Robert Dewar  <dewar@gnat.com>

	* s-osinte-hpux.ads, s-osinte-freebsd.ads,
	s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
	s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
	s-interr-sigaction.adb, s-taprop-irix-athread.adb,
	s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
	s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
	s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
	s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
	a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
	a-tags.ads, bindgen.ads, checks.adb, checks.adb,
	csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
	exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
	g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
	i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
	sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
	sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
	sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
	s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
	s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
	s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
	vms_data.ads: Minor reformatting,
	Fix bad box comment format.

	* gnat_rm.texi: Fix minor grammatical error

	* sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values

	* sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
	more cases of discriminated records to be recognized as not needing a
	secondary stack.
	(Has_Access_Values): New function.

	* snames.h, snames.adb, snames.ads: New attribute Has_Access_Values

	* cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
	Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
	with LRM terminology).
	Change terminology in comments primitive type => elementary type.

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

	PR ada/15602
	* sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
	parameters do not impose any requirements on the presence of a body.

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

	PR ada/15593
	* sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
	compilation unit and is in an open scope at the point of instantiation,
	assume that a body may be present later.

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

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
	Improve error message when specified size is not supported.

	* sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
	is never a primitive operation.

From-SVN: r84152
2004-07-06 15:57:33 +02:00
Eric Botcazou
ef5732117a sparc.c (get_pc_symbol): Rename into add_pc_to_pic_symbol.
* config/sparc/sparc.c (get_pc_symbol): Rename into
	add_pc_to_pic_symbol.
	(get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name.
	(load_pic_register): Account for previous changes.
	Use reg_names.  Don't create the label twice.
	* config/sparc/sparc.md (UNSPEC_GET_PC): Rename into
	UNSPEC_LOAD_PCREL_SYM.
	(get_pc): Rename into load_pcrel_sym.  Add predicate to
	operands.  Remove condition.

From-SVN: r84151
2004-07-06 12:51:03 +00:00
Giovanni Bajo
fddabb2c22 re PR c++/3671 (cannot deduce enum template parameter with multiple overloads)
PR c++/3671
	* pt.c (convert_nontype_argument): Disallow conversions between
	different enumeration types.

	PR c++/3671
	* g++.dg/template/spec14.C: New test.

From-SVN: r84150
2004-07-06 10:51:08 +00:00
Nathan Sidwell
2da8f02333 dbxout.c (dbxout_type): Don't test whether the binfo slot of RECORD, UNION & QUAL_UNION is actually a binfo.
* dbxout.c (dbxout_type): Don't test whether the binfo slot of
	RECORD, UNION & QUAL_UNION is actually a binfo.

From-SVN: r84149
2004-07-06 09:21:49 +00:00
Nathan Sidwell
809e3e7fec tree.h (TREE_VIA_VIRTUAL): Rename to ...
* tree.h (TREE_VIA_VIRTUAL): Rename to ...
	(BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only.
	(BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags.
	* dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P.
	* dwarf2out.c (add_data_member_location_attribute): Likewise.
	(gen_inheritance_die): Likewise.
	* tree-dump.c (deque_and_dump): Likewise.
	* doc/c-tree.texi (Binfos): Add under reconstruction note.

	* cp/cp-tree.h (BINFO_MARKED): Remove.
	(BINFO_VTABLE_PATH_MARKED, BINFO_NEW_VTABLE_MARKED,
	BINFO_DEPENDENT_BASE_P, BINFO_LOST_PRIMARY_P,
	BINFO_INDIRECT_PRIMARY_P): Use appropriate BINFO_FLAG_n.
	(SET_BINFO_NEW_VTABLE_MARKED): Use BINFO_VIRTUAL_P.
	* cp/class.c (build_base_path): Use BINFO_VIRTUAL_P.
	(mark_primary_bases, determine_primary_base, base_derived_from,
	dfs_find_final_overrider, dfs_find_final_overrider_q,
	dfs_find_inal_overrider_post, update_vtable_entry_for_fn,
	dfs_modify_vtables, walk_subobject_offsets,
	layout_nonempty_base_or_field, build_base_field,
	build_base_fields, propagate_binfo_offsets, layout_virtual_bases,
	end_of_class, get_vfield_name, dump_class_hierarchy, dump_vtable,
	finish_vtbls, build_vtt_inits, dfs_build_secondary_vptr_vtt_inits,
	build_ctor_vtbl_group, accumulate_vtble_inits,
	dfs_accumulate_vtbls_inits, build_vbase_offset_vtbl_entries,
	build_vcall_offset_vtbl_entries, add_vcall_offset_vtbl_entries_r,
	add_vcall_offset_vtbl_entries_1): Likewise.
	* cp/decl.c (xref_basetypes): Incomming virtual base indicated by
	TREE_TYPE. Adjust.
	* cp/dump.c (cp_dump_tree): Use BINFO_VIRTUAL_P.
	* cp/init.c (finish_init_stmts, sort_mem_initializers,
	emit_mem_initializers, build_vtble_address, expand_member_init,
	push_base_cleanups): Likewise.
	* cp/method.c (do_build_copy_constructor): Likewise.
	* cp/pt.c (instantiate_class_template,
	get_template_base_recursive): Likewise.
	* cp/rtti.c (dfs_class_hint_mark, get_pseudo_ti_init,
	get_pseudo_ti_desc): Likewise.
	* cp/search.c (lookup_base_r, dynamic_cast_base_recurse,
	binfo_from_vbase, binfo_via_virtual, copied_binfo,
	original_binfo): Likewise.
	* cp/semantics.c (finish_base_specifier): Virtualness is indicated
	by TREE_TYPE.
	* cp/tree.c (copy_base_binfos): Use BINFO_VIRTUAL_P.

	* java/java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
	* java/class.c (add_interface_do): Use BINFO_VIRTUAL_P.

From-SVN: r84148
2004-07-06 08:51:32 +00:00
Mark Mitchell
a95d27c83b revert: re PR tree-optimization/16115 (double-destruction problem with argument passing via temporary (breaks auto_ptr))
Revert:
	2004-06-24  Jason Merrill  <jason@redhat.com>
	PR c++/16115
	* decl.c (grokparms): Give the PARM_DECL reference type if the
	parameter is passed by invisible reference.

From-SVN: r84147
2004-07-06 07:16:32 +00:00