Commit Graph

60808 Commits

Author SHA1 Message Date
Richard Henderson
389fdba06a rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
	* alias.c (true_dependence): Update to match new semantics.
	(canon_true_dependence, write_dependence_p): Likewise.
	(anti_dependence, output_dependence): Update write_dependence_p args.
	(unchanging_anti_dependence): Remove.
	* calls.c (purge_mem_unchanging_flag): Remove.
	(fixup_tail_calls): Don't call it.
	(expand_call): Don't add unchanging memory to function usage.
	* expr.c (emit_block_move_via_libcall): Likewise.
	(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
	(get_subtarget): Don't use RTX_UNCHANGING_P.
	(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
	(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
	* combine.c (get_last_value_validate): Use MEM_READONLY_P.
	* cse.c (insert): Don't use RTX_UNCHANGING_P.
	(cse_insn, canon_hash): Use MEM_READONLY_P.
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
	instead of RTX_UNCHANGING_P.
	* explow.c (maybe_set_unchanging): Remove.
	* expr.h (maybe_set_unchanging): Remove.
	* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
	* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
	(assign_parm_setup_reg, expand_function_start): Likewise.
	* integrate.c (copy_rtx_and_substitute): Likewise.
	* ra-rewrite.c (emit_colors): Likewise.
	* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
	(fixup_match_1): Likewise.
	* reload1.c (reload, alter_reg): Likewise.
	* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
	not RTX_UNCHANGING_P.
	(equiv_init_varies_p): Likewise.
	* loop-invariant.c (check_maybe_invariant): Likewise.
	* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
	* loop.c (note_addr_stored): Likewise.
	(prescan_loop): Likewise. Don't check function usage for clobbered
	unchanging memory.
	* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
        not RTX_UNCHANGING_P.
	(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
	* varasm.c (force_const_mem): Likewise.
	* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
	* web.c (entry_register): Likewise.
	* tree-gimple.h (get_base_address): Move decl ...
	* tree.h: ... here.
	* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.

	* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
	called via for_each_rtx.  Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
	(alpha_set_memflags): Update to match.

	* config/darwin.c (machopic_indirect_data_reference): Set
	MEM_READONLY_P instead of RTX_UNCHANGING_P.
	(machopic_indirect_call_target): Likewise.
	(machopic_legitimize_pic_address): Likewise.
	* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
	arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
	* config/arm/arm.md (load_multiple, store_multiple): Likewise.
	* config/frv/frv.md (symGOT2reg): Likewise.
	* config/i386/i386.c (legitimize_pic_address,
	legitimize_tls_address, ix86_split_to_parts): Likewise.
	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
	* config/ia64/ia64.md (load_fptr): Likewise.
	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
	* config/m68k/m68k.c (legitimize_pic_address): Likewise.
	* config/mcore/mcore.c (block_move_sequence): Likewise.
	* config/mn10300/mn10300.md (symGOT2reg): Likewise.
	* config/pa/pa.c (legitimize_pic_address): Likewise.
	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
	(rs6000_emit_move): Likewise.
	* config/s390/s390.c (legitimize_pic_address): Likewise.
	(legitimize_tls_address): Likewise.
	* config/s390/s390.md (casesi): Likewise.
	* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
	* config/sh/sh.md (symGOT2reg): Likewise.
	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
	* config/v850/v850.md (casesi): Likewise.

	* config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
	* config/iq2000/iq2000.c (save_restore_insns): Likewise.
	* config/mips/mips.c (mips_restore_gp): Likewise.
	(mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
	* config/sh/sh.c (sh_reorg): Likewise.

From-SVN: r86178
2004-08-18 01:25:01 -07:00
Richard Henderson
17ad5b5ec2 tree.h (struct tree_decl): Add gimple_formal_temp.
* tree.h (struct tree_decl): Add gimple_formal_temp.
        (DECL_GIMPLE_FORMAL_TEMP_P): New.
        * gimplify.c (pop_gimplify_context): Clear it.
        (lookup_tmp_var): Set it, if is_formal.
        (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
        Use is_gimple_val for VECTOR.  Simplify return value.
        (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
        (gimplify_expr): Likewise.
        * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
        is_gimple_tmp_rhs for clarity.  Update all callers.
        (is_gimple_reg_rhs): Simplify logic.
        (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
        clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
        (is_gimple_formal_tmp_reg): Similarly.
        * tree-gimple.h: Update decls.
        * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
        DECL_IGNORED_P, not DECL_ARTIFICIAL.  Tidy formatting.
        * tree-ssa-live.c (var_union, type_var_init): Likewise.
java/
        * java-gimplify.c (java_gimplify_expr): Move '2' handling into
        default case.  Treat '<' similarly.  Update for
        is_gimple_formal_tmp_var name change.
testsuite/
        * gcc.dg/20040206-1.c: XFAIL.

From-SVN: r86176
2004-08-18 00:46:33 -07:00
Paolo Bonzini
5b0eba617b c4x.c (legitimize_operands): Remove calls to preserve_subexpressions_p.
2004-04-18  Paolo Bonzini  <bonzini@gnu.org>

	* config/c4x/c4x.c (legitimize_operands): Remove calls to
	preserve_subexpressions_p.

From-SVN: r86175
2004-08-18 07:12:19 +00:00
Ian Lance Taylor
2502b0bcf5 Split ChangeLog
From-SVN: r86172
2004-08-18 13:11:56 +09:30
Mark Mitchell
8baddbf108 re PR c++/16246 (Incorrect template argument deduction)
PR c++/16246
	* pt.c (unify): Tidy ARRAY_TYPE handling.  Make sure that non-type
	arguments have the same type as the corresponding parameter.

	PR c++/16246
	* g++.dg/template/array7.C: New test.

From-SVN: r86169
2004-08-18 02:55:14 +00:00
David Edelsohn
07e1528687 varasm.c (MAX_OFILE_ALIGNMENT): Move ...
* varasm.c (MAX_OFILE_ALIGNMENT): Move ...
        * defaults.h (MAX_OFILE_ALIGNMENT): ... here.

From-SVN: r86168
2004-08-17 22:27:18 -04:00
Ziemowit Laski
ad8c162bc1 gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii" Objective-C++ extensions.
[gcc/ChangeLog]
2004-08-18  Ziemowit Laski  <zlaski@apple.com>

        * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
        Objective-C++ extensions.
        * gengtype.c (get_file_basename): Match entire subdirectory name
        ('cp', 'objc', 'objcp') rather than just its suffix.
        (get_base_file_bitmap): Allow for files to belong to more than one
        language.
        (get_output_file_with_visibility): Treat objc/objc-act.h as a header
        used by more than one front-end.

From-SVN: r86167
2004-08-18 01:58:13 +00:00
Victor Leikehman
3bc268e64b re PR fortran/13278 (derived type namelist I/O support missing, causes ICE)
2004-08-18  Victor Leikehman  <lei@il.ibm.com>

	PR fortran/13278
	* trans-io.c (transfer_namelist_element): New. Recursively handle
	derived-type variables.  Pass string lengths.
	(build_dt): Code moved to build_namelist, with some
	changes and additions.
	(gfc_build_io_library_fndecls): Declare the fifth
	argument in st_set_nml_var_char -- string_length.
libgfortran/
	* io/transfer.c (st_set_nml_var)
	* io/write.c (namelist_write): Allow var_name and var_name_len to be
	null. For strings, use string_length field instead of len.
	* io/io.h (struct namelist_type): New field string_length.
	(st_set_nml_var_char): New argument string_length.

From-SVN: r86166
2004-08-18 01:20:06 +00:00
Mark Mitchell
b14454ba1a re PR c++/16215 (Bad error message when requesting member of non-aggregate type)
PR c++/16215
	* parser.c (cp_parser_name_lookup_error): If parser->object_scope
	is set use it for diagnostic purposes.
	(cp_parser_pseudo_destructor_name): Remove special-case error
	message.

From-SVN: r86165
2004-08-18 00:58:52 +00:00
GCC Administrator
f2d16e4add Daily bump.
From-SVN: r86163
2004-08-18 00:16:20 +00:00
Richard Earnshaw
d56993f292 arm.md (addsi3, [...]): Rework to avoid use of preserve_subexpressions_p.
* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
avoid use of preserve_subexpressions_p.

From-SVN: r86159
2004-08-17 23:38:53 +00:00
Richard Henderson
504c0e4f17 re PR tree-optimization/17051 (ICE: internal compiler error: verify_ssa failed.for SSA_NAME: l_addr<D8610>_650)
PR 17051
        * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.

From-SVN: r86158
2004-08-17 16:33:46 -07:00
Paolo Carlini
7fa53b443a baseline_symbols.txt: Update to 3.4.0.
2004-08-17  Paolo Carlini  <pcarlini@suse.de>

	* config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.

From-SVN: r86155
2004-08-17 22:58:55 +00:00
DJ Delorie
54e9a19d9d extend.texi: Document new xstormy16 attribute.
* doc/extend.texi: Document new xstormy16 attribute.

* config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
(xstormy16_splittable_below100_or_register): New.
(combine_bnp): New.
(xstormy16_reorg): New.
(TARGET_MACHINE_DEPENDENT_REORG): Define.


* config/stormy16/stormy16.md (movqi_internal): Make name public.
(movhi_internal): Likewise.
(cbhranchhi): Likewise.
(cbhranchhi_neg): Likewise.
(andhi3): Only allow splittable below100 operands.
(iorhi3): Likewise.
(peephole2): New and/zero_extend->and peephole.
(peephole2): New load/ior/save->set1 peephole.
(peephole2): New load/and/save->clr1 peephole.
(bclrx, bclrx2, bclr7, bclr15): New.
(bsetx, bsetx2, bset7, bset15): New.

* config/stormy16/stormy16.c (xstormy16_print_operand): Be more
liberal about acceptable 'B' masks.

* config/stormy16/stormy16-protos.h
(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
xstormy16_below100_operand, xstormy16_below100_or_register,
xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
(PREDICATE_CODES): Add new predicates.

* config/stormy16/stormy16.c
(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
xstormy16_below100_operand, xstormy16_below100_or_register,
xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
(xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
(xstormy16_legitimate_address_p): Allow below100 symbols.
(xstormy16_extra_constraint_p): Add 'W' for below100 operands.
(xstormy16_expand_move): Leave below100 operands as-is.
(xstormy16_encode_section_info): Encode below100 symbols.
(xstormy16_strip_name_encoding): New.
(xstormy16_print_operand): Print 'b' as shift mask.
(xstormy16_attribute_table): Add below100 attributes.
(xstormy16_handle_below100_attribute): New.

* config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
(XSTORMY16_SECTION_FUNCTION): New.
(EXTRA_SECTION_FUNCTIONS): Define using the above.
(ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
(ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
(ASM_OUTPUT_LABELREF): Define.

* config/stormy16/stormy16.md (movqi_internal): Add below100 support.
(movhi_internal): Add below100 support.
(andhi3): Add below100 support.
(iorhi3): Add below100 support.
(iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.

From-SVN: r86154
2004-08-17 18:51:28 -04:00
Robert Millan
c3f84f61e3 Patch from Robert Millan for kfreebsd-gnu/knetbsd-gnu.
* configure.in: In noconfigdirs check, match GNU/k*BSD with GNU/Linux
(instead of FreeBSD).
* configure: Regenerate.

From-SVN: r86151
2004-08-17 15:06:46 -07:00
Jim Wilson
19a503c712 Add missing -fno-fast-math.
From-SVN: r86150
2004-08-17 14:56:20 -07:00
David Edelsohn
ef0e2729a3 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
From-SVN: r86149
2004-08-17 17:55:58 -04:00
James E Wilson
e17c734b16 Canonicalize mips nmadd/nmsub patterns.
* config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
normal and -ffast-math code.

From-SVN: r86148
2004-08-17 14:46:40 -07:00
James E Wilson
743a0a34ca Testcases for canonical mips nmadd/nmsub patterns with or w/o fast-math.
* gcc.dg/mips-nmadd-1.c: New test.
* gcc.dg/mips-nmadd-2.c: New test.

From-SVN: r86147
2004-08-17 14:42:44 -07:00
James E Wilson
67e9009398 Testcases for mips conditional move patterns.
* gcc.dg/mips-movcc-1.c: New test.
* gcc.dg/mips-movcc-2.c: New test.
* gcc.dg/mips-movcc-3.c: New test.

From-SVN: r86146
2004-08-17 14:19:49 -07:00
James E Wilson
4ef47bd8e0 Canonicalize mips conditional move patterns.
* config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
of VOIDmode for comparison code mode.
* config/mips/mips.md: For conditional move patterns, use mode of
first compare operand for comparison mode, instead of VOIDmode.

From-SVN: r86145
2004-08-17 14:18:42 -07:00
Mark Mitchell
1a10290c1c re PR c++/15871 (g++ does not honour -fkeep-inline-functions)
PR c++/15871
	* semantics.c (expand_or_defer_fn): Honor -fkeep-inline-functions.

	PR c++/15871
	* doc/invoke.texi (-fkeep-inline-functions): Update documentation.

	PR c++/15871
	* g++.dg/opt/inline8.C: New test.

From-SVN: r86144
2004-08-17 20:56:25 +00:00
Paolo Carlini
1bc7e46697 baseline_symbols.txt: Update to 3.4.0.
2004-08-17  Paolo Carlini  <pcarlini@suse.de>

	* config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.

From-SVN: r86142
2004-08-17 20:25:55 +00:00
Robert Bowdidge
f4e736dd1d Add -mdynamic-no-pic to compile flags for gcc. On Mac OS X and Darwin,
the compiler generates position-independent-code by default.  This allows
an object file to be used for a dylib or executable without any thought
on the developer's part, but generates less-efficient code.  Setting this
flag on gcc speeds compiles by 3-5%.
        * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.

From-SVN: r86141
2004-08-17 13:02:46 -07:00
Mark Mitchell
8f78f01f72 re PR c++/16965 (Confusing mismatch in error messages)
PR c++/16965
	* cp-tree.h (qualified_name_lookup_error): Add parameter.
	* name-lookup.c (do_class_using_decl): Restrict set of entities
	passed to cp_emit_debug_info_for_using more carefully.
	(lookup_qualified_name): Allow lookup_member to return sets of
	ambiguous entries.
	* parser.c (cp_parser_lookup_name): Add ambiguous_p parameter.
	(cp_parser_primary_expression): Handle ambiguous lookups.
	(cp_parser_template_name): Adjust use of cp_parser_lookup_name.
	(cp_parser_template_argument): Likewise.
	(cp_parser_elaborate_type_specifier): Likewise.
	(cp_parser_namespace_name): Likewise.
	(cp_parser_class_name): Likewise.
	(cp_parser_lookup_name_simple): Likewise.
	* pt.c (tsubst_qualified_id): Handle ambiguous results.
	(tsubst_expr): Likewise.
	* semantics.c (qualified_name_lookup_error): Add decl paramter.
	For ambiguous lookups, print candidates.

	PR c++/16965
	* g++.dg/parse/error17.C: New test.

From-SVN: r86137
2004-08-17 17:32:37 +00:00
Andreas Tobler
13a98f14d2 darwin.md (*call_nonlocal_darwin64): Add #else clause for non Darwin targets.
2004-08-17  Andreas Tobler  <a.tobler@schweiz.ch>

	* config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
	for non Darwin targets.
	(*call_value_nonlocal_darwin64): Likewise.

From-SVN: r86136
2004-08-17 19:07:38 +02:00
Fariborz Jahanian
d0b2079e0a Check for Altivec mode when returning altivec register.
Reviewed by David Edehlson.

From-SVN: r86135
2004-08-17 16:40:40 +00:00
David Edelsohn
feb3dc8b30 Revert 2004-08-16 Stan Shebs <shebs@apple.com>
Revert 2004-08-16  Stan Shebs  <shebs@apple.com>
        * config/rs6000/rs6000.md: Include darwin.md.
        (builtin_setjmp_receiver): Add DImode case.
        * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
        Darwin bits.

From-SVN: r86132
2004-08-17 12:20:35 -04:00
Dorit Naishlos
79fe1b3bd0 tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.
* tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.
        * tree-vectorizer.h: New File: Same.
        * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
        * common.opt (ftree-vectorize): New flag to enable vectorization.
        * timevar.def (TV_TREE_VECTORIZATION): New dump file for vectorization
        pass.
        * tree-data-ref.h (init_data_ref): Additional argument.
        (array_base_name_differ_p): Moved to tree-data-ref.c.
        * tree-data-ref.c (array_base_name_differ_p): Revised.
        (initialize_data_dependence_relation): Call array_base_name_differ_p
        with an extra argument.
        (analyze_all_data_dependences): Same.
        (init_data_ref): Additional argument is_read to set DR_IS_READ.
        * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this file.
        * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
        * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
        * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
        vectorization pass.
        * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
        (tree_ssa_loop_done): Call scev_finalize.
        (tree_vectorize): Define the new vectorization pass.
        * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the size of
        the vector they support (until support for multiple vector sizes is
        added to the vectorizer).
        * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
        * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
        * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
        documentation.

From-SVN: r86131
2004-08-17 16:17:14 +00:00
Michael Koch
baeff9708e Makefile.am (AM_CXXFLAGS): Reformatted to make it more ease to read.
2004-08-17  Michael Koch  <konqueror@gmx.de>

	* Makefile.am (AM_CXXFLAGS): Reformatted to make it more ease to read.
	* Makefile.in: Regenerated.

From-SVN: r86130
2004-08-17 16:10:02 +00:00
Nathan Sidwell
e15987c116 objc-act.c (build_protocol_initializer): Fix build_int_cst usage.
* objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
	usage.
	(generate_protocol_list, handle_impent): Likewise.

From-SVN: r86129
2004-08-17 15:42:55 +00:00
Paul Brook
3d79abbdf8 re PR fortran/13082 (Function entries and entries with alternate returns not implemented)
2004-08-17  Paul Brook  <paul@codesourcery.com>
	Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

	PR fortran/13082
	* decl.c (get_proc_name): Update mystery comment.
	(gfc_match_entry): Check for errors earlier.  Add entry point to list.
	* dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
	* gfortran.h (symbol_attribute): Add entry_master.  Document entry.
	(struct gfc_entry_list): Define.
	(gfc_get_entry_list): Define.
	(struct gfc_namespace): Add refs and entries.
	(enum gfc_exec_op): Add EXEC_ENTRY.
	(struct gfc_code): Add ext.entry.
	* module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
	(mio_symbol_attribute): Don't save/reture addr->entry.
	(mio_namespace_ref): Refcount namespaces.
	* parse.c (accept_statement): Handle ST_ENTRY.
	(gfc_fixup_sibling_symbols): Mark symbol as referenced.
	(parse_contained): Fixup sibling references to entry points
	after parsing the procedure body.
	* resolve.c (resolve_contained_fntype): New function.
	(merge_argument_lists, resolve_entries): New functions.
	(resolve_contained_functions): Use them.
	(resolve_code): Handle EXEC_ENTRY.
	(gfc_resolve): Call resolve_entries.
	* st.c (gfc_free_statement): Handle EXEC_ENTRY.
	* symbol.c (gfc_get_namespace): Refcount namespaces.
	(gfc_free_namespace): Ditto.
	* trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
	optional when multiple entry points are present.
	* trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
	(gfc_get_extern_function_decl): Add assertion.  Fix coment.
	(create_function_arglist, trans_function_start, build_entry_thunks):
	New functions.
	(gfc_build_function_decl): Rename ...
	(build_function_decl): ... to this.
	(gfc_create_function_decl): New function.
	(gfc_generate_contained_functions): Use it.
	(gfc_trans_entry_master_switch): New function.
	(gfc_generate_function_code): Use new functions.
	* trans-stmt.c (gfc_trans_entry): New function.
	* trans-stmt.h (gfc_trans_entry): Add prototype.
	* trans-types.c (gfc_get_function_type): Add entry point argument.
	* trans.c (gfc_trans_code): Handle EXEC_ENTRY.
	(gfc_generate_module_code): Call gfc_create_function_decl.
	* trans.h (gfc_build_function_decl): Remove.
	(gfc_create_function_decl): Add prototype.
testsuite/
	* gfortran.dg/entry_1.f90: New test.

Co-Authored-By: Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>

From-SVN: r86128
2004-08-17 15:34:12 +00:00
Benjamin Kosnik
4c7cb3ea1e baseline_symbols.txt: Update to 3.4.0.
2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.

From-SVN: r86126
2004-08-17 15:17:03 +00:00
Roger Sayle
e3cadb6151 regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to ensure that call_used_regs is a superset of...
* regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
	ensure that call_used_regs is a superset of both fixed_regs and
	call_really_used_regs.

From-SVN: r86119
2004-08-17 13:29:04 +00:00
Andrew Haley
1b9deeb46e lang.c (lang_printable_name): Obey verbose flag.
2004-08-17  Andrew Haley  <aph@redhat.com>

	* lang.c (lang_printable_name): Obey verbose flag.
	* parse.y (constructor_circularity_msg): Set VERBOSE arg for
	lang_printable_name().
	(verify_constructor_circularity, get_printable_method_name,
	check_abstract_method_definitions, java_check_regular_methods,
	java_check_abstract_methods, check_inner_class_access,
	fix_constructors, patch_method_invocation, patch_return):
	Likewise.
	* expr.c (pop_type_0): Likewise.

	* java-tree.h (lang_printable_name_wls): Delete.

From-SVN: r86118
2004-08-17 12:51:01 +00:00
Daniel Bornstein
108a579c02 re PR target/17019 (THUMB: bad switch statement in md code for addsi3_cbranch_scratch)
From Daniel Bornstein  <danfuzz@milk.com>
PR target/17019
* arm.md (addsi3_cbranch_scratch): Correct case labels.

From-SVN: r86114
2004-08-17 10:01:49 +00:00
Andrew Pinski
cc24a60e95 * gcc.dg/darwin-20040812-1.c: Compile only on darwin.
From-SVN: r86113
2004-08-17 01:30:54 -07:00
Paolo Bonzini
62fc1d7d18 re PR middle-end/17036 (ICE: (A >> N) & 1 ? (1 << N) : 0 where A of type unsigned int)
gcc/ChangeLog:
2004-08-17  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/17036
	* fold-const.c (fold): Check for integer operand when
	folding (A >> N) & 1 ? (1 << N) : 0.  Fix from Andrew
	Pinski  <pinskia@physics.uc.edu>.

gcc/testsuite/ChangeLog:
2004-08-17  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.dg/pr17036-1.c: New test.

From-SVN: r86112
2004-08-17 07:40:22 +00:00
Paolo Bonzini
7c27e184c8 Makefile.in: Regenerate.
2004-08-17  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in: Regenerate.
	* configure: Regenerate.

	* Makefile.def (bootstrap-stage): Rename extra_*_flags to
	stage_*_flags.
	* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
	for bootstrapped modules if toplevel bootstrap is going.
	(GCC bootstrap): Generate per-stage targets for all bootstrapped
	modules.  Adjust for changes in Makefile.def.  Enable several
	rules even in non-bootstrap mode, just to avoid peppering the
	template with unnecessary "@if/@endif gcc-bootstrap" pairs.
	(stage-[+prev+]-bubble): Remove.

	* Makefile.def (Dependencies): Depend on all-build-bison,
	all-build-flex, all-build-byacc, all-build-texinfo, rather
	than the host variations.
	* Makefile.tpl (BUILD_DIR_PREFIX): Remove.  Replace throughout
	with BUILD_SUBDIR.
	(BISON): Update for recent Bisons.
	(YACC): Fix typo.
	(cross): Depend on all-build.
	(all): Do not depend on all-build.
	(prebootstrap): Remove.
	(dep-kind): Accept separate prefixes for MODULE and ON variables.
	(Prebootstrap dependencies): Add them to the per-stage targets
	and to all-prebootstrap.
	* configure.in (build_configdirs): Always enable build_tools.
	(BUILD_DIR_PREFIX): Remove.

	* Makefile.def (gcc): Add target variable.
	(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
	* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
	in the recursive `make', instead of hardwiring `all'.
	(Autogenerated TARGET-* variables): New.

gcc/ChangeLog:
2004-08-17  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
	No need to check if in a cross configuration.
	* configure: Regenerate.

	* calls.c (precompute_register_parameters):
	Inline preserve_subexpressions_p ().
	* expmed.c (expand_mult_const, emit_store_flag): Likewise.
	* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
	Likewise.
	* expr.c (get_subtarget): Likewise.
	* rtl.h (preserve_subexpressions_p): Remove.
	* stmt.c (preserve_subexpressions_p): Remove.

	* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
	TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
	Abort on gimplified cases.

From-SVN: r86111
2004-08-17 07:27:16 +00:00
GCC Administrator
9a9ff54903 Daily bump.
From-SVN: r86091
2004-08-17 00:16:21 +00:00
James E Wilson
d97c633306 Make unsafe vector float optimizations dependent on -ffast-math.
* tree.h (VECTOR_FLOAT_TYPE_P): New.
	(FLOAT_TYPE_P): Use it.
	* c-typeck.c (build_binary_op): After convert calls, check for
	check for ERROR_MARK operands.

From-SVN: r86088
2004-08-16 17:00:50 -07:00
Tom Tromey
16d85b639c re PR java/8473 (syntax error on anonymous array subscript)
PR java/8473:
	* parse.y (primary): Changed for initialized and uninitialized
	array creations.
	(array_access): Handle array_creation_initialized.
	(array_creation_expression): Split into
	array_creation_initialized and array_creation_uninitialized.

From-SVN: r86087
2004-08-16 23:57:55 +00:00
Tom Tromey
0e5b137624 re PR java/8473 (syntax error on anonymous array subscript)
PR java/8473:
	* testsuite/libjava.jacks/jacks.xfail: Removed passing test.

From-SVN: r86086
2004-08-16 23:57:30 +00:00
Bryce McKinlay
28f2ebcf3c specific.c: Check GC_LINUX_THREADS before including private/specific.h.
2004-08-16  Bryce McKinlay  <mckinlay@redhat.com>

	* specific.c: Check GC_LINUX_THREADS before including
	private/specific.h. From Richard Earnshaw.

From-SVN: r86084
2004-08-17 00:06:46 +01:00
Zack Weinberg
45c8116dff Makefile.in (BUILD_PREFIX, [...]): Delete.
* Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
	(BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
	(genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
	(genobjs static pattern rule): Remove %.c dependency.
	($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
	Rename rules; delete commands; fix dependencies.
	(mostlyclean): Do not delete temporary source copies.
	* configure.ac: Delete all references to BUILD_PREFIX and
	BUILD_PREFIX_1.
	* configure: Regenerate.

	* print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
	Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
	basic-block.h #ifdef GENERATOR_FILE.  Surround some more code
	with #ifndef GENERATOR_FILE so that nothing from those headers
	is used.

	* rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.

From-SVN: r86083
2004-08-16 23:05:04 +00:00
Adam Nemet
4d73e20b4e * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
From-SVN: r86082
2004-08-16 22:13:27 +00:00
Andrew Pinski
62114438c8 target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove extraneous semicolon.
2004-08-16  Andrew Pinski  <apinski@apple.com>

        * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
        extraneous semicolon.

From-SVN: r86081
2004-08-16 14:53:21 -07:00
Michael Koch
be170ef2ae 2004-08-16 Michael Koch <konqueror@gmx.de>
* Makefile.am
	(math_c_files): Renamed from c_files.
	(math_c_source_files): Renamed from c_source_files.
	* Makefile.in,
	gcj/Makefile.in,
	include/Makefile.in,
	testsuite/Makefile.in: Regenerated.

From-SVN: r86080
2004-08-16 21:19:04 +00:00
Devang Patel
8e3e233be0 c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
* c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
        * print-tree.c (print_node): Print DECL_PRESERVE_P.
        * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
        (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
        * target.h (struct gcc_target): New member, mark_decl_preserved.
        * hooks.c (hook_void_charptr): Rename to ...
        (hook_void_constcharptr): ... new name.
        * hooks.h (hook_void_charptr): Rename to ..
        (hook_void_constcharptr): ... new name.
        * tree.h (DECL_PRESERVE_P): New #define.
        (struct tree_decl): New member, preserve_flag.
        * varasm.c (assemble_start_function): Mark decl preserved.
        (assemble_variable): Same.
        * darwin.c (darwin_mark_decl_preserved): New function.
        * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
        * darwin-protos.h (darwin_mark_decl_preserved): New decl.
        * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.

        testsuite:
        * gcc.dg/darwin-20040809-1.c: New test.

From-SVN: r86076
2004-08-16 13:54:43 -07:00
Joseph Myers
580b395826 c-decl.c (grokdeclarator): Allow for function definition where innermost declarator has attributes.
* c-decl.c (grokdeclarator): Allow for function definition where
	innermost declarator has attributes.

testsuite:
	* gcc.dg/funcdef-attr-1.c: New test.

From-SVN: r86075
2004-08-16 21:35:21 +01:00