Commit Graph

99219 Commits

Author SHA1 Message Date
Richard Guenther
95d938ee6f tree-ssa-forwprop.c (forward_propagate_addr_expr): Propagate constants everywhere.
2010-04-07  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-forwprop.c (forward_propagate_addr_expr):
	Propagate constants everywhere.

From-SVN: r158063
2010-04-07 14:34:35 +00:00
Jakub Jelinek
1a299ae4f2 re PR debug/43516 ("-fcompare-debug failure" at -O2)
PR debug/43516
	* tree.c (MAX_INT_CACHED_PREC): Define.
	(nonstandard_integer_type_cache): New array.
	(build_nonstandard_integer_type): Cache results for precision
	<= MAX_INT_CACHED_PREC.

From-SVN: r158062
2010-04-07 16:23:35 +02:00
Richard Guenther
0d3c82d66e invoke.texi (-fargument-alias, [...]): Remove.
2010-04-07  Richard Guenther  <rguenther@suse.de>

	* doc/invoke.texi (-fargument-alias, -fargument-noalias,
	-fargument-noalias-global, -fargument-noalias-anything): Remove.
	* common.opt: Likewise.
	* tree-ssa-structalias.c (intra_create_variable_infos): Adjust
	comment.
	* alias.c (base_alias_check): Remove flag_argument_noalias
	handling.
	(nonoverlapping_memrefs_p): Likewise.
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
	* opts.c (common_handle_option): Handle OPT_fargument_alias,
	OPT_fargument_noalias, OPT_fargument_noalias_anything and
	OPT_fargument_noalias_global for backward compatibility.

	fortran/
	* options.c (gfc_init_options): Do not set.

From-SVN: r158060
2010-04-07 13:08:24 +00:00
Richard Guenther
12bd5a1e9f re PR tree-optimization/43270 (array-bounds false negative)
2010-04-07  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43270
	* tree-vrp.c (check_array_ref): Fix flexible array member
	detection.
	* tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
	* tree-ssa-pre.c (phi_translate_1): Adjust.
	(fully_constant_expression): Split out vn_reference handling to ...
	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
	Fold reads from constant strings.
	(vn_reference_lookup): Handle fully constant references.
	(vn_reference_lookup_pieces): Likewise.
	* Makefile.in (expmed.o-warn): Add -Wno-error.

	* g++.dg/warn/Warray-bounds-4.C: New testcase.
	* gcc.dg/Warray-bounds-7.c: Likewise.

From-SVN: r158058
2010-04-07 12:31:32 +00:00
Martin Jambor
a775239672 tree-sra.c (find_param_candidates): Allow scalar va_list types.
2010-04-07  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (find_param_candidates): Allow scalar va_list types.

From-SVN: r158057
2010-04-07 13:43:38 +02:00
Eric Botcazou
b1fa9126ab exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type if the size is small enough.
* exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
	if the size is small enough.  Propagate the alignment if there is an
	alignment clause on the original array type.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
	Deal with under-aligned packed array types.  Copy the size onto the
	justified modular type and don't lay it out again.  Likewise for the
	padding type built for other under-aligned subtypes.
	* gcc-interface/utils.c (finish_record_type): Do not set a default mode
	on the type.

From-SVN: r158056
2010-04-07 11:38:06 +00:00
Eric Botcazou
19c8469429 decl.c (gnat_to_gnu_entity): Set default alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
	alignment on the RETURN type built for the Copy-In Copy-Out mechanism.

From-SVN: r158054
2010-04-07 10:51:30 +00:00
Eric Botcazou
55ba23c404 trans.c (call_to_gnu): In the return-by-target-ptr case do not set the result type if...
* gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
	do not set the result type if there is a specified target and do not
	convert the result in any cases.
	(protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
	(maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.

From-SVN: r158053
2010-04-07 10:49:53 +00:00
Iain Sandoe
6392bea602 re PR driver/41594 (-static-libstdc++ is not recognized as valid by the gcc driver.)
2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>

	PR driver/41594
	* gcc.c: Add -static-libstdc++ to list of recognized options.

From-SVN: r158052
2010-04-07 10:40:06 +00:00
Rainer Orth
9d151aff95 Update comment for last commit.
From-SVN: r158051
2010-04-07 10:35:19 +00:00
Rainer Orth
9af272207f config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
* config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to
	generic.

From-SVN: r158049
2010-04-07 10:30:32 +00:00
Richard Guenther
83a416b095 re PR rtl-optimization/42617 (TARGET_MEM_REF and plain INDIRECT_REFs are not handled by the RTL oracle)
2010-04-07  Richard Guenther  <rguenther@suse.de>

	PR middle-end/42617
	* expr.c (expand_expr_real_1): For TARGET_MEM_REFs with
	pointer bases build simple mem attributes to retain
	points-to information.

From-SVN: r158048
2010-04-07 10:15:05 +00:00
Jie Zhang
6addabbbe8 re PR c++/42556 (Unnecessary generation of a zero initializer for array with C++)
cp/
	PR c++/42556
	* typeck2.c (split_nonconstant_init_1): Drop empty CONSTRUCTOR
	when all of its elements are non-constant and have been split out.

	testsuite/
	PR c++/42556
	* g++.dg/init/pr42556.C: New test.

From-SVN: r158047
2010-04-07 10:14:45 +00:00
Richard Guenther
366f945f9b re PR rtl-optimization/42617 (TARGET_MEM_REF and plain INDIRECT_REFs are not handled by the RTL oracle)
2010-04-07  Richard Guenther  <rguenther@suse.de>

	PR middle-end/42617
	* alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
	preserve points-to related information.

From-SVN: r158046
2010-04-07 10:14:17 +00:00
Richard Guenther
56c47f2271 re PR rtl-optimization/42617 (TARGET_MEM_REF and plain INDIRECT_REFs are not handled by the RTL oracle)
2010-04-07  Richard Guenther  <rguenther@suse.de>

	PR middle-end/42617
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
	discard plain indirect references.
	* fold-const.c (operand_equal_p): Guard against NULL_TREE
	type.
	* tree.c (tree_nop_conversion): Likewise.

From-SVN: r158045
2010-04-07 10:13:25 +00:00
Dodji Seketeli
a42f121709 re PR debug/43628 (in-class func-ptr type parameter has unspecified DW_AT_type)
Fix PR debug/43628

gcc/ChangeLog:
	PR debug/43628
	* dwarf2out.c (modified_type_die): Ignore artificial typedefs.

gcc/testsuite/ChangeLog:
	PR debug/43628
	* g++.dg/debug/dwarf2/typedef2.C: New test.

From-SVN: r158044
2010-04-07 11:59:04 +02:00
Kai Tietz
b97b26342e i386.c (ix86_handle_cconv_attribute): Ignore calling convention attributes on METHOD_TYPEs for w64 ABI, too.
2010-04-06  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
        calling convention attributes on METHOD_TYPEs for w64 ABI, too.

From-SVN: r158042
2010-04-07 10:04:59 +02:00
Sebastian Pop
62ef243189 Fix comments.
2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-if-conv.c: Fix indentation and comments.

From-SVN: r158041
2010-04-07 06:33:55 +00:00
Sebastian Pop
baaa8e9638 Sort static functions in topological order.
2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-if-conv.c: Sort static functions in topological order.

From-SVN: r158040
2010-04-07 06:33:45 +00:00
Sebastian Pop
b6779d815b Fix comments in ifconvert.
2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-if-conv.c: Fix indentation and comments.

From-SVN: r158039
2010-04-07 06:33:35 +00:00
GCC Administrator
bdd277f3a0 Daily bump.
From-SVN: r158038
2010-04-07 00:19:41 +00:00
Dodji Seketeli
c88199cdaf redeclaration-1.C: Moved from c-c++-common/dwarf2/redeclaration-1.C
2010-04-06  Dodji Seketeli  <dodji@redhat.com>

	* g++.dg/debug/dwarf2/redeclaration-1.C: Moved from
	c-c++-common/dwarf2/redeclaration-1.C

From-SVN: r158031
2010-04-06 23:26:35 +02:00
Jason Merrill
d4a2b48623 parser.c (cp_parser_class_specifier): Set class location to that of IDENTIFIER_NODE instead of '{' when possible.
* parser.c (cp_parser_class_specifier): Set class location to that
	of IDENTIFIER_NODE instead of '{' when possible.
	* semantics.c (begin_class_definition): Do not overide locations
	with less precise ones.

From-SVN: r158030
2010-04-06 17:13:07 -04:00
Sebastian Pop
9310a3e269 Add ChangeLog entries.
From-SVN: r158029
2010-04-06 21:05:06 +00:00
Sebastian Pop
b8132a7dfb Fix 473.astar miscompile.
2010-04-05  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/43519
	* graphite-clast-to-gimple.c (max_signed_precision_type): Use
	lang_hooks.types.type_for_size instead of build_nonstandard_integer_type.
	When converting an unsigned type to signed, double its precision.
	(gcc_type_for_interval): Use lang_hooks.types.type_for_size.
	(gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
	(graphite_create_new_loop_guard): When ub + 1 wraps around, use lb <= ub.

From-SVN: r158028
2010-04-06 21:03:37 +00:00
Sebastian Pop
dbe0d65216 Use POINTER_PLUS_EXPR for pointer types.
2010-04-04  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/43519
	* graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
	POINTER_PLUS_EXPR for pointer types.

	* gcc.dg/graphite/id-19.c: New.

From-SVN: r158027
2010-04-06 21:02:25 +00:00
Sebastian Pop
bd32f344ed Compute min and max bounds for IVs and infer types.
2010-04-04  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/43519
	* Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
	* graphite-clast-to-gimple.c: Include langhooks.h.
	(max_signed_precision_type): New.
	(max_precision_type): Takes two types as arguments.
	(precision_for_value): New.
	(precision_for_interval): New.
	(gcc_type_for_interval): New.
	(gcc_type_for_value): New.
	(gcc_type_for_clast_term): New.
	(gcc_type_for_clast_red): New.
	(gcc_type_for_clast_bin): New.
	(gcc_type_for_clast_expr): Split up into several functions.
	(gcc_type_for_clast_eq): Rewritten.
	(compute_bounds_for_level): New.
	(compute_type_for_level_1): New.
	(compute_type_for_level): New.
	(gcc_type_for_cloog_iv): Removed.
	(gcc_type_for_iv_of_clast_loop): Rewritten.
	(graphite_create_new_loop): Compute the lower and upper bound types
	with gcc_type_for_clast_expr.
	(graphite_create_new_loop_guard): Same.
	(find_cloog_iv_in_expr): Removed.
	(compute_cloog_iv_types_1): Removed.
	(compute_cloog_iv_types): Removed.
	(gloog): Do not call compute_cloog_iv_types.
	* graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
	GBB_CLOOG_IV_TYPES.
	(free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
	* sese.h (struct gimple_bb): Removed field cloog_iv_types.
	(GBB_CLOOG_IV_TYPES): Removed.

	* gcc.dg/graphite/run-id-pr42644.c: Call abort.

From-SVN: r158026
2010-04-06 21:01:16 +00:00
Sebastian Pop
79d03cf81b Add extra checks for places assuming one argument loop close SSA form.
2010-04-01  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
	gimple_phi_num_args of the loop close SSA phi node is equal to 1.
	(detect_commutative_reduction): Same.

From-SVN: r158025
2010-04-06 21:00:12 +00:00
Sebastian Pop
a3b9e73ca3 Avoid calling verify_ssa twice in verify_loop_closed_ssa.
2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (graphite_verify): Remove redundant
	call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
	argument.
	* graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
	* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
	(rewrite_commutative_reductions_out_of_ssa): Same.
	* passes.c (execute_function_todo): Call verify_ssa for every pass
	in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
	* tree-flow.h (verify_loop_closed_ssa): Update declaration.
	* tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
	with an extra argument.
	* tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
	verify_ssa only when the extra argument is true.
	(gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
	with an extra argument.
	(tree_transform_and_unroll_loop): Same.

From-SVN: r158021
2010-04-06 19:20:47 +00:00
Sebastian Pop
98b6e9dda5 Always execute verify_loop_closed_ssa at LNO level.
2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>

	* passes.c (execute_function_todo): Call verify_loop_closed_ssa
	for all the passes of the LNO having LOOP_CLOSED_SSA.
	* tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
	* tree-loop-distribution.c (pass_loop_distribution): Same.
	* tree-pass.h (TODO_verify_loops): Removed.
	* tree-ssa-loop.c (pass_tree_loop_init): Same.
	(pass_lim): Same.
	(pass_tree_unswitch): Same.
	(pass_predcom): Same.
	(pass_vectorize): Same.
	(pass_linear_transform): Same.
	(pass_graphite_transforms): Same.
	(pass_iv_canon): Same.
	(pass_complete_unroll): Same.
	(pass_complete_unrolli): Same.
	(pass_parallelize_loops): Same.
	(pass_loop_prefetch): Same.
	(pass_iv_optimize): Same.

From-SVN: r158020
2010-04-06 19:20:29 +00:00
Changpeng Fang
c86a394778 re PR tree-optimization/32824 (Missed reduction vectorizer after store to global is LIM'd)
Fix PR32824.

2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>

	PR middle-end/32824
	* passes.c (init_optimization_passes): Move pass_lim before
	pass_copy_prop and pass_dce_loop.

	* gcc.dg/vect/pr32824: New.

From-SVN: r158018
2010-04-06 19:19:41 +00:00
Tobias Burnus
f4d1d50a5a re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
        * match.c (gfc_match_critical, sync_statement): Ditto.
        * gfortran.h (gfc_fcoarray): New enum.
        (gfc_option_t): Use it.
        * lang.opt (fcoarray): Add new flag.
        * invoke.texi (fcoarray): Document it.
        * options.c (gfc_init_options,gfc_handle_option): Handle
        * -fcoarray=.
        (gfc_handle_coarray_option): New function.

2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_2.f90: Add dg-options -fcoarray=single.
        * gfortran.dg/coarray_3.f90: Ditto.
        * gfortran.dg/coarray_4.f90: Ditto.
        * gfortran.dg/coarray_5.f90: Ditto.
        * gfortran.dg/coarray_6.f90: Ditto.
        * gfortran.dg/coarray_7.f90: Ditto.
        * gfortran.dg/coarray_8.f90: Ditto.
        * gfortran.dg/coarray_9.f90: New -fcoarray=none test.

From-SVN: r158016
2010-04-06 21:03:10 +02:00
Jakub Jelinek
377949813a re PR target/43667 (ICE with __builtin_ia32_vpermil2p* and -mavx)
PR target/43667
	* config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
	instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
	(ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
	MULTI_* defines for 4 argument vpermil2p* builtins.

From-SVN: r158015
2010-04-06 20:41:25 +02:00
Tobias Burnus
178f9aa17e re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.h (gfc_array_spec): Add cotype.
        * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
        and defer error diagnostic.
        * resolve.c (resolve_fl_derived): Add missing check.
        (resolve_symbol): Add cotype/type check.
        * parse.c (parse_derived): Fix setting of coarray_comp.

2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_4.f90: Fix test.
        * gfortran.dg/coarray_6.f90: Add more tests.

From-SVN: r158014
2010-04-06 20:23:56 +02:00
Uros Bizjak
d079b87fab i386-protos.h (x86_maybe_negate_const_int): Declare.
* config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
	* config/i386/i386.c (x86_maybe_negate_const_int): New.
	(x86_output_mi_thunk): Use x86_maybe_negate_const_int.
	* config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
	*addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
	*addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
	*addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
	Use x86_maybe_negate_const_int to output insn mnemonic.
	(*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
	check from instruction predicate.  Update comments.
	* config/i386/sync.md (sync_add<mode>): Use
	x86_maybe_negate_const_int to output insn mnemonic.

From-SVN: r158013
2010-04-06 20:18:42 +02:00
Tobias Burnus
be59db2d47 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
        match_array_element_spec,gfc_copy_array_spec,
        gfc_compare_array_spec): Include corank.
        (match_array_element_spec,gfc_set_array_spec): Support codimension.
        * decl.c (build_sym,build_struct,variable_decl,
        match_attr_spec,attr_decl1,cray_pointer_decl,
        gfc_match_volatile): Add codimension.
        (gfc_match_codimension): New function.
        * dump-parse-tree.c (show_array_spec,show_attr): Support
        * codimension.
        * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
        (gfc_add_codimension): New function prototype.
        * match.h (gfc_match_codimension): New function prototype.
        (gfc_match_array_spec): Update prototype
        * match.c (gfc_match_common): Update gfc_match_array_spec call.
        * module.c (MOD_VERSION): Bump.
        (mio_symbol_attribute): Support coarray attributes.
        (mio_array_spec): Add corank support.
        * parse.c (decode_specification_statement,decode_statement,
        parse_derived): Add coarray support.
        * resolve.c (resolve_formal_arglist, was_declared,
        is_non_constant_shape_array, resolve_fl_variable,
        resolve_fl_derived, resolve_symbol): Add coarray support.
        * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
        gfc_build_class_symbol): Add coarray support.
        (gfc_add_codimension): New function.

2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_4.f90: New test.
        * gfortran.dg/coarray_5.f90: New test.
        * gfortran.dg/coarray_6.f90: New test.

From-SVN: r158012
2010-04-06 20:16:13 +02:00
Tobias Burnus
385e814412 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * iso-fortran-env.def: Add the integer parameters
        * atomic_int_kind,
        atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
        stat_locked_other_image, stat_stopped_image and stat_unlocked of
        Fortran 2008.
        * intrinsic.texi (iso_fortran_env): Ditto.
        * libgfortran.h (libgfortran_stat_codes): New enum.
        * module.c (use_iso_fortran_env_module): Honour -std= when
        * loading
        constants from the intrinsic module.

2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/iso_fortran_env_5.f90: New test.
        * gfortran.dg/iso_fortran_env_6.f90: New test.

From-SVN: r158011
2010-04-06 19:58:50 +02:00
Tobias Burnus
d0a4a61c3d re PR fortran/39997 (Procedure(), pointer & implicit typing: rejects-valid / accepts-invalid?)
2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39997
        * intrinsic.c (add_functions): Add num_images.
        * decl.c (gfc_match_end): Handle END CRITICAL.
        * intrinsic.h (gfc_simplify_num_images): Add prototype.
        * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
        and SYNC.
        * gfortran.h (gfc_statement): Add enum items for those.
        (gfc_exec_op) Ditto.
        (gfc_isym_id): Add num_images.
        * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
        (gfc_trans_sync,gfc_trans_critical): New functions.
        * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
        gfc_trans_critical): Add/update prototypes.
        * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
        and SYNC statements.
        * trans.h (gfor_fndecl_error_stop_string) Add variable.
        * resolve.c (resolve_sync): Add function.
        (gfc_resolve_blocks): Handle CRITICAL.
        (resolve_code): Handle CRITICAL, ERROR STOP,
        (resolve_branch): Add CRITICAL constraint check.
        and SYNC statements.
        * st.c (gfc_free_statement): Add new statements.
        * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
        (gfc_build_builtin_function_decls): Initialize it.
        * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
        (gfc_match_critical, gfc_match_error_stop, sync_statement,
        gfc_match_sync_all, gfc_match_sync_images,
gfc_match_sync_memory):
        New functions.
        (match_exit_cycle): Handle CRITICAL constraint.
        (gfc_match_stopcode): Handle ERROR STOP.
        * match.h (gfc_match_critical, gfc_match_error_stop,
        gfc_match_sync_all, gfc_match_sync_images,
        gfc_match_sync_memory): Add prototype.
        * parse.c (decode_statement, gfc_ascii_statement,
        parse_executable): Handle new statements.
        (parse_critical_block): New function.
        * parse.h (gfc_compile_state): Add COMP_CRITICAL.
        * intrinsic.texi (num_images): Document new function.
        * simplify.c (gfc_simplify_num_images): Add function.

2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39997
        * gfortran.dg/coarray_1.f90: New test.
        * gfortran.dg/coarray_2.f90: New test.
        * gfortran.dg/coarray_3.f90: New test.

2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39997
        * runtime/stop.c (error_stop_string): New function.
        * gfortran.map (_gfortran_error_stop_string): Add.

From-SVN: r158008
2010-04-06 18:26:02 +02:00
Jason Merrill
62daa13984 re PR c++/43648 (ICE with explicit destructor call and typedef)
PR c++/43648
	* name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.

From-SVN: r158007
2010-04-06 12:12:15 -04:00
Jason Merrill
d5eebac0bb re PR c++/43621 (ICE: in poplevel_class, at cp/name-lookup.c:2615 with invalid qualified name)
PR c++/43621
	* pt.c (maybe_update_decl_type): Check the return value from
	push_scope.

From-SVN: r158006
2010-04-06 12:10:47 -04:00
Iain Sandoe
a82ecc7b20 MAINTAINERS (Write After Approval): Add myself.
2010-04-06  Iain Sandoe  <iains@gcc.gnu.org>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r158005
2010-04-06 15:25:35 +00:00
Jan Hubicka
b1a0b3b4ff re PR tree-optimization/42906 (Empty loop not removed)
PR tree-optimization/42906

	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add IGNORE_SELF
	argument; set visited_control_parents for fully processed BBs.
	(find_obviously_necessary_stmts): Update call of
	mark_control_dependent_edges_necessary.
	(propagate_necessity): Likewise; handle PHI edges more curefully.

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

From-SVN: r158004
2010-04-06 15:18:18 +00:00
Joseph Myers
1b10fc20a2 gcc.pot: Regenerate.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r158003
2010-04-06 15:21:32 +01:00
Joseph Myers
02e698d776 * gennews (files): Add files for GCC 4.5.
From-SVN: r157998
2010-04-06 15:06:04 +01:00
Uros Bizjak
6593d12377 i386.md: Remove comment about 'e' and 'E' operand modifier.
* config/i386/i386.md: Remove comment about 'e' and 'E'
	operand modifier.

From-SVN: r157994
2010-04-06 15:20:39 +02:00
Tobias Burnus
2b56d6a425 re PR fortran/43178 (Pointless resetting to NULL for local ALLOCATABLEs)
2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43178
        * trans-array.c (gfc_conv_expr_descriptor): Update
        gfc_trans_scalar_assign call.
        (has_default_initializer): New function.
        (gfc_trans_deferred_array): Nullify less often.
        * trans-expr.c (gfc_conv_subref_array_arg,
        gfc_trans_subcomponent_assign): Update call to
        gfc_trans_scalar_assign.
        (gfc_trans_scalar_assign): Add parameter and pass it on.
        (gfc_trans_assignment_1): Optionally, do not dealloc before
        assignment.
        * trans-openmp.c (gfc_trans_omp_array_reduction): Update
        call to gfc_trans_scalar_assign.
        * trans-decl.c (gfc_get_symbol_decl): Do not always apply
        initializer to static variables.
        (gfc_init_default_dt): Add dealloc parameter and pass it on.
        * trans-stmt.c (forall_make_variable_temp,
        generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
        gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
        gfc_trans_allocate): Update gfc_trans_assignment call.
        * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
        gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
        parameter to prototype.

2010-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43178
        * gfortran.dg/alloc_comp_basics_1.f90: Update
        * scan-tree-dump-times.
        * gfortran.dg/alloc_comp_constructor_1.f90: Ditto.
        * gfortran.dg/auto_dealloc_1.f90: Ditto.

From-SVN: r157993
2010-04-06 14:46:19 +02:00
Richard Guenther
56186ac266 re PR tree-optimization/43627 (slow compilation (tree canonical iv takes 75%))
2010-04-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43627
	* tree-vrp.c (extract_range_from_unary_expr): Widenings
	of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
	not varying.

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

From-SVN: r157992
2010-04-06 12:32:25 +00:00
Jakub Jelinek
d3bccded30 * BASE-VER: Change to 4.6.0.
From-SVN: r157990
2010-04-06 13:14:22 +02:00
Jakub Jelinek
7d11d36899 re PR target/43638 (Internal compiler error with inline asm)
PR target/43638
	* config/i386/i386.c (print_operand): Remove 'e' and 'E' code
	handling.

	* gcc.target/i386/pr43638.c: New test.

From-SVN: r157987
2010-04-06 13:04:58 +02:00
Richard Guenther
eb12d0ae3e re PR c/43661 (ice in fold_comparison, at fold-const.c:9579)
2010-04-06  Richard Guenther  <rguenther@suse.de>

	PR middle-end/43661
	* fold-const.c (fold_comparison): Handle X * 0 CMP 0.

	* gcc.c-torture/compile/pr43661.c: New testcase.

From-SVN: r157984
2010-04-06 10:36:57 +00:00