Commit Graph

83076 Commits

Author SHA1 Message Date
Pat Haugen 3951e521b5 MAINTAINERS (Write After Approval): Add myself.
2007-09-05  Pat Haugen  <pthaugen@us.ibm.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r128143
2007-09-05 18:33:58 +00:00
Uros Bizjak b3172cabd2 cpuid.h: New file.
* gcc/config/i386/cpuid.h: New file.
	* gcc/config/i386/driver-i386.c: Include cpuid.h.
	(describe_cache): Shrink size and line strings to 100 bytes.
	(detect_caches_amd): Return "" for unsupported max_ext_level.
	Use __cpuid function.
	(detect_caches_intel): Return "" for unsupported max_level.
	Use __cpuid function.
	(host_detect_local_cpu): Change feature flag variables to
	unsigned int.  Initialize only extended feature flag variables.
	Use __get_cpuid_max to determine max supported cpuid level.
	Use __cpuid function to determine supported features.  Fix
	calculation of family id.  Remove is_amd and check signature
	directly.  Check for Geode signature.  Handle family 4 id.
	[PROCESSOR_GENERIC32]: New default for unknown family id. Move
	cpu discovery code to other part of the function.
	[PROCESSOR_PENTIUM, PROCESSOR_K6, PROCESSOR_ATHLON]: Do not tune
	for sub-architecture.
	[PROCESSOR_PENTIUMPRO]: Simplify cpu discovery code.
	[PROCESSOR_K8]: Add k8-sse3 architecture.
	[PROCESSOR_GENERIC64]: Remove.
	* gcc/config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
	* gcc/config/i386/crtfastmath.c: Include cpuid.h.  Use __get_cpuid
	to check for SSE and FXSAVE support.
	* gcc/config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
	Add -minline-all-stringops.
	* gcc/config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
	(x86_64-*-*): Ditto.

testsuite/ChangeLog:

	* gcc.dg/i386-cpuid.h: Remove.
	* gcc.target/i386/mmx-check.h: Include cpuid.h.  Use __get_cpuid.
	* gcc.target/i386/sse-check.h: Ditto.
	* gcc.target/i386/sse2-check.h: Ditto.
	* gcc.target/i386/sse3-check.h: Ditto.
	* gcc.target/i386/ssse3-check.h: Ditto.
	* gcc.target/i386/sse4_1-check.h: Ditto.
	* gcc.target/i386/sse4_2-check.h: Ditto.
	* gcc.target/i386/sse4a-check.h: Ditto.
	* gcc.dg/torture/pr16104-1.c: Ditto.
	* gcc.target/i386/mmx-4.c: Do not use NOINLINE.
	* gcc.target/i386/sse-6.c: Ditto.
	* gcc.target/i386/sse-7.c: Ditto.
	* g++.dg/other/i386-1.C: Include cpuid.h.
	(main): New function.  Use __get_cpuid to check target fetaures.

libgomp/ChangeLog:

	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
	(main): Use __get_cpuid to get i386 target fetaures.
	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
	(main): Use __get_cpuid to get x86_64 target fetaures.

From-SVN: r128141
2007-09-05 19:43:01 +02:00
Jie Zhang 57df7359df linux-unwind.h: New file.
* config/bfin/linux-unwind.h: New file.
	* config/bfin/linux.h (MD_UNWIND_SUPPORT): Define.
	* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Define.

From-SVN: r128140
2007-09-05 16:23:42 +00:00
Laurynas Biveinis 6ac1b3a475 Makefile.in (stmt.o): Add alloc-pool.h dependency.
2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* Makefile.in (stmt.o): Add alloc-pool.h dependency.
	* stmt.c: Include alloc-pool.h.
	(struct case_node): Remove GTY marker.
	(add_case_node): New parameter case_node_pool.  Use it for
	allocation of r.
	(expand_case): New allocation pool case_node_pool.  Initialize it,
	pass to add_case_node and free it.

From-SVN: r128139
2007-09-05 15:50:41 +00:00
Paul Thomas 5783dbc412 char_length_10.f90: Correct typo.
2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/char_length_10.f90: Correct typo.

From-SVN: r128136
2007-09-05 14:59:03 +00:00
Sandra Loosemore 1333282db7 mipscop-1.c: Add nomips16 attributes.
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>
            Nigel Stephens <nigel@mips.com>

	gcc/testsuite/
	* gcc.c-torture/compile/mipscop-1.c: Add nomips16 attributes.
	* gcc.c-torture/compile/mipscop-2.c: Likewise.
	* gcc.c-torture/compile/mipscop-3.c: Likewise.
	* gcc.c-torture/compile/mipscop-4.c: Likewise.
	* gcc.dg/torture/mips-hilo-1.c: Likewise.
	* gcc.dg/torture/mips-hilo-2.c: Likewise.
	* gcc.dg/torture/pr19683-1.c: Likewise.
	* gcc.target/mips/madd-3.c: Likewise.
	* gcc.target/mips/maddu-3.c: Likewise.
	* gcc.target/mips/msub-3.c: Likewise.
	* gcc.target/mips/msubu-3.c: Likewise.
	* gcc.target/mips/asm-1.c: Likewise.
	* gcc.target/mips/branch-1.c: Likewise.
	* gcc.target/mips/ins-1.c: Likewise.
	* gcc.target/mips/near-far-3.c: Likewise.
	* gcc.target/mips/near-far-4.c: Likewise.
	* gcc.target/mips/smartmips-lwxs.c: Likewise.
	* gcc.target/mips/smartmips-ror-1.c: Likewise.
	* gcc.target/mips/smartmips-ror-2.c: Likewise.
	* gcc.target/mips/smartmips-ror-3.c: Likewise.
	* gcc.target/mips/smartmips-ror-4.c: Likewise.
	* gcc.target/mips/dspr2-MULT.c: Likewise.
	* gcc.target/mips/dspr2-MULTU.c: Likewise.
	* gcc.target/mips/mips32-dsp-run.c: Likewise.
	* gcc.target/mips/mips32-dspr2-type.c: Likewise.
	* gcc.target/mips/code-readable-1.c: Add mips16 attributes.
	* gcc.target/mips/code-readable-2.c: Likewise.
	* gcc.target/mips/code-readable-3.c: Likewise.

Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r128135
2007-09-05 10:46:25 -04:00
Sandra Loosemore f9e4a411f9 Add mips16/nomips16 function attributes and -mflip-mips16 option for testing mixed-mode compilation.
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>
            Nigel Stephens <nigel@mips.com>

	Add mips16/nomips16 function attributes and -mflip-mips16 option
	for testing mixed-mode compilation.

	gcc/

	* config/mips/mips.opt (mflip-mips16): New.

	* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Define.
	(SYMBOL_FLAG_MIPS16_FUNC_P): Define.

	* config/mips/mips.c (mips_base_target_flags): New.
	(mips_base_mips16): New.
	(mips_base_schedule_insns): New.
	(mips_base_reorder_blocks_and_partition): New.
	(mips_base_align_loops): New.
	(mips_base_align_jumps): New.
	(mips_base_align_functions): New.
	(mips16_flipper): New.
	(mips_attribute_table): Add "mips16" and "nomips16" entries.
	(TARGET_SET_CURRENT_FUNCTION): Define.
	(mips_mips16_type_p, mips_nomips16_type_p): New.
	(mips_comp_type_attributes): Check mips16/nomips16 attributes.
	(mips_function_ok_for_sibcall): Make it deal with functions with
	mips16 attributes.
	(mips_init_split_addresses): New, split out from override_options.
	(mips_init_relocs): New, split out from override_options.
	(was_mips16_p): New.
	(mips_set_mips16_mode): New, split out from override_options.
	(mips_set_current_function): New.
	(override_options):  Add sorry for unsupported mips16/pic
	combination.  Remove error for mips16/dsp combination.	Save
	base option settings.  
	(mips_file_start): Move mips16 mode setting output from here....
	(mips_output_function_prologue): ....to here.
	(mips_output_mi_thunk): Check for mips16 function.
	(build_mips16_function_stub): Don't set .mips16 here.
	(build_mips16_call_stub): Likewise.
	(mips_expand_builtin): Error in mips16 mode.
	(mips_use_mips16_mode_p): New.
	(mips_encode_section_info): Check for mips16 function, and set
	SYMBOL_REF_FLAGS accordingly.

	* doc/extend.texi (Function Attributes): Document new
	mips16/nomips16 attributes.
	* doc/invoke.texi (Option Summary): Add -mflip-mips16.
	(MIPS Options): Document -mflip-mips16.

	gcc/testsuite/
	* gcc.target/mips/mips16-attributes.c: New.

Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r128134
2007-09-05 10:40:04 -04:00
Sandra Loosemore edede0242f mips.c (mips_legitimize_tls_address): Call sorry if we encounter TLS address in MIPS16 mode.
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/mips/mips.c (mips_legitimize_tls_address): Call sorry
	if we encounter TLS address in MIPS16 mode.
	(mips_legitimize_const_move):  Check cannot_force_const_mem for
	the (const (plus symbol offset)) case; this forces invalid TLS
	address in MIPS16 mode to be caught by the above call to sorry.
	(override_options): Don't reset targetm.have_tls in MIPS16 mode,
	because that now enables emutls, which is not ABI compatible
	with native TLS in non-MIPS16 mode.

From-SVN: r128133
2007-09-05 10:33:48 -04:00
Sandra Loosemore db2960f402 Add target hook invoked when cfun changes.
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	Add target hook invoked when cfun changes.

	* doc/tm.texi (TARGET_SET_CURRENT_FUNCTION): Document.
	* target.h (struct gcc_target): Add set_current_function.
	* target-def.h (TARGET_SET_CURRENT_FUNCTION): Define.
	(TARGET_INITIALIZER): Add initializer for set_current_function.
	* tree.h (push_struct_function): New.
	* tree-inline.h (push_cfun, pop_cfun): Move declarations to...
	* function.h: Here.
	(set_cfun): Declare.
	* tree-inline.c (cfun_stack, push_cfun, pop_cfun): Moved to...
	* function.c:  Here.
	(push_function_context_to): Use allocate_struct_function
	to create null context, not init_dummy_function_start.  Use set_cfun.
	(pop_function_context_from): Use set_cfun.
	(in_dummy_function): New.
	(invoke_set_current_function_hook): New.
	(set_cfun): New.
	(push_cfun, pop_cfun): Use set_cfun.
	(push_struct_function): New.
	(allocate_struct_function): Call invoke_set_current_function_hook
	before returning.
	(prepare_function_start): Don't set cfun here.  Remove unused
	argument; fix all callers.
	(init_dummy_function_start): Fiddle with in_dummy_function.  Call
	push_struct_function.
	(init_function_start): Set cfun here.
	(expand_dummy_function_end): Fiddle with in_dummy_function.  Pop cfun.
	* omp-low.c (create_omp_child_function): Use push_struct_function
	and pop_cfun to save/restore state.
	(expand_omp_parallel): Remove unused saved_cfun variable.
	* cgraphunit.c (ipa_passes): Use set_cfun.
	* gimple-low.c (record_vars_into): Use push_cfun/pop_cfun here.
	* dwarf2out.c (dwarf2out_abstract_function): Likewise.
	* matrix-reorg.c (transform_allocation_sites): Likewise.
	(matrix_reorg): Use set_cfun.
	* gimplify.c (gimplify_function_tree): Use push_cfun/pop_cfun here.
	* tree-optimize.c (tree_rest_of_compilation): Remove one redundant
	assignment to cfun; use set_cfun for the other.
	* tree-cfg.c (move_sese_region_to_fn): Use set_cfun.
	(dump_function_to_file): Use push_cfun/pop_cfun here.
	* c-decl.c (finish_function): Use set_cfun.

	gcc/ada/
	* trans.c (Compilation_unit_to_gnu): Use set_cfun.
	* utils.c (end_subprog_body): Likewise.

	gcc/cp/
	* decl.c (finish_function): Use set_cfun.
	* method.c (use_thunk): Likewise.

	gcc/fortran/
	* trans-decl.c (build_entry_thunks): Use set_cfun.
	(gfc_generate_function_code): Likewise.

	gcc/java/
	* decl.c (finish_method): Use set_cfun.

	gcc/treelang/
	* treetree.c (tree_code_create_function_wrapup):  Use set_cfun.

From-SVN: r128132
2007-09-05 10:24:54 -04:00
Richard Guenther e643dc2373 configure.ac (--enable-stage1-checking): If neither --enable-checking nor --disable-checking is provided also turn on...
2007-09-05  Richard Guenther  <rguenther@suse.de>

	* configure.ac (--enable-stage1-checking): If neither --enable-checking
	nor --disable-checking is provided also turn on yes and types
	checking for stage1.
	* configure: Re-generate.

From-SVN: r128131
2007-09-05 14:10:07 +00:00
Paul Thomas a99288e554 re PR fortran/31564 (Error: Type/rank mismatch in argument)
2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31564
	* primary.c (gfc_match_rvalue): Make expressions that refer
	to derived type parameters that have array references into
	variable expressions.  Remove references to use association
	from the symbol.

	PR fortran/33241
	* decl.c (add_init_expr_to_sym): Provide assumed character
	length parameters with the length of the initialization
	expression, if a constant, or that of the first element of
	an array.

2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31564
	* gfortran.dg/derived_comp_array_ref_2.f90: New test.

	PR fortran/33241
	* gfortran.dg/char_length_10.f90: New test.

From-SVN: r128130
2007-09-05 13:34:25 +00:00
Kenneth Zadeck 8e4bf5c782 regrename.c (rerename_optimize): Use deferred rescanning and insert explicit calls to rescan insns when changed.
2007-09-05  Kenneth Zadeck <zadeck@naturalbridge.com>

	* regrename.c (rerename_optimize):  Use deferred rescanning and
	insert explicit calls to rescan insns when changed.

From-SVN: r128129
2007-09-05 13:23:32 +00:00
Jan Hubicka a48b501cb5 optabs.c (libfunc_entry): Change optab to integer.
* optabs.c (libfunc_entry): Change optab to integer.
	(hash_libfunc, convert_optab_libfunc, optab_libfunc,
	set_optab_libfunc, set_conv_libfunc): Use optable indexes instead
	of pointers for hashing.

From-SVN: r128128
2007-09-05 10:51:34 +00:00
Jan Hubicka 330618621b sematics.c (expand_body): Remove unnecesary import_export_decl call...
* cp/sematics.c (expand_body): Remove unnecesary import_export_decl
	call, DECL_EXTERNAL checks and current_function_decl saving.

From-SVN: r128127
2007-09-05 10:50:18 +00:00
Jan Hubicka a36b8a1ee8 regrename.c (pass_regrename, [...]): Add RTL sharing verifier.
* regrename.c (pass_regrename, pass_cprop_hardreg): Add RTL sharing
	verifier.
	* fwprop.c (pass_rtl_fwprop, pass_rtl_fwprop_add): Likewise.
	* see.c (pass_see): Likewise.
	* tracer.c (pass_tracer): Likewise.
	* postreload-gcse.c (pass_gcse2): Likewise.
	* postreload.c (pass_postreload_cse): Likewise.
	* mode-switching.c (pass_mode_switching): Likewise.
	* modulo-sched.c (pass_sms): Likewise.
	* cse.c (cse_insn): Likewise.
	* web.c (pass_web): Likweise.
	* combine-stack-adj.c (pass_stack_adjustments): Likewise.
	* dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Likewise.
	* loop-init.c (pass_rtl_loop_init): Likewise.
	(pass_rtl_loop_done, pass_rtl_move_loop_, pass_rtl_unswitch,
	pass_rtl_unroll_and, pass_rtl_doloop): Likewise.
	* global.c (pass_global_alloc): Likewise.
	* ifcvt.c (pass_rtl_ifcvt, pass_if_after_combine,
	pass_if_after_reload): Likewise.
	* reload.c (pass_peephole2, pass_split_for_shoren_branches): Likewise.
	* dse.c (pass_rtl_dse1, pass_rtl_dse2): Likewise.
	* regmove.c (pass_regmove): Likewise.
	* function.c (pass_thread_prologugues_epilogues): Likewise.
	* gcse.c (pass_gcse): Likewise.
	* rtl-factoring.c (pass_rtl_seqabstr): Likewise.
	* lower-subreg.c (pass_lower_subreg2): Likewise.
	* bt-load.c (pass_branch_target_load): Likewise.
	* emit-rtl.c (pass_unshare_all_rtl): Likewise.
	* cfgcleanup.c (pass_jump, pass_jump2): Likewise.
	* combine.c (pass_combine): Likewise.
	* bb-reorder.c (pass_duplicate_comp, pass_reorder_blocks): Likewise.
	(pass_partition_blocks): Likewise.
	* var-tracking.c (pass_variable_track): Likewise.
	* reg-stack.c (pass_stack_regs_run): Likewise.
	* sched-rgn.c (pass_sched, pass_sched2): Likewise.
	* passes.c (pass_postreload): Likewise.
	(execute_function_todo): Add TODO_verify_rtl_sharing handling code.
	* tree-pass.h (TODO_verify_rtl_sharing): New.
	(TODO_update_ssa, TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
	TODO_update_ssa_only_virtuals, TODO_remove_unused_locals,
	TODO_set_props, TODO_df_finish, TODO_df_verify,
	TODO_mark_first_instance, TODO_rebuild_alias): Renumber.

From-SVN: r128126
2007-09-05 10:49:01 +00:00
Paolo Carlini 03ba2e1122 PR c++/29731 (again)
/cp
2007-09-05  Paolo Carlini  <pcarlini@suse.de>

	PR c++/29731 (again)
	* parser.c (cp_parser_primary_expression): Return error_mark_node
	when a statement-expression is found in a template-argument list.

/testsuite
2007-09-05  Paolo Carlini  <pcarlini@suse.de>

	PR c++/29731
	* g++.dg/parse/template24.C: New.

From-SVN: r128124
2007-09-05 09:31:54 +00:00
Matthias Klose 50e47dba16 configure.ac: Do not pass --with-native-libdir to classpath.
libjava/

 2007-09-04  Matthias Klose  <doko@ubuntu.com>
 
	* configure.ac: Do not pass --with-native-libdir to classpath.
	* configure: Regenerate.

libjava/classpath/

2007-09-04  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Append libgcj soversion to nativeexeclibdir.
	* configure: Regenerate.

From-SVN: r128121
2007-09-05 07:45:09 +00:00
Kaveh R. Ghazi ac545c6462 fold-const.c (all_ones_mask_p, [...]): Constify.
* fold-const.c (all_ones_mask_p, sign_bit_p, simple_operand_p,
	fold_real_zero_addition_p, reorder_operands_p,
	div_if_zero_remainder, fold_undefer_overflow_warnings,
	int_binop_types_match_p, fold_convert_const_int_from_int,
	fold_convert_const_int_from_real,
	fold_convert_const_int_from_fixed,
	fold_convert_const_real_from_real,
	fold_convert_const_real_from_fixed,
	fold_convert_const_fixed_from_fixed,
	fold_convert_const_fixed_from_int,
	fold_convert_const_fixed_from_real, maybe_lvalue_p,
	fold_checksum_tree, fold_check_failed, print_fold_checksum,
	debug_fold_checksum, multiple_of_p): Constify.
	* tree-flow-inline.h (get_lineno): Likewise.
	* tree-flow.h (get_lineno): Likewise.
	* tree-object-size.c (compute_object_offset, addr_object_size,
	alloc_object_size, pass_through_call): Likewise.
	* tree-pretty-print.c (op_symbol, print_call_name,
	print_struct_decl, do_niy): Likewise.
	* tree.h (fold_undefer_overflow_warnings, multiple_of_p,
	debug_fold_checksum): Likewise.

From-SVN: r128120
2007-09-05 06:59:36 +00:00
Steven Bosscher bda9fc3983 re PR middle-end/33029 (libgcc2.c:1890: internal compiler error: in local_cprop_pass, at gcse.c:3236)
PR middle-end/33029
	* lower-subreg.c (resolve_clobber): If we remove a REG_LIBCALL
	note, remove the associated REG_RETVAL note.

From-SVN: r128119
2007-09-05 05:31:37 +00:00
Andrew Pinski 437cc56a07 config.gcc (powerpc*-*-*): Install spu2vmx.h, vec_types.h, and si2vmx.h headers.
2007-09-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config.gcc (powerpc*-*-*): Install
        spu2vmx.h, vec_types.h, and si2vmx.h headers.
        * config/rs6000/spu2vmx.h: New header.
        * config/rs6000/si2vmx.h: New header.
        * config/rs6000/vec_types.h: New header.
2007-09-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * g++.dg/other/spu2vmx-1.C: New test.

From-SVN: r128118
2007-09-04 18:36:09 -07:00
Ben Elliston ff539210fa * varasm.c (initializer_constant_valid_p): Fix comment typo.
From-SVN: r128117
2007-09-05 11:31:53 +10:00
Ben Elliston ff90b22062 ppu_intrinsics.h (__ldarx): Use `Z' constraint, not `m' for *ptrp.
* config/rs6000/ppu_intrinsics.h (__ldarx): Use `Z' constraint,
	not `m' for *ptrp.
	(__stdcx): Make asm volatile.
	(__stwcx, __stdcx): Return only 0 or 1.

From-SVN: r128116
2007-09-05 11:22:05 +10:00
Jason Merrill c1bb7f8670 except.c (initialize_handler_parm): Use fold_build_cleanup_point_expr.
* except.c (initialize_handler_parm): Use
        fold_build_cleanup_point_expr.

From-SVN: r128115
2007-09-04 21:04:05 -04:00
Jerry DeLisle 7b71bedf40 re PR libfortran/33225 (Missing last digit in some formatted output (on 32bit targets), per kind write_float)
2007-03-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33225
	* io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
	new file write_float.def. Include write_float.def.
	(extract_real): Delete. (calculate_sign): Delete.
	(calculate_exp): Delete. (calculate_G_format): Delete.
	(output_float): Delete. (write_float): Delete.
	* io/write_float.def (calculate_sign): Added.
	(output_float): Refactored to be independent of kind and added to this
	file for inclusion. (write_infnan): New function to write "Infinite" or
	"NaN" depending on flags passed, independent of kind.
	(CALCULATE_EXP): New macro to build kind specific functions. Use it.
	(OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
	(DTOA, DTOAL): Macros to implement "decimal to ascii".
	(WRITE_FLOAT): New macro for kind specific write_float functions.
	(write_float): Revised function to determine kind and use WRITE_FLOAT
	to implement kind specific output.

From-SVN: r128114
2007-09-05 00:51:18 +00:00
GCC Administrator f143c8e7d8 Daily bump.
From-SVN: r128112
2007-09-05 00:17:36 +00:00
Jan Hubicka 104fe9a70c Revert:
2007-09-04  Jan Hubicka  <jh@suse.cz>
	* tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.

	2007-09-04  Richard Guenther  <rguenther@suse.de>
	* tree-ssa-operands.c (add_virtual_operand): Only mark
	stores as has_volatile_ops if alias information is not available.

From-SVN: r128109
2007-09-05 00:03:32 +00:00
Jakub Jelinek 314b621ed9 re PR rtl-optimization/32300 (ICE with -O2 -fsee)
PR rtl-optimization/32300
	* see.c (see_copy_insn): New function.
	(see_def_extension_not_merged, see_merge_one_use_extension,
	see_merge_one_def_extension): Use it.  Avoid changing
	PREV_INSN/NEXT_INSN chains directly, insted emit insns
	into sequences.  Call df_insn_delete on temporary insns
	that won't be emitted into the insn stream.
	(rest_of_handle_see): Turn off DF_DEFER_INSN_RESCAN
	and run df_process_deferred_rescans () before run_fast_dce.

From-SVN: r128108
2007-09-05 01:31:11 +02:00
Jakub Jelinek d3079c44fc re PR tree-optimization/33017 (tree check fail for legal code)
PR tree-optimization/33017
	* tree-data-ref.c (split_constant_offset) <case SSA_NAME>: Don't
	recurse for pure or const function calls.

	* gcc.dg/pr33017.c: New test.

From-SVN: r128107
2007-09-05 01:29:58 +02:00
Jakub Jelinek ce629d4d98 tramp.asm: Include config.h.
* config/rs6000/tramp.asm: Include config.h.
	Check __PIC__ or __pic__ macro instead of SHARED.

From-SVN: r128106
2007-09-05 01:28:26 +02:00
Laurynas Biveinis 95b2e554d0 c-format.c: Include alloc-pool.h.
2007-09-04  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* c-format.c: Include alloc-pool.h.
	(check_format_info_main): New argument fwt_alloc.  Use allocation
	pool instead of GC.  Remove GC deallocation code.
	(check_format_arg): Create allocation pool, pass it to
	check_format_info_main and free it afterwards.
	* Makefile.in (c-format.o): Add alloc-pool.h dependency.

From-SVN: r128105
2007-09-04 23:22:34 +00:00
Matthias Klose acd29efb0f re PR libgcj/33278 (libjava fails to compile if configure argument contains "version")
2007-09-05  Matthias Klose  <doko@ubuntu.com>

	PR libgcj/33278
	* configure.ac: Robustify extraction of gcj version.
	* configure: Regenerate.

From-SVN: r128104
2007-09-04 21:32:41 +00:00
Ben Elliston b2e34bc125 ppu_intrinsics.h (__protected_stream_count): Rename count macro arugment for clarity.
* config/rs6000/ppu_intrinsics.h (__protected_stream_count):
	Rename count macro arugment for clarity.
	(__protected_unlimited_stream_set): Pass UG=1 to __dcbt_TH1000.
	(__protected_stream_set): Likewise, pass 0.

testsuite/
	* gcc.target/powerpc/ppu-intrinsics.c: Add test cases for the
	__protected_stream family of macros.

From-SVN: r128103
2007-09-05 07:10:59 +10:00
Jason Merrill 9380ed8466 re PR c++/31419 (template user defined conversion operator instantiated for conversion to self)
PR c++/31419
        * call.c (reference_binding): Don't look for user-defined conversions
        to the same type.

From-SVN: r128102
2007-09-04 16:18:05 -04:00
Jan Hubicka 4aeb38965b * tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.
From-SVN: r128101
2007-09-04 19:27:11 +00:00
Jason Merrill ba6c89a9a9 re PR c++/31411 (ICE in gimplify_expr with throw/special copy constructor with initializer with a deconstructor)
PR c++/31411
        * except.c (initialize_handler_parm): Put a CLEANUP_POINT_EXPR inside
        the MUST_NOT_THROW_EXPR.

From-SVN: r128100
2007-09-04 14:37:33 -04:00
Andrew Haley f202305d01 [multiple changes]
2007-09-04  Andrew Haley  <aph@redhat.com>

	PR java/27908
	* testsuite/libjava.lang/PR27908.java
	({run1,run2,run3}.isRunning): New Method.
	(main): Fix race condition.

2007-08-29  Andrew Haley  <aph@redhat.com>

	* gnu/classpath/natVMStackWalker.cc (VMStackWalker::getCallingClass):
	Make sure we're not sibcalled.
	(GET_CALLING_CLASS): Define for ARM EABI.

2007-08-22  Andrew Haley  <aph@redhat.com>

	* configure.host (BACKTRACESPEC): Add arm*-linux*.

2007-08-22  Andrew Haley  <aph@redhat.com>

	* configure.ac (LIBSTDCXXSPEC): New.
	* configure.host: Add arm*-linux* to pthread test.
	* configure.ac (LIBGCJTESTSPEC): Add path to libstdc++ for ARM
	EABI.
	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
	-fexceptions for ARM EABI.
	* testsuite/lib/libjava.exp (libjava_arguments): Add libgcj-test.spec.
	(libjava_invoke): Log the invocation.

2007-08-15  Andrew Haley  <aph@redhat.com>

	* configure.ac (extra_ldflags): Define.
	* Makefile.am: Use extra_ldflags for all executables.

2007-08-14  Andrew Haley  <aph@redhat.com>

	* sysdep/arm/backtrace.h: Remove stubs for _Unwind_GetIPInfo,
	_Unwind_GetRegionStart, and _Unwind_Backtrace.

2007-07-27  Andrew Haley  <aph@redhat.com>

	* gnu/classpath/natVMStackWalker.cc (GET_CALLING_CLASS): Stub for
	ARM EABI.
	* exception.cc (get_exception_header_from_ue): New.
	(get_ttype_entry): ARM EABI version.
	(PERSONALITY_FUNCTION): Add ARM EABI code.
	* sysdep/arm/backtrace.h: New file.
	* stacktrace.cc (_URC_NORMAL_STOP): New.
	* configure.ac (extra_ldflags_libjava): Add libsupc++.la for ARM
	EABI.
	* configure.host (BACKTRACESPEC): Add arm/backtrace.h.

From-SVN: r128098
2007-09-04 18:00:31 +00:00
Andrew Haley da6c9e4017 [multiple changes]
2007-09-04  Andrew Haley  <aph@redhat.com>

	PR java/27908
	* testsuite/libjava.lang/PR27908.java
	({run1,run2,run3}.isRunning): New Method.
	(main): Fix race condition.

2007-08-29  Andrew Haley  <aph@redhat.com>

	* gnu/classpath/natVMStackWalker.cc (VMStackWalker::getCallingClass):
	Make sure we're not sibcalled.
	(GET_CALLING_CLASS): Define for ARM EABI.

2007-08-22  Andrew Haley  <aph@redhat.com>

	* configure.host (BACKTRACESPEC): Add arm*-linux*.

2007-08-22  Andrew Haley  <aph@redhat.com>

	* configure.ac (LIBSTDCXXSPEC): New.
	* configure.host: Add arm*-linux* to pthread test.
	* configure.ac (LIBGCJTESTSPEC): Add path to libstdc++ for ARM
	EABI.
	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
	-fexceptions for ARM EABI.
	* testsuite/lib/libjava.exp (libjava_arguments): Add libgcj-test.spec.
	(libjava_invoke): Log the invocation.

2007-08-15  Andrew Haley  <aph@redhat.com>

	* configure.ac (extra_ldflags): Define.
	* Makefile.am: Use extra_ldflags for all executables.

2007-08-14  Andrew Haley  <aph@redhat.com>

	* sysdep/arm/backtrace.h: Remove stubs for _Unwind_GetIPInfo,
	_Unwind_GetRegionStart, and _Unwind_Backtrace.

2007-07-27  Andrew Haley  <aph@redhat.com>

	* gnu/classpath/natVMStackWalker.cc (GET_CALLING_CLASS): Stub for
	ARM EABI.
	* exception.cc (get_exception_header_from_ue): New.
	(get_ttype_entry): ARM EABI version.
	(PERSONALITY_FUNCTION): Add ARM EABI code.
	* sysdep/arm/backtrace.h: New file.
	* stacktrace.cc (_URC_NORMAL_STOP): New.
	* configure.ac (extra_ldflags_libjava): Add libsupc++.la for ARM
	EABI.
	* configure.host (BACKTRACESPEC): Add arm/backtrace.h.

From-SVN: r128097
2007-09-04 17:57:52 +00:00
Andrew Haley 6ba7344111 Delete.
From-SVN: r128095
2007-09-04 17:56:02 +00:00
Andrew Haley 0854f1891d re PR java/27908 (VMSecureRandom generateSeed infinite loop? (Regression))
2007-09-04  Andrew Haley  <aph@redhat.com>

	PR java/27908
	* testsuite/libjava.lang/PR27908.java
	({run1,run2,run3}.isRunning): New Method.
	(main): Fix race condition.

From-SVN: r128094
2007-09-04 17:54:56 +00:00
Andrew Haley cb642590f3 [multiple changes]
2007-09-04    <aph@redhat.com>

	* src/arm/sysv.S (UNWIND): New.
	(Whole file): Conditionally compile unwinder directives.
	* src/arm/sysv.S: Add unwinder directives.

	* src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
	Only treat r0 as a struct address if we're actually returning a
	struct by address.
	Only copy the bytes that are actually within a struct.
	(ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
	is returned in r0, not passed by address.
	(ffi_call): Allocate a word-sized temporary for the case where
	a composite is returned in r0.
	(ffi_prep_incoming_args_SYSV): Align as necessary.

2007-08-05  Steven Newbury  <s_j_newbury@yahoo.co.uk>

	* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of 
	directly using the sys_cacheflush syscall.

2007-07-27  Andrew Haley  <aph@redhat.com>

	* src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.

From-SVN: r128093
2007-09-04 17:52:45 +00:00
Jan Hubicka 4d4b8cb9c0 re PR middle-end/29478 (optimization generates warning for casts)
* gcc.dg/tree-ssa/loadpre8.c: Disable inlining.
	* gcc.dg/tree-ssa/pr27236.c: Likewise.
	* gcc.dg/tree-ssa/predcom-1.c: Likewise.
	* gcc.dg/tree-ssa/predcom-2.c: Likewise.
	* gcc.dg/tree-ssa/flatten-2.c: Avoid overactive tail call ellim.
	* gcc.dg/tree-ssa/loadpre5.c: Likewise.
	* gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c:
	Likewise.
	* invoke.texi (-finline-small-functions): Document.
	* ipa-inline.c (cgraph_default_inline_p): Do not use DECL_INLINE
	when deciding what is inlinable.
	(cgraph_decide_recursive_inlining): Handle flag_inline_functions.
	(cgraph_decide_inlining_of_small_function): Handle new flags.
	(cgraph_decide_inlining_incrementally): Likewise.
	* opts.c (decode_options): Enable flag_inline_small_functions at -O2
	* common.opt (finline-small-functions): New.
	* Makefile.in (build/gengtype.o-warn): Work around PR29478

From-SVN: r128092
2007-09-04 16:07:50 +00:00
Richard Sandiford 4c5bae34c1 decl.c (cp_finish_decl): Call determine_visibility before make_rtl_for_nonlocal_decl.
gcc/cp/
	* decl.c (cp_finish_decl): Call determine_visibility before
	make_rtl_for_nonlocal_decl.

From-SVN: r128091
2007-09-04 15:53:21 +00:00
Richard Biener 16ae1645b1 tree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops if alias information is not available.
2007-09-04  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-operands.c (add_virtual_operand): Only mark
	stores as has_volatile_ops if alias information is not available.

From-SVN: r128089
2007-09-04 15:29:15 +00:00
Andrew Haley 817a54f1cd libgcc-bpabi.ver: Add _Unwind_Backtrace as GCC_4.3.0.
2007-08-29  Andrew Haley  <aph@redhat.com>

        * config/arm/libgcc-bpabi.ver: Add _Unwind_Backtrace as GCC_4.3.0.

From-SVN: r128088
2007-09-04 15:08:15 +00:00
Andrew Haley 6f4176b089 libunwind.S (UNWIND_WRAPPER _Unwind_Backtrace): New.
2007-08-08  Andrew Haley  <aph@redhat.com>

        * config/arm/libunwind.S (UNWIND_WRAPPER _Unwind_Backtrace): New.
        * config/arm/unwind-arm.h (__gnu_Unwind_Backtrace): New.
        * config/arm/unwind-arm.c (__gnu_Unwind_Backtrace): New.

From-SVN: r128087
2007-09-04 15:05:01 +00:00
Andrew Haley 29741d6ae5 decl.c (java_init_decl_processing): Call "__cxa_end_cleanup" when using the ARM EABI.
2007-09-04  Andrew Haley  <aph@redhat.com>

        * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
        when using the ARM EABI.

From-SVN: r128086
2007-09-04 15:03:54 +00:00
Emmanuel Thome 99a8d35b47 re PR c++/14178 (doc bug: -fabi-version=2 is now default (not 1))
2007-09-04  Emmanuel Thome  <Emmanuel.Thome@inria.fr>

	PR c++/14178
	* common.opt: Mention ABI version 2 in comment.

From-SVN: r128085
2007-09-04 14:27:05 +00:00
Jan Hubicka 8a33f10034 optabs.c (debug_optab_libfunc): Update; make available to gdb.
* optabs.c (debug_optab_libfunc): Update; make available to gdb.
	(libfunc_entry): New structure.
	(libfunc_hash): New hashtable.
	(hash_libfunc): New function.
	(eq_libfunc): New function.
	(convert_optab_libfunc): New function.
	(optab_libfunc): New function.
	(expand_binop, sign_expand_binop, expand_twoval_binop_libfunc,
	expand_unop, prepare_cmp_insn, prepare_float_insn, gen_add2_insn,
	expand_float, expand_fix, new_optab, new_convert_optab):
	 Update for new libfunc API.
	(init_libfunc, init_integral_libfuncs,
	init_floating_libfuncs, init_interclass_conv_libfuncs
	init_intraclass_conv_libfuncs): Remove; reorganize all logic to:
	(gen_libfunc, gen_int_libfunc, gen_fp_libfunc, gen_int_fp_libfunc,
	gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
	gen_int_to_fp_conv_libfunc, gen_ufloat_conv_libfunc,
	gen_int_to_fp_nondecimal_conv_libfunc, gen_fp_to_int_conv_libfunc,
	gen_intraclass_conv_libfunc, gen_trunc_conv_libfunc,
	gen_extend_conv_libfunc): New.
	(init_one_libfunc): Revamp for hashtables.
	(set_conv_libfunc): Likewise.
	(init_optabs): Initialize hashtable; use lazy initialization where possible.
	* optabs.h (optab_handlers): Move out of GGC.
	(optab, convert_optab): Move out of GGC; add lazy gen info.
	(code_to_optab, convert_optab_table, optab_table): Move out of GGC.
	(optab_libfunc, convert_optab_libfunc): New.
	* builtins.c (expand_builtin_powi): Update for new API.
	* expr.c (convert_move): Likewise.
	* expmed.c (expand_divmod): Likewise.

From-SVN: r128083
2007-09-04 14:03:31 +00:00
Janus Weil 6977374226 decl.c (match_procedure_decl,match_procedure_in_interface, [...]): Handle PROCEDURE statements.
2007-09-04  Janus Weil  <jaydub66@gmail.com>
	    Paul Thomas  <pault@gcc.gnu.org>

	* decl.c (match_procedure_decl,match_procedure_in_interface,
	gfc_match_procedure): Handle PROCEDURE statements.
	* gfortran.h (struct gfc_symbol): New member "gfc_symbol *interface".
	(enum gfc_statement): New element "ST_PROCEDURE".
	(strcut symbol_attribute): New member "unsigned procedure".
	* interface.c (check_interface0): Extended error checking.
	* match.h: Add gfc_match_procedure prototype.
	* parse.c (decode_statement,next_statement,gfc_ascii_statement,
	parse_derived,parse_interface): Implement PROCEDURE statements.
	* resolve.c (resolve_symbol): Ditto.
	* symbol.c (check_conflict): Ditto.
	(gfc_add_proc): New function for setting the procedure attribute.
	(copy_formal_args): New function for copying formal argument lists.


2007-09-04  Janus Weil  <jaydub66@gmail.com>
	    Tobias Burnus  <burnus@net-b.de>

	* gfortran.dg/proc_decl_1.f90: New.
	* gfortran.dg/proc_decl_2.f90: New.
	* gfortran.dg/proc_decl_3.f90: New.
	* gfortran.dg/proc_decl_4.f90: New.


Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r128081
2007-09-04 15:50:35 +02:00
Daniel Jacobowitz 8070c91a53 rs6000.c (rs6000_stack_info): Allocate space for the GOT pointer only if there is a constant pool.
* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space for the
	GOT pointer only if there is a constant pool.  Use the allocated space
	for SPE also.

From-SVN: r128080
2007-09-04 13:46:47 +00:00