Commit Graph

103130 Commits

Author SHA1 Message Date
Richard Sandiford 7725086e26 mips.c (mips_builtin_decls): Declare.
gcc/
	* config/mips/mips.c (mips_builtin_decls): Declare.
	(mips_init_builtins): Store function declarations in
	mips_builtin_decls.
	(mips_builtin_decl): New function.
	(TARGET_BUILTIN_DECL): Define.

From-SVN: r164629
2010-09-26 07:26:20 +00:00
Kai Tietz 174425adcd cygwin.asm: Include auto-host.h.
* config/i386/cygwin.asm: Include auto-host.h.
	(cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
	cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
	(__chkstk, __alloca): Annotate for dwarf2 unwind info.  Drop
	alignment code from the 64-bit path.  Use gas local labels.
	* config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
	from _di_2.  Remove the useless constant integer argument.
	(pro_epilogue_adjust_stack_<mode>_3): New.
	(allocate_stack_worker_probe_<mode>): Macroize from
	allocate_stack_worker_{32,64}.  Use __chkstk_ms.  Update all users.
	* config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
	use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
	(__chkstk_ms): New function.
	* config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
	* gcc/config/i386/t-interix: Likewise.
	* configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
	(HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
	(HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
	* configure, config.in: Rebuild.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r164628
2010-09-25 21:02:24 -07:00
GCC Administrator a0549e082c Daily bump.
From-SVN: r164627
2010-09-26 00:17:07 +00:00
Eric Botcazou cf1bcf06a1 tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new statements because of the return...
* tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
	statements because of the return slot optimization.

From-SVN: r164622
2010-09-25 21:34:45 +00:00
Tobias Burnus de5142553a gfortran.texi: Re-add accidently removed \input line.
2010-09-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi: Re-add accidently removed \input line.

From-SVN: r164621
2010-09-25 21:23:25 +02:00
Jie Zhang fb46238332 lto.c (lto_read_all_file_options): Start a new line after printing out file names.
* lto.c (lto_read_all_file_options): Start a new line after
	printing out file names.

From-SVN: r164620
2010-09-25 14:53:20 +00:00
Daniel Kraft 8e8dc06035 re PR fortran/45776 (Full implementation of variable definition contexts (and related checks))
2010-09-25  Daniel Kraft  <d@domob.eu>

	PR fortran/45776
	* gfortran.h (struct gfc_dt): New member `dt_io_kind'.
	* io.c (resolve_tag): F2008 check for NEWUNIT and variable
	definition checks for NEWUNIT, IOSTAT, SIZE and IOMSG.
	(gfc_free_dt): Correctly handle freeing of `dt_io_kind' and
	`extra_comma' with changed semantics.
	(gfc_resolve_dt): Check variable definitions.
	(match_io_element): Remove INTENT and PURE checks here and
	initialize code->ext.dt member.
	(match_io): Set dt->dt_io_kind.
	(gfc_resolve_inquire): Check variable definition for all tags
	except UNIT, FILE and ID.
	* resolve.c (resolve_transfer): Variable definition check.

2010-09-25  Daniel Kraft  <d@domob.eu>

	PR fortran/45776
	* gfortran.dg/io_constraints_6.f03: New test.
	* gfortran.dg/io_constraints_7.f03: New test.
	* gfortran.dg/newunit_2.f90: New test.

From-SVN: r164619
2010-09-25 16:27:20 +02:00
Anatoly Sokolov c21136eebb avr.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove.
	* config/avr/avr-protos.h (class_likely_spilled_p): Remove.
	* config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
	(class_likely_spilled_p): Rename to...
	(avr_class_likely_spilled_p): ...this. Make static. Change argument
	type to reg_class_t.

From-SVN: r164618
2010-09-25 13:40:19 +04:00
Tobias Burnus 915acec49b interface.c (gfc_match_end_interface): Constify char pointer to fix warning.
2010-09-25  Tobias Burnus  <burnus@net-b.de>

        * interface.c (gfc_match_end_interface): Constify char pointer
        to fix warning.

From-SVN: r164617
2010-09-25 09:06:36 +02:00
Steven G. Kargl c6d6e62f3e interface.c (gfc_match_end_interface): Deal with user defined operators that...
2010-09-24  Steven G. Kargl  < kargl@gcc.gnu.org>

	* fortran/interface.c (gfc_match_end_interface): Deal with user defined
	operators that overload rational operators and C1202.

2010-09-24  Steven G. Kargl  < kargl@gcc.gnu.org>

	* testsuite/gfortran.dg/operator_c1202.f90: New test.

From-SVN: r164616
2010-09-25 05:55:59 +00:00
GCC Administrator 3879ef2d2a Daily bump.
From-SVN: r164615
2010-09-25 00:18:04 +00:00
Jan Hubicka 051f8cc6c7 lto-symtab.c (lto_symtab_entry_def): Add guessed field.
* lto-symtab.c (lto_symtab_entry_def): Add guessed field.
	(lto_symtab_resolve_symbols): Set it.
	(lto_symtab_merge_decls_1): Do not compute used_from_object_file;
	store resolution field in cgraph/varpool.
	* cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
	(cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
	(cgraph_dump_node): Drop used_from_object_file.
	(cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
	(cgraph_function_body_availability): Use decl_replaceable_p.
	(cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
	(cgraph_can_remove_if_no_direct_calls_and_refs): Use
	cgraph_used_from_object_file_p.
	(cgraph_will_be_removed_from_program_if_no_direct_calls): Use
	cgraph_used_from_object_file_p.
	(resolution_used_from_other_file_p): New functoin.
	(cgraph_used_from_object_file_p): New predicate.
	* cgraph.h: Include plugin-api.h
	(struct cgraph_local_info): Remove used_from_object_file.
	(struct cgraph_node): Add resolution field.
	(struct varpool_node): Likewise; remove used_from_object_file;
	reove const_value_known.
	(cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
	cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
	(resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
	varpool_used_from_object_file_p): Declare.
	(varpool_get_node, varpool_extra_name_alias): Update prototype.
	* tree.h (DECL_REPLACEABLE_P): Remove.
	(decl_replaceable_p, decl_binds_to_current_def_p): Declare.
	* final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
	input_overwrite_node, input_node, input_varpool_node): Stream
	resolution.
	* expr.c (expand_expr_real_1): Use const_value_known_p
	* ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
	const_value_known.
	(cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
	(function_and_variable_visibility): Set resolution for local vars
	and functions.
	use varpool_used_from_object_file_p.
	* varasm.c (resolution_to_local_definition_p, resolution_local_p): New
	static functions.
	(default_binds_local_p_1): Use resolutoin info.
	(decl_binds_to_current_def_p, decl_replaceable_p): New functions.
	* varpool.c (varpool_get_node): Constify.
	(const_value_known_p): Do not use vnode->const_value_known;
	use decl_replaceable_p.
	(varpool_finalize_decl): Do not set const_value_known.
	(cgraph_variable_initializer_availability): Use decl_replaceable_p
	(varpool_extra_name_alias): Return new node.
	(varpool_used_from_object_file_p): New function.

	* decl.c (finish_function): Use decl_replaceable_p
	* method.c (make_alias_for_thunk): Update call of cgraph_same_body_alias.

	* lto.c (lto_promote_cross_file_statics): Use const_value_known_p.

From-SVN: r164610
2010-09-24 21:47:59 +00:00
Richard Henderson 5c255b57b2 ia64.c (ia64_dwarf_handle_frame_unspec): New.
* config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New.
        (TARGET_DWARF_HANDLE_FRAME_UNSPEC): New.
        (do_spill): Use REG_CFA_OFFSET.
        (ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER
        as appropriate.
        (ia64_expand_epilogue): Likewise.
        (process_set): Split into ...
        (process_cfa_adjust_cfa): this,
        (process_cfa_register): this,
        (process_cfa_offset): and this new function.
        (ia64_asm_unwind_emit): Use them.  Expect REG_CFA_* notes
        instead of REG_FRAME_RELATED_EXPR.

From-SVN: r164609
2010-09-24 14:20:51 -07:00
Olivier Hainque 42d87712de vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
* config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.

From-SVN: r164607
2010-09-24 20:32:48 +00:00
Jan Hubicka 46a4da10f5 extend.texi: (attribute leaf): Document.
* doc/extend.texi: (attribute leaf): Document.
	* tree.c (local_define_builtin): Handle ECF_LEAF.
	(build_common_builtin_nodes): Set ECF_LEAF where needed.
	* tree.h (ECF_LEAF): New.
	* ipa-reference.c (propagate_bits): For leaf calls propagate ever overwrittable
	and unavailable functions.
	(ipa_init): Put all_module_statics into optimization_summary_obstack.
	(copy_global_bitmap): Do not copy all_module_statics.
	(read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF.
	(propagate): Handle overwritable and unavailable leaf functions;
	initialize global info for overwritable and unavailable leaf functions;
	do not free all module statics.
	(ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
	leaf calls don't clobber local statics.
	* calls.c (flags_from_decl_or_type): Handle leaf.
	* tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do
	abnormal gotos.

	* c-common.c (handle_leaf_attribute): New function.
	(struct attribute_spec c_common_att): Add leaf.

	* gcc.dg/tree-ssa/leaf.c: New testcase.

From-SVN: r164606
2010-09-24 19:14:51 +00:00
Basile Starynkevitch e1b793e7c1 gengtype.c: Reindented.
2010-09-24  Basile Starynkevitch  <basile@starynkevitch.net>

	* gcc/gengtype.c: Reindented.

	* gcc/gengtype.h: Reindented.

	* gcc/gengtype-parse.c: Reindented.

From-SVN: r164604
2010-09-24 17:37:16 +00:00
Jan Hubicka 1d0804d4b6 re PR middle-end/45738 (ICE: tree check: expected var_decl, have debug_expr_decl in const_value_known_p, at varpool.c:375)
PR tree-optimization/45738
	PR tree-optimization/45741
	* expr.c (string_constant): Allow CONST_DECL too;
	check that DECL_INITIAL is set.
	* varpool.c (const_value_known_p): Only look into VAR_DECL
	and CONST_DECL.

	* gcc.c-torture/compile/pr45741.c: New.
	* gfortran.fortran-torture/compile/pr45738.f90: New.

From-SVN: r164602
2010-09-24 16:24:45 +00:00
Joseph Myers 5642f5d5d5 common.opt (undef): New.
* common.opt (undef): New.

testsuite:
	* gcc.dg/cpp/undef-opt-1.c: New test.

From-SVN: r164599
2010-09-24 16:14:40 +01:00
Jason Merrill 3fdb885199 decl.c (compute_array_index_type): Remember type dependence of array bound.
* decl.c (compute_array_index_type): Remember type dependence of
	array bound.
	* pt.c (dependent_type_p_r): Don't recompute it here.

From-SVN: r164598
2010-09-24 11:13:19 -04:00
Jason Merrill 75d980abcc error.c (dump_expr): Print conversion between reference and pointer to the same type as "*" or "&".
* error.c (dump_expr) [CASE_CONVERT]: Print conversion between
	reference and pointer to the same type as "*" or "&".

From-SVN: r164597
2010-09-24 11:13:08 -04:00
Jakub Jelinek 32990d5bc2 re PR middle-end/45234 (ICE in expand_call, at calls.c:2845 when passing aligned function argument from unaligned stack after alloca)
PR middle-end/45234
	* rtl.h (enum global_rtl_index): Add
	GR_VIRTUAL_PREFERRED_STACK_BOUNDARY.
	(LAST_VIRTUAL_POINTER_REGISTER): Define.
	(virtual_preferred_stack_boundary_rtx,
	VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define.
	(LAST_VIRTUAL_REGISTER): Increase by one.
	(REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER
	instead of LAST_VIRTUAL_REGISTER.
	* function.c (instantiate_new_reg): Handle
	virtual_preferred_stack_boundary_rtx.
	* emit-rtl.c (init_virtual_regs): Handle
	VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
	(init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx.
	* explow.c (round_push): If crtl->preferred_stack_boundary
	is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use
	virtual_preferred_stack_boundary_rtx alignment instead of
	crtl->preferred_stack_boundary alignment.
	(allocate_dynamic_stack_space): Use CONST_INT_P and REG_P
	macros.  Never decrease crtl->preferred_stack_boundary,
	use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT
	instead of PREFERRED_STACK_BOUNDARY.  Don't modify
	stack_pointer_delta in dynamic allocation, even when size
	is constant.
	(probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P
	macro.
	* print-rtl.c (print_rtx): Handle
	VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
	* config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use
	LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER.
	* config/frv/frv.c (frv_emit_movsi): Likewise.
	* config/arm/arm.c (thumb1_legitimate_address_p): Likewise.
	* config/rs6000/rs6000.c (virtual_stack_registers_memory_p):
	Likewise.

	* gcc.dg/torture/stackalign/alloca-6.c: New test.
	* gcc.target/i386/pr45234.c: New test.

	Revert:
	2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45234
	* calls.c (expand_call): Make sure that all variable sized
	adjustments are multiple of preferred stack boundary after
	stack alignment.

From-SVN: r164593
2010-09-24 16:37:02 +02:00
Iain Sandoe 3d1b7f135d re PR bootstrap/45751 (Bootstrap failure: at stage 1 xgcc segfault)
PR bootstrap/45751
	* gcc/config/darwin-driver.c (darwin_default_min_version):
	Adjust size passed to memcpy in two places.


Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r164592
2010-09-24 14:06:35 +00:00
Richard Guenther 116f30c3fe c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
2010-09-24  Richard Guenther  <rguenther@suse.de>

	* c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
	Make sure to not call set_type_context with error_mark_node.
	* langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P.

	* gcc.dg/lto/20091006-2_0.c: Prune warnings.

From-SVN: r164591
2010-09-24 13:21:30 +00:00
Richard Guenther de6ba7aee1 Makefile.in (OBJS-onestep): Remove.
2010-09-24  Richard Guenther  <rguenther@suse.de>

	* Makefile.in (OBJS-onestep): Remove.
	(ALL_HOST_BACKEND_OBJS): Remove libbackend.o.
	(libbackend.a): Remove onestep support.
	(libbackend.o): Remove.
	* configure.ac (--enable-intermodule): Remove.
	* configure: Regenerate.

From-SVN: r164590
2010-09-24 11:59:12 +00:00
Bernd Schmidt 662592e1ba cfgcleanup.c (flow_find_head_matching_sequence): Terminate when reaching the end of a block if it occurs at a DEBUG_INSN.
* cfgcleanup.c (flow_find_head_matching_sequence): Terminate when
	reaching the end of a block if it occurs at a DEBUG_INSN.

From-SVN: r164589
2010-09-24 11:29:59 +00:00
Marcus Shawcroft e2686b2d76 nested-2.C: Permit the ARM @ character as a comment leader in regexp.
2010-09-24  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* g++.dg/debug/dwarf2/nested-2.C: Permit the ARM @ character
	as a comment leader in regexp.

From-SVN: r164588
2010-09-24 10:34:01 +00:00
Tristan Gingold 5501bdc1f5 re PR target/44242 (vms-crt0*.c should compile with gcc)
2010-09-09  Tristan Gingold  <gingold@adacore.com>

	PR target/44242
	* config/vms/vms-crt0-64.c: Removed.
	* config/vms/vms-crt0.c: Removed.
	* config/vms/vms-psxcrt0-64.c: Removed.
	* config/vms/vms-psxcrt0.c: Removed.
	* config/vms/vms-ucrt0.c: New file.
	* config/vms/t-vms64: Removed.
	* config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it.  Remove DECC.
	Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o
	* config.gcc (alpha-dec-vms): Use t-vms.

From-SVN: r164587
2010-09-24 08:46:36 +00:00
Nicola Pero 35e711d3df In gcc/:
* doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove
        underfull hbox in DVI output.
        (-fobjc-class-cxx-cdtors): Same change.
        (-fobjc-exceptions): Tidied up documentation.  Explain what the
        option does, but moved the (lenghty) description of the exception
        syntax into objc.texi.
        (-fobjc-gc): Explain that the option is not useful with the GNU
        runtime.
        (-fzero-link): Explain that the GNU runtime always works in
        "zero-link" mode.
        * doc/objc.texi: All sections: simplified @node declarations
        removing specification of next, previous, up node.
        (Objective-C): Updated introduction.
        (Garbage Collection): Updated.  The bohem-gc library is now
        included in gcc itself.  Mention that this section only applies to
        the GNU Objective-C runtime.
        (compatibility_alias): Small tidy up.
        (Exceptions): New section mostly containing text previously in the
        description of the -fobjc-exception command-line option.
        (Synchronization): Same.

From-SVN: r164586
2010-09-24 08:19:17 +00:00
Nicola Pero f1570cec9b sync-2.m: New test.
* objc.dg/sync-2.m: New test.
        * obj-c++.dg/sync-2.mm: New test.

From-SVN: r164585
2010-09-24 07:51:29 +00:00
Tobias Burnus 3994c6b11b gfortran.texi: Add second space after end-of-sentence period...
2010-09-24  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi: Add second space after end-of-sentence period;
        change / to /@/ to allow hyphenation of URLs.
        (Standards): Remove duplicated OpenMP, update wording given that
        Fortran 2008 now released.
        (Fortran 2008 status): Update and add list of implemented features.

From-SVN: r164584
2010-09-24 08:39:20 +02:00
Uros Bizjak 6fd71fde8b i386.md (ix86_code_end): Move the initialization of xops array near the consumer.
* config/i386/i386.md (ix86_code_end): Move the initialization of
	xops array near the consumer.  Use AX_REG and SP_REG instead of
	numerical constants.

From-SVN: r164583
2010-09-24 08:10:35 +02:00
Tobias Burnus be1f1ed97b re PR fortran/40571 (F2008: ISO_FORTRAN_ENV: Missing constants)
2010-09-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40571
        * iso-fortran-env.def: Add NAMED_KINDARRAY with
        character_kinds, integer_kinds, logical_kinds and
        real_kinds.
        * gfortran.h: Add them to iso_fortran_env_symbol.
        * libgfortran.h: Rename GFC_INQUIRE_INTERNAL_UNIT to
        LIBERROR_INQUIRE_INTERNAL_UNIT and move it from
        libgfortran_stat_codes to libgfortran_error_codes.
        * module.c (create_int_parameter_array): New function.
        (use_iso_fortran_env_module): Use it for
        NAMED_KINDARRAY of iso-fortran-env.def.
        * trans-decl.c (gfc_get_symbol_decl): Parameter
        arrays of intrinsics modules become local static variables.
        * intrinsic.texi (ISO_FORTRAN_ENV): Add character_kinds,
        integer_kinds, logical_kinds and real_kinds.

2010-09-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40571
        * gfortran.dg/iso_fortran_env_7.f90: New.

From-SVN: r164581
2010-09-24 07:42:03 +02:00
GCC Administrator 2b3a483788 Daily bump.
From-SVN: r164578
2010-09-24 00:19:44 +00:00
Nicola Pero 19dc6d0152 In gcc/:
* c-typeck.c (convert_arguments): Use warning 'too many arguments
        to method [methodname]' for an Objective-C method instead of the
        less satisfactory 'too many arguments to function' (with no method
        name).
In gcc/cp/:
        * typeck.c (warn_args_num): Use warning 'too many arguments to
        method [methodname]' for an Objective-C method instead of the less
        satisfactory 'too many arguments to function' (with no method
        name).
In gcc/testsuite/:
        * obj-c++.dg/too-many-args.mm: New file.
        Merge from 'apple/trunk' branch on FSF servers.

        2006-03-27 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4491608
        * objc.dg/too-many-args.m: New

From-SVN: r164573
2010-09-23 22:21:39 +00:00
Eric Botcazou 452648a89b Fix latest ChangeLog entry
From-SVN: r164572
2010-09-23 22:19:52 +00:00
Eric Botcazou f61c8291cb tree-flow.h (execute_update_addresses_taken): Adjust.
* tree-flow.h (execute_update_addresses_taken): Adjust.
	* tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages.
	(execute_update_addresses_taken): Remove parameter and OPTIMIZE test.
	* passes.c (execute_function_todo): Adjust calls to above function.

From-SVN: r164571
2010-09-23 22:06:18 +00:00
Thomas Koenig 962b8a0e7e re PR fortran/45744 (ICE with -O1 in gfc_conv_expr_op, at fortran/trans-expr.c:1366)
2010-09-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45744
	* frontend-passes.c (optimize_binop_array_assignment):
	Only re-use lhs as intermediate storage if kind and type
	parameters match.

2010-09-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45744
	* gfortran.dg/dependency_36.f90:  New test.

From-SVN: r164570
2010-09-23 19:37:48 +00:00
Bernd Schmidt 5109c83f9a Remove accidentally added empty file.
From-SVN: r164569
2010-09-23 17:44:00 +00:00
Anatoly Sokolov ffda8a0d87 arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
	* config/arm/arm-protos.h (arm_output_addr_const_extra): Remove.
	* config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
	(arm_output_addr_const_extra): Make static.

From-SVN: r164568
2010-09-23 20:15:44 +04:00
Uros Bizjak 17eba94716 i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and define as unspec_volatile.
* config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and
	define as unspec_volatile.
	("nops"): Define as unspec_volatile. Use fputs to write to
	asm_out_file directly.  Output NOPs on separate lines using while loop.
	* config/i386/i386.c (ix86_code_end): Use fputs to write to
	asm_out_file directly.  Output NOPs on separate lines using while loop.

testsuite/ChangeLog:

	* gcc.target/i386/pad-1.c: Remove -S from dg-options.
	* gcc.target/i386/pad-3.c: Ditto.
	* gcc.target/i386/pad-7.c: Ditto.
	* gcc.target/i386/pad-7.c: Ditto.
	* gcc.target/i386/pr36502.c: Ditto.
	* gcc.target/i386/zee.c: Ditto.
	* gcc.target/i386/20060821-1.c: Ditto.
	* gcc.target/i386/pad-2.c: Ditto.  Scan for NOPs on separate lines.
	* gcc.target/i386/pad-5a.c: Ditto.  Do not use scan-assembler-not.
	* gcc.target/i386/pad-5b.c: Ditto.
	* gcc.target/i386/pad-6a.c: Ditto.
	* gcc.target/i386/pad-6b.c: Ditto.
	* gcc.target/i386/pad-8.c: Ditto.
	* gcc.target/i386/pad-9.c: Ditto.
	* gcc.target/i386/pad-10.c: Ditto.
	* gcc.target/i386/pad-4.c: Ditto.  Require pic effective target.

From-SVN: r164564
2010-09-23 15:25:30 +02:00
Richard Guenther 3d11339491 re PR middle-end/45565 (ICE: in execute_todo, at passes.c:1276 with -fno-toplevel-reorder -fno-inline -fipa-cp-clone -fkeep-inline-functions)
2010-09-23  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45565
	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
	Make sure to adjust the fndecl before replacing the stmt.

	* g++.dg/ipa/pr45565.C: New testcase.

From-SVN: r164561
2010-09-23 12:39:26 +00:00
Mikael Morin bef6486a5a re PR fortran/45745 (ICE in gfc_conv_array_stride)
2010-09-23  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/45745
	PR fortran/45648
	* trans-array.c (gfc_conv_expr_descriptor): Handle 
	ss->type == GFC_SS_INTRINSIC (for {l,u}bound intrinsics) case. 

2010-09-23  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/45745
	PR fortran/45648
	* gfortran.dg/vector_subscript_bound_1.f90: New.

From-SVN: r164558
2010-09-23 11:11:23 +00:00
Richard Guenther dca267461a re PR tree-optimization/45750 (ICE: in iterative_hash_expr, at tree.c:6831 on invalid code)
2010-09-23  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45750
	* gimplify.c (gimplify_expr): Properly pass on GS_ERROR when
	gimplifying MEM_REF.

	* gcc.dg/pr45750.c: New testcase.

From-SVN: r164555
2010-09-23 11:00:27 +00:00
Jakub Jelinek 030ef1fba5 alloca-4.c: Remove -m32 from dg-options.
* gcc.dg/torture/stackalign/alloca-4.c: Remove -m32 from dg-options.
	* gcc.dg/torture/stackalign/alloca-5.c: Likewise.  Fix up -DDEBUG
	build.

From-SVN: r164554
2010-09-23 12:57:37 +02:00
Alan Modra 9f2e34e1eb rs6000.c (toc_relative_ok): Delete.
* config/rs6000/rs6000.c (toc_relative_ok): Delete.
	(rs6000_emit_move): Use SYMBOL_REF_LOCAL_P instead.

From-SVN: r164553
2010-09-23 20:20:48 +09:30
Bernd Schmidt 3c3bd4710f re PR rtl-optimization/44374 (Hoist same instructions in different branches)
PR rtl-optimization/44374
	* basic-block.h (enum bb_flags): Add BB_MODIFIED.
	* df-core.c (df_set_bb_dirty): Set it.
	* ifcvt.c (find_memory): Remove function.
	(dead_or_predicable): Use can_move_insns_across.
	* df.h (can_move_insns_across): Declare function.
	* cfgcleanup.c (block_was_dirty): New static variable.
	(try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
	than df_get_bb_dirty.
	(try_head_merge_bb): New static function.
	(try_optimize_cfg): Call it.  Call df_analyze if block_was_dirty
	is set.
	* df-problems.c: Include "target.h"
	(df_simulate_find_uses): New static function.
	(MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
	(find_memory, find_memory_store): New static functions.
	(can_move_insns_across): New function.
	* Makefile.in (df-problems.o): Update dependencies.

testsuite/
	PR rtl-optimization/44374
	* gcc.target/arm/headmerge-1.c: New test.
	* gcc.target/arm/headmerge-2.c: New test.
	* gcc.target/i386/headmerge-1.c: New test.
	* gcc.target/i386/headmerge-2.c: New test.

From-SVN: r164552
2010-09-23 10:04:33 +00:00
Tobias Burnus 87350d4af5 intrinsic.texi (OpenMP modules): Add named constants of OMP_LIB.
gcc/fortran/
2010-09-23  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi (OpenMP modules): Add named constants of
        OMP_LIB.

libgomp/
2010-09-23  Tobias Burnus  <burnus@net-b.de>

        * libgomp.texi (omp_get_nested, omp_set_nested,
        * omp_set_dynamic):
        Change Fortran datatype to LOGICAL.
        (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
        omp_unset_nested_lock): Use intent(inout) instead of intent(out).

From-SVN: r164551
2010-09-23 11:01:32 +02:00
Daniel Kraft 8c91ab34b5 re PR fortran/38936 ([F03] ASSOCIATE construct / improved SELECT TYPE (a=>expr))
2010-09-23  Daniel Kraft  <d@domob.eu>

	PR fortran/38936
	PR fortran/44044
	PR fortran/45474
	* gfortran.h (gfc_check_vardef_context): New method.
	(struct symbol_attribute): New flag `select_type_temporary'.
	* primary.c (gfc_variable_attr): Clarify initialization of ref.
	(match_variable): Remove PROTECTED check and assignment check
	for PARAMETERs (this is now done later).
	* match.c (gfc_match_iterator): Remove INTENT(IN) check.
	(gfc_match_associate): Defer initialization of newAssoc->variable.
	(gfc_match_nullify): Remove PURE definability check.
	(select_type_set_tmp): Set new `select_type_temporary' flag.
	* expr.c (gfc_check_assign): Remove INTENT(IN) check here.
	(gfc_check_pointer_assign): Ditto (and other checks removed).
	(gfc_check_vardef_context): New method.
	* interface.c (compare_parameter_protected): Removed.
	(compare_actual_formal): Use `gfc_check_vardef_context' for checks
	related to INTENT([IN]OUT) arguments.
	* intrinsic.c (check_arglist): Check INTENT for intrinsics.
	* resolve.c (gfc_resolve_iterator): Use `gfc_check_vardef_context'.
	(remove_last_array_ref): New method.
	(resolve_deallocate_expr), (resolve_allocate_expr): Ditto.
	(resolve_allocate_deallocate): Ditto (for STAT and ERRMSG).
	(resolve_assoc_var): Remove checks for definability here.
	(resolve_select_type): Handle resolving of code->block here.
	(resolve_ordinary_assign): Remove PURE check.
	(resolve_code): Do not resolve code->blocks for SELECT TYPE here.
	Use `gfc_check_vardef_context' for assignments and pointer-assignments.

2010-09-23  Daniel Kraft  <d@domob.eu>

	PR fortran/38936
	PR fortran/44044
	PR fortran/45474
	* gfortran.dg/intrinsic_intent_1.f03: New test.
	* gfortran.dg/select_type_17.f03: New test.
	* gfortran.dg/associate_5.f03: More definability tests.
	* gfortran.dg/enum_2.f90: Check definability.
	* gfortran.dg/allocatable_dummy_2.f90: Change expected error message.
	* gfortran.dg/allocate_alloc_opt_2.f90: Ditto.
	* gfortran.dg/char_expr_2.f90: Ditto.
	* gfortran.dg/deallocate_alloc_opt_2.f90: Ditto.
	* gfortran.dg/enum_5.f90: Ditto.
	* gfortran.dg/equiv_constraint_8.f90: Ditto.
	* gfortran.dg/impure_assignment_2.f90: Ditto.
	* gfortran.dg/impure_assignment_3.f90: Ditto.
	* gfortran.dg/intent_out_1.f90: Ditto.
	* gfortran.dg/intent_out_3.f90: Ditto.
	* gfortran.dg/pointer_assign_7.f90: Ditto.
	* gfortran.dg/pointer_intent_3.f90: Ditto.
	* gfortran.dg/pr19936_1.f90: Ditto.
	* gfortran.dg/proc_ptr_comp_3.f90: Ditto.
	* gfortran.dg/simpleif_2.f90: Ditto.
	* gfortran.dg/protected_5.f90: Ditto.
	* gfortran.dg/protected_4.f90: Ditto and remove invalid error check.
	* gfortran.dg/protected_6.f90: Ditto.
	* gfortran.dg/protected_7.f90: Ditto.

From-SVN: r164550
2010-09-23 10:37:54 +02:00
Jerry DeLisle 42d9f9dd0f re PR fortran/45710 (Adjust format and padding for WRITE of NAMELIST group to internal file)
2010-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/45710
	* gfortran.dg/namelist_65.f90: New test.

From-SVN: r164548
2010-09-23 01:28:39 +00:00
Jerry DeLisle 4363c7a151 re PR fortran/45710 (Adjust format and padding for WRITE of NAMELIST group to internal file)
2010-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/45710
	* io/write.c (namelist_write_newline): Pad character array internal
	unit records with spaces.

From-SVN: r164543
2010-09-23 00:53:15 +00:00