Commit Graph

103964 Commits

Author SHA1 Message Date
Arnaud Charlet
c0f136cd17 [multiple changes]
2010-10-22  Arnaud Charlet  <charlet@adacore.com>

	* a-locale.adb: Minor code clean up.

2010-10-22  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb: Minor code reorganization and factoring.

From-SVN: r165813
2010-10-22 12:02:10 +02:00
Arnaud Charlet
c56a9ba447 [multiple changes]
2010-10-22  Thomas Quinot  <quinot@adacore.com>

	* exp_ch5.adb, sem_ch5.adb, sinfo.ads, snames.ads-tmpl, par-ch5.adb:
	Minor reformatting.

2010-10-22  Geert Bosch  <bosch@adacore.com>

	* stand.ads: Fix typo in comment.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb: Enable in-out parameter for functions.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression): Handle properly loop
	iterators that are transformed into container iterators after analysis.
	* exp_ch4.adb (Expand_N_Quantified_Expression): Handle properly both
	iterator forms before rewriting as a loop.

2010-10-22  Brett Porter  <porter@adacore.com>

	* a-locale.adb, a-locale.ads, locales.c: New files.
	* Makefile.rtl: Add a-locale
	* gcc-interface/Makefile.in: Add locales.c

From-SVN: r165812
2010-10-22 12:00:18 +02:00
Arnaud Charlet
57d62f0cb7 [multiple changes]
2010-10-22  Robert Dewar  <dewar@adacore.com>

	* sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
	(Is_Generic_Formal): Moved from Sem_Util to Sem_Aux.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Iterator_Loop): New subprogram, implements new
	iterator forms over arrays and containers, in loops and quantified
	expressions.
	* exp_util.adb (Insert_Actions): include N_Iterator_Specification.
	* par-ch4.adb (P_Quantified_Expression): Handle iterator specifications.
	* par-ch5.adb (P_Iterator_Specification): New subprogram. Modify
	P_Iteration_Scheme to handle both loop forms.
	* sem.adb: Handle N_Iterator_Specification.
	* sem_ch5.adb, sem_ch5.ads (Analyze_Iterator_Specification): New
	subprogram.
	* sinfo.adb, sinfo.ads: New node N_Iterator_Specification.
	N_Iteration_Scheme can now include an Iterator_Specification. Ditto
	for N_Quantified_Expression.
	* snames.ads-tmpl: Add names Cursor, Element, Element_Type, No_Element,
	and Previous, to support iterators over predefined containers.
	* sprint.adb: Handle N_Iterator_Specification.

From-SVN: r165811
2010-10-22 11:36:41 +02:00
Thomas Quinot
c3ad80f000 2010-10-22 Thomas Quinot <quinot@adacore.com>
* sem_prag.adb, sem_ch12.adb, sem_util.adb, sem_util.ads
	(Is_Generic_Formal): Move from body of Sem_Ch12 to Sem_Util.
	(Check_Arg_Is_Local_Name): Fix check in the case of a pragma appearing
	immediately after a library unit.
	(Analyze_Pragma, case Preelaborable_Initialization): Pragma may apply to
	a formal derived type.

From-SVN: r165810
2010-10-22 11:32:30 +02:00
Geert Bosch
d32e3ceeb2 Make-lang.in: Remove ttypef.ads
2010-10-22  Geert Bosch  <bosch@adacore.com>

	* gcc-interface/Make-lang.in: Remove ttypef.ads
	* checks.adb: Use Machine_Mantissa_Value and Machine_Radix_Value instead
	of Machine_Mantissa and Machine_Radix.
	* cstand.adb (P_Float_Range): Directly print the Type_Low_Bound and
	Type_High_Bound of the type, instead of choosing constants from Ttypef.
	(Set_Float_Bounds): Compute the bounds based on Machine_Radix_Value,
	Machine_Emax_Value and Machine_Mantissa_Value instead of special-casing
	each type.
	* einfo.ads (Machine_Emax_Value, Machine_Emin_Value,
	Machine_Mantissa_Value, Machine_Radix_Value, Model_Emin_Value,
	Model_Epsilon_Value, Model_Mantissa_Value, Model_Small_Value,
	Safe_Emax_Value, Safe_First_Value, Safe_Last_Value): Add new
	synthesized floating point attributes.
	* einfo.adb (Float_Rep): Determine the kind of floating point
	representation used for a given type.
	(Machine_Emax_Value, Machine_Emin_Value, Machine_Mantissa_Value,
	Machine_Radix_Value): Implement based on Float_Rep_Kind of a type and
	the number of digits in the type.
	(Model_Emin_Value, Model_Epsilon_Value, Model_Mantissa_Value,
	Model_Small_Value, Safe_Emax_Value, Safe_First_Value, Safe_Last_Value):
	Implement new synthesized floating point attributes based on the various
	machine attributes.
	* eval_fat.ads: Remove Machine_Mantissa and Machine_Radix.
	* eval_fat.adb (Machine_Mantissa, Machine_Radix): Remove. Use the
	Machine_Mantissa_Value and Machine_Radix_Value functions instead.
	* exp_vfpt.adb (VAXFF_Digits, VAXDF_Digits, VAXFG_Digits): Define local
	constants, instead of using constants from Ttypef.
	* gnat_rm.texi: Reword comments referencing Ttypef.
	* sem_attr.ads: Reword comment referencing Ttypef.
	* sem_attr.adb (Float_Attribute_Universal_Integer,
	Float_Attribute_Universal_Real): Remove.
	(Attribute_Machine_Emax, Attribute_Machine_Emin,
	Attribute_Machine_Mantissa, Attribute_Model_Epsilon,
	Attribute_Model_Mantissa, Attribute_Model_Small, Attribute_Safe_Emax,
	Attribute_Safe_First, Attribute_Safe_Last, Model_Small_Value): Use
	attributes in Einfo instead of Float_Attribute_Universal_Real and
	Float_Attribute_Universal_Integer and all explicit constants.
	* sem_util.ads, sem_util.adb (Real_Convert): Remove.
	* sem_vfpt.adb (VAXDF_Digits, VAXFF_Digits, VAXGF_Digits, IEEEL_Digits,
	IEEES_Digits): New local constants, in order to remove dependency on
	Ttypef.
	* tbuild.ads (Make_Float_Literal): New function.
	* tbuild.adb (Make_Float_Literal): New function to create a new
	N_Real_Literal, constructing it as simple as possible for best
	output of constants in -gnatS.
	* ttypef.ads: Remove.

From-SVN: r165808
2010-10-22 11:28:24 +02:00
Robert Dewar
8110ee3b63 checks.adb (Apply_Predicate_Check): Remove attempt at optimization when subtype is the same...
2010-10-22  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Apply_Predicate_Check): Remove attempt at optimization
	when subtype is the same, caused legitimate checks to be missed.
	* exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
	inheritance from right entity.
	* freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
	derived type case if the ancestor type has predicates.
	* sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
	* sem_prag.adb (Check_Enabled): Minor code reorganization.

From-SVN: r165807
2010-10-22 11:19:51 +02:00
Arnaud Charlet
ca8e13e855 * gcc-interface/utils.c, gcc-interface/gigi.h: Minor reformatting.
From-SVN: r165806
2010-10-22 11:16:39 +02:00
Arnaud Charlet
ea0342360d [multiple changes]
2010-10-22  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads (Declaration_Node): Clarify documentation, in particular
	regarding what is returned for subprogram entities.

2010-10-22  Arnaud Charlet  <charlet@adacore.com>

	* exp_attr.adb (Make_Range_Test): Generate a Range node instead of
	explicit comparisons, generates simpler expanded code.
	* a-except-2005.adb (Rcheck_06_Ext): New.
	* gcc-interface/trans.c (gigi, gnat_to_gnu): Handle validity checks
	like range checks.
	* gcc-interface/Make-lang.in: Update dependencies.

2010-10-22  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb (Array_Type_Declaration): Error for subtype wi predicate
	for index type
	(Constrain_Index): Error of subtype wi predicate in index constraint
	* sem_ch9.adb (Analyze_Entry_Declaration): Error of subtype wi
	predicate in entry family.
	* sem_res.adb (Resolve_Slice): Error of type wi predicate in slice.

2010-10-22  Javier Miranda  <miranda@adacore.com>

	* sem_util.ads, sem_util.adb (Collect_Parents): New subprogram.
	(Original_Corresponding_Operation): New subprogram.
	(Visible_Ancestors): New subprogram.
	* sem_ch6.adb (New_Overloaded_Entity): Handle new case of dispatching
	operation that overrides a hidden inherited primitive.
	* sem_disp.adb (Find_Hidden_Overridden_Primitive): New subprogram.
	(Check_Dispatching_Operation): if the new dispatching operation
	does not override a visible primtive then check if it overrides
	some hidden inherited primitive.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_With_Clause): If the parent_unit_name in a with
	clause is a child unit that denotes a renaming, replace the
	parent_unit_name with a reference to the renamed unit, because the
	prefix is irrelevant to subsequent visibility..

From-SVN: r165805
2010-10-22 11:14:01 +02:00
Arnaud Charlet
2d4e055322 [multiple changes]
2010-10-22  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Has_Predicates): Flag is now on all entities
	(simplifies code).
	* exp_ch13.adb (Build_Predicate_Function): Output info msgs for
	inheritance.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Make sure we have a
	freeze node for entities for which a predicate is specified.
	(Analyze_Aspect_Specifications): Avoid duplicate calls
	* sem_ch3.adb (Analyze_Full_Type_Declaration): Remove attempt to avoid
	duplicate calls to Analye_Aspect_Specifications.

2010-10-22  Thomas Quinot  <quinot@adacore.com>

	* a-exextr.adb, atree.ads, freeze.adb: Minor reformatting.

From-SVN: r165804
2010-10-22 10:51:09 +02:00
Nicola Pero
50ea58617e objc-act.c (get_objc_string_decl): Use a switch instead of a chain of ifs.
2010-10-21  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (get_objc_string_decl): Use a switch instead of a
        chain of ifs.  Use gcc_unreachable instead of abort.
        (add_objc_string): Same change.
        (generate_protocol_list): Same change - twice.
        (synth_id_with_class_suffix): Same change.
        (build_keyword_selector): Same change - twice.
        (objc_build_message_expr): Same change.
        (objc_build_selector_expr): Same change.
        (check_methods): Same change - and added missing gcc_unreachable
        for default case.
        (check_methods_accessible): Same change - twice, and added missing
        gcc_unreachable for default case in one of them.
        (start_class): Same change - and added missing gcc_unreachable for
        default case.
        (continue_class): Same change.
        (objc_gen_property_data): Same change.
        (finish_class): Same change.
        (encode_type_qualifiers): Added missing gcc_unreachable.
        (encode_type): Small code tidy up to reduce duplicated code.  Use
        gcc_unreachable instead of abort - twice.
        (encode_gnu_bitfield): Use a switch instead of a chain of ifs -
        twice.  Added missing gcc_unreachable for default case - twice.
        (dump_interface): Use a switch instead of a chain of ifs.
        (handle_impent): Same change.

From-SVN: r165803
2010-10-22 08:41:27 +00:00
Marcus Shawcroft
05b7a48a2b synchronize.c: Permit dmb or mcr in assembler scan.
2010-10-22  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* gcc.target/arm/synchronize.c: Permit dmb or mcr in assembler scan.

From-SVN: r165802
2010-10-22 07:36:08 +00:00
Nathan Froyd
0fd2eac224 alpha.c (alpha_build_builtin_va_list): Use TYPE_STUB_DECL instead of TREE_CHAIN.
* config/alpha/alpha.c (alpha_build_builtin_va_list): Use
	TYPE_STUB_DECL instead of TREE_CHAIN.
	* config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
	* config/s390/s390.c (s390_build_builtin_va_list): Likewise.
	* config/sh/sh.c (sh_build_builtin_va_list): Likewise.
	* config/spu/spu.c (spu_build_builtin_va_list): Likewise.
	* config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
	Likewise.
	* config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.

From-SVN: r165800
2010-10-22 01:33:39 +00:00
Jie Zhang
62519f7fed expr.c (emit_group_load_1): Update calls to extract_bit_field.
* expr.c (emit_group_load_1): Update calls to extract_bit_field.
	(copy_blkmode_from_reg): Likewise.
	(read_complex_part): Likewise.
	(expand_expr_real_1): Calculate packedp and pass it to
	extract_bit_field.
	* expr.h (extract_bit_field): Update declaration.
	* calls.c (store_unaligned_arguments_into_pseudos): Update call
	to extract_bit_field.
	* expmed.c (extract_fixed_bit_field): Update calls to
	extract_fixed_bit_field.
	(store_split_bit_field): Likewise.
	(extract_bit_field_1): Add new argument packedp.
	(extract_bit_field): Add new argument packedp.
	(extract_fixed_bit_field): Add new argument packedp and let
	packed attribute override volatile.
	* stmt.c (expand_return): Update call to extract_bit_field.

From-SVN: r165799
2010-10-22 00:40:15 +00:00
GCC Administrator
f40872465c Daily bump.
From-SVN: r165798
2010-10-22 00:18:25 +00:00
Paolo Carlini
10d4899cd0 re PR c++/46117 (ICE: SIGSEGV in add_function_candidate (call.c:1630) on invalid typename usage)
/cp
2010-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/46117
	* call.c (add_function_candidate): Don't use TREE_VALUE on null
	parmnode.

/testsuite
2010-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/46117
	* g++.dg/parse/crash57.C: New.

From-SVN: r165794
2010-10-21 21:51:50 +00:00
Uros Bizjak
498f5fc9b7 * Add ChangeLog changes.
From-SVN: r165793
2010-10-21 23:48:39 +02:00
Nathan Froyd
0aa8828790 * config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
From-SVN: r165792
2010-10-21 21:44:03 +00:00
Nathan Froyd
cefb375afd ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead of gcc_checking_assert.
* ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
	of gcc_checking_assert.
	* sel-sched.c (code_motion_process_successors): Likewise.

From-SVN: r165790
2010-10-21 21:39:13 +00:00
Eric Botcazou
50a36e4261 cfgcleanup.c (try_forward_edges): Do not throw away previous steps when stopping because of a different locus on...
* cfgcleanup.c (try_forward_edges): Do not throw away previous steps
	when stopping because of a different locus on edge or insn.
	(try_optimize_cfg): Add comment.
	* cfgrtl.c (rtl_merge_blocks): Tweak log message.  If the destination
	block is a forwarder block, propagate locus on the edge.
	(cfg_layout_merge_blocks): Likewise.

From-SVN: r165789
2010-10-21 21:38:03 +00:00
Uros Bizjak
233a46c834 re PR target/45946 (ICE: in extract_insn, at recog.c:2127 when using _Decimal128 with -Os -fno-omit-frame-pointer)
PR target/45946
	* config/i386/i386.md (*pushti2): New insn pattern.
	(pushti2 splitter): New insn splitter.
	(*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
	DWI mode iterator.

testsuite/ChangeLog:

	PR target/45946
	* gcc.target/i386/pr45946.c: New test.

From-SVN: r165787
2010-10-21 22:42:09 +02:00
Paul Koning
19ce9cf1b8 pdp11-protos.md (arith_operand, [...]): Delete
* config/pdp11/pdp11-protos.md (arith_operand,
const_immediate_operand, expand_shift_operand,
immediate15_operand): Delete
* config/pdp11/pdp11.c: Ditto.
* config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
EXTRA_CONSTRAINT): Delete.
* config/pdp11/pdp11.md (various): Use standard constraints
instead of removed ones.
* config/pdp11/constraints.md: New file.
* config/pdp11/predicates.md: New file.

From-SVN: r165784
2010-10-21 15:39:30 -04:00
Bingfeng Mei
4fcf718a61 re PR rtl-optimization/45834 (Redundant inter-loop edges in DDG)
2010-10-21  Bingfeng Mei  <bmei@broadcom.com>

	PR c/45834
        * alias.c (true_dependence_1): Remove obsolete check for QImode.
        (may_alias_p): Ditto.

From-SVN: r165781
2010-10-21 15:16:01 +00:00
Martin Jambor
ae1f6fcec0 re PR tree-optimization/45875 (ice in gimple_fold_obj_type_ref_known_binfo with -O2)
2010-10-21  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/45875
	* tree.c (get_binfo_at_offset): Remove initial zero offset test.

	* testsuite/g++.dg/ipa/pr45875.C: New test.

From-SVN: r165780
2010-10-21 16:34:58 +02:00
Nathan Froyd
9e2995b26c tree-into-ssa.c (rewrite_update_enter_block): Remove unused variables.
* tree-into-ssa.c (rewrite_update_enter_block): Remove unused
	variables.
	(create_new_def_for): Likewise.

From-SVN: r165779
2010-10-21 14:05:57 +00:00
Nick Clifton
e7ab55938c mn10300.c: Fold code to 80-character width.
* config/mn10300/mn10300.c: Fold code to 80-character width.
        Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
        MEM, CONST_INT and CONST_DOUBLE.
        (targetm): Move initialization to end of file.
        (print_operand): Rename to mn10300_print_operand.
        (print_operand_address): Rename to mn10300_print_operand_address.
        (can_use_return_insn): Rename to mn10300_can_use_return_insn.
        (expand_prologue): Rename to mn10300_expand_prologue.
        (expand_epilogue): Rename to mn10300_expand_epilogue.
        (initial_offset): Rename to mn10300_initial_offset.
        (function_arg): Rename to mn10300_function_arg.
        (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
        (symbolic_operand): Rename to mn10300_symbolic_operand.
        (legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
        (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
        * config/mn10300/mn10300-protos.h: Update prototypes.
        * config/mn10300/mn10300.h: Fold code to 80-character width.
        Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
        MEM, CONST_INT and CONST_DOUBLE.
        (CPP_SPEC): Move to...
        (TARGET_CPU_CPP_BUILTINS): ... here.
        * config/mn10300/mn10300.md: Fold code to 80-character width.
        Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
        MEM, CONST_INT and CONST_DOUBLE.

From-SVN: r165778
2010-10-21 13:46:52 +00:00
Ira Rosen
9dc3f7de0d re PR tree-optimization/46049 (ICE: in expand_widen_pattern_expr, at optabs.c:522 with -ftree-vectorize)
PR tree-optimization/46049
	PR tree-optimization/46052
	* tree-vectorizer.h (enum stmt_vec_info_type): Add new value for
	shift.
	(vect_get_slp_defs): Add arguments.
	* tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
	operands to vect_get_slp_defs.
	(vectorizable_reduction): Fix comment, pass scalar operands to
	vect_get_slp_defs.
	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
	type to determine number of units in the created vector.
	(vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
	(vectorizable_conversion): Fix comment.
	(vectorizable_shift): New function.
	(vectorizable_operation): Move code that handles shifts to
	vectorizable_shift.
	(vectorizable_type_demotion): Fix comment, pass scalar operands to
	vect_get_slp_defs.
	(vectorizable_type_promotion, vectorizable_store): Likewise.
	(vectorizable_condition): Fix comment.
	(vect_analyze_stmt): Call vectorizable_shift.
	(vect_transform_stmt): Likewise.
	* tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
	Use it as the operand to create vectors for, except reduction
	initial definition and store.  Use operands type.
	(vect_get_slp_defs): Add new arguments.  Pass them to
	vect_get_constant_vectors.

From-SVN: r165777
2010-10-21 13:36:56 +00:00
Arnaud Charlet
027dbed827 [multiple changes]
2010-10-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2010-10-21  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads (Next_Girder_Discriminant): Remove obsolete description for
	removed routine.

2010-10-21  Nicolas Roche  <roche@adacore.com>

	* gnatmem.adb, memroot.adb, memroot.ads, gmem.c,
	gcc-interface/Makefile.in: Remove gnatmem specific files.

From-SVN: r165776
2010-10-21 15:27:26 +02:00
Thomas Quinot
8e4dac80b5 sem_res.adb, [...]: Minor reformatting.
2010-10-21  Thomas Quinot  <quinot@adacore.com>

	* sem_res.adb, exp_ch13.adb: Minor reformatting.

2010-10-21  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb (Check_Or_Process_Discriminant): Reject illegal attempt
	to provide a tagged full view as the completion of an untagged partial
	view if the partial view has a discriminant with default.

From-SVN: r165775
2010-10-21 15:17:43 +02:00
Nathan Froyd
77a74ed7f0 basic-block.h (single_succ_edge): Use gcc_checking_assert.
* basic-block.h (single_succ_edge): Use gcc_checking_assert.
	(single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
	* cfghooks.c (fixup_reorder_chain): Likewise.
	* cfgrtl.c (cfg_layout_merge_blocks): Likewise.
	* cgraph.c (cgraph_add_thunk): Likewise.
	(cgraph_create_edge_1): Likewise.
	(cgraph_create_virtual_clone): Likewise.
	* ddg.c (add_cross_iteration_register_deps): Likewise.
	* dwarf2out.c (modified_type_die): Likewise.
	* emit-rtl.c (set_mem_alias_set): Likewise.
	* ggc-zone.c (zone_allocate_marks): Likewise.
	* gimple-iterator.c (gsi_move_to_bb_end): Likewise.
	* gimple.c (iterative_hash_gimple_type): Likewise.
	* graphite-scop-detection.c (create_single_entry_edge): Likewise.
	(create_single_exit_edge): Likewise.
	* haifa-sched.c (choose_ready): Likewise.
	* lto-streamer-in.c (input_gimple_stmt): Likewise.
	* passes.c (execute_todo): Likewise.
	* sched-ebb.c (begin_schedule_ready): Likewise.
	* sel-sched.c (code_motion_process_successors): Likewise.
	* tree-call-cdce.c (gen_conditions_for_pow): Likewise.
	* tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
	* tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
	(phi_arg_index_from_use, phi_ssa_name_p): Likewise.
	* tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
	* tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
	(ssa_conflicts_add): Likewise.
	* tree-ssa-copy.c (replace_exp): Likewise.
	* tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
	* tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
	* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
	* tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
	(compute_antic): Likewise.
	* tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
	(add_dependence): Likewise.
	(process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
	* tree-vrp.c (supports_overflow_infinity): Likewise.
	(make_overflow_infinity, negative_overflow_infinity): Likewise.
	(avoid_overflow_infinity, register_new_assert_for): Likewise.
	(process_assert_insertions_for): Likewise.
	* var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
	(dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
	(intersect_loc_chains, variable_merge_over_cur): Likewise.

From-SVN: r165774
2010-10-21 13:08:28 +00:00
Nathan Froyd
31ff2426f6 cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
* cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
	* reload1.c (has_nonexceptional_receiver): Likewise.
	* tree-into-ssa.c (rewrite_update_enter_block): Likewise.
	(create_new_def_for): Likewise.
	* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
	(merge_phi_nodes): Likewise.
	(has_abnormal_incoming_edge_p): Delete.

From-SVN: r165772
2010-10-21 13:01:35 +00:00
H.J. Lu
2f7ba24e1f Add V8SI and V4DI to ssescalarmodesuffix.
2010-10-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI.

From-SVN: r165771
2010-10-21 05:38:09 -07:00
Thomas Koenig
3ba7edcfcc re PR fortran/46007 (wrong code for SHAPE in a scalarized loop)
2010-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/46007
	* m4/shape.m4 (shape_'rtype_kind`):  Use variable for rank.
	Allocate return array if unallocated.
	* generated/shape_i4.c:  Regenerated.
	* generated/shape_i8.c:  Regenerated.
	* generated/shape_i16.c:  Regenerated.

2010-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/46007
	* gfortran.dg/shape_5.f90:  New test case.

From-SVN: r165770
2010-10-21 12:25:12 +00:00
Janus Weil
837c4b78f6 re PR fortran/46060 ([F03] procedure pointer component referenced without argument list)
2010-10-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46060
	* match.h (gfc_matching_ptr_assignment): New global variable to indicate
	we're currently matching a (non-proc-)pointer assignment.
	* decl.c (match_pointer_init): Set it.
	* match.c (gfc_match_pointer_assignment): Ditto.
	* primary.c (matching_actual_arglist): New global variable to indicate
	we're currently matching an actual argument list.
	(gfc_match_actual_arglist): Set it.
	(gfc_match_varspec): Reject procedure pointer component calls with
	missing argument list.


2010-10-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46060
	* gfortran.dg/proc_ptr_comp_25.f90: New.

From-SVN: r165769
2010-10-21 13:31:55 +02:00
Richard Guenther
46241ea9d1 re PR tree-optimization/45764 (wrong code -O2 vs -O3 (problem in vectorizer???))
2010-10-21  Richard Guenther  <rguenther@suse.de>
	Michael Matz  <matz@suse.de>

	PR tree-optimization/45764
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
	Adjust initial misalignment for negative DR_STEP.
	(vect_find_same_alignment_drs): Two DRs with different DR_STEP
	do not have the same alignment over the whole iteration domain.

        * gcc.dg/torture/pr45764.c: New testcase.

Co-Authored-By: Michael Matz <matz@suse.de>

From-SVN: r165768
2010-10-21 11:10:41 +00:00
Arnaud Charlet
82c1834a6f Update dependencies.
From-SVN: r165767
2010-10-21 12:44:26 +02:00
Robert Dewar
48f91b442f einfo.ads, einfo.adb: Add handling of predicates.
2010-10-21  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb: Add handling of predicates.
	Rework handling of invariants.
	* exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
	handing of invariants.
	* par-prag.adb: Add dummy entry for pragma Predicate
	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
	Predicate aspects.
	* sem_prag.adb: Add implementation of pragma Predicate.
	* snames.ads-tmpl: Add entries for pragma Predicate.

2010-10-21  Robert Dewar  <dewar@adacore.com>

	* elists.adb: Minor reformatting.

From-SVN: r165766
2010-10-21 12:43:12 +02:00
Richard Guenther
c9a410f028 re PR tree-optimization/46111 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'mem_ref' in take_address_of, at tree-parloops.c:336 with -ftree-parallelize-loops -g)
2010-10-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46111
	* tree-parloops.c (take_address_of): Re-organize for MEM_REF.

	* g++.dg/torture/pr46111.C: New testcase.

From-SVN: r165765
2010-10-21 10:38:51 +00:00
Robert Dewar
4818e7b9f8 einfo.ads, einfo.adb: Add handling of predicates.
2010-10-21  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb: Add handling of predicates.
	Rework handling of invariants.
	* exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
	handing of invariants.
	* par-prag.adb: Add dummy entry for pragma Predicate
	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
	Predicate aspects.
	* sem_prag.adb: Add implementation of pragma Predicate.
	* snames.ads-tmpl: Add entries for pragma Predicate.

2010-10-21  Robert Dewar  <dewar@adacore.com>

	* elists.adb: Minor reformatting.

From-SVN: r165764
2010-10-21 12:33:36 +02:00
Robert Dewar
fd0ff1cf7e einfo.ads, einfo.adb: Add handling of predicates.
2010-10-21  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb: Add handling of predicates.
	Rework handling of invariants.
	* exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
	handing of invariants.
	* par-prag.adb: Add dummy entry for pragma Predicate
	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
	Predicate aspects.
	* sem_prag.adb: Add implementation of pragma Predicate.
	* snames.ads-tmpl: Add entries for pragma Predicate.

2010-10-21  Robert Dewar  <dewar@adacore.com>

	* elists.adb: Minor reformatting.

From-SVN: r165763
2010-10-21 12:30:24 +02:00
Arnaud Charlet
04cbd48e9e [multiple changes]
2010-10-21  Geert Bosch  <bosch@adacore.com>

	* urealp.adb (UR_Write): Write hexadecimal constants with exponent 1 as
	decimal constants, and write any others using the exponent notation.
	Minor reformatting throughout
	(Store_Ureal_Normalized): New function (minor code reorganization)

2010-10-21  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, xeinfo.adb: Minor reformatting.
	* s-stalib.ads: Minor comment fixes.

From-SVN: r165762
2010-10-21 12:25:12 +02:00
Arnaud Charlet
7fc5387116 [multiple changes]
2010-10-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Enter_Overloaded_Entity): Refine warning message about
	hiding, to remove noise warnings about hiding predefined operators.

2010-10-21  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.adb (Add_Switch): Fix handling of switches with no separator
	when the parameter has length 1.

2010-10-21  Jose Ruiz  <ruiz@adacore.com>

	* sem_prag.adb (Set_Ravenscar_Profile): Enforce the restrictions of no
	dependence on Ada.Execution_Time.Timers,
	Ada.Execution_Time.Group_Budget, and
	System.Multiprocessors.Dispatching_Domains which are part of the
	Ravenscar Profile.
	* impunit.adb (Non_Imp_File_Names_05): Add the file "a-etgrbu" to the
	list of Ada 2005 files for package Ada.Execution_Time.Group_Budgets.
	(Non_Imp_File_Names_12): Add the file "s-mudido" to the list of Ada 2012
	files for package System.Mutiprocessors.Dispatching_Domains.

2010-10-21  Tristan Gingold  <gingold@adacore.com>

	* ug_words, vms_data.ads: Define the VMS qualifier for -gnateE.

2010-10-21  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.ads (Process_Discriminants): Clarify cases where this is
	called for a completion.

2010-10-21  Geert Bosch  <bosch@adacore.com>

	* uintp.ads: Expand image buffer to have enough room for 128-bit values
	* urealp.ads (UR_Write): Write constants in base 16 in hexadecimal
	notation; either as fixed point literal or in canonical radix 16
	floating point form.

From-SVN: r165761
2010-10-21 12:19:58 +02:00
Robert Dewar
3b42c566b8 a-cgaaso.ads, [...]: Minor reformatting
2010-10-21  Robert Dewar  <dewar@adacore.com>

	* a-cgaaso.ads, a-tags.ads, exp_ch3.adb, exp_attr.adb, exp_ch4.adb,
	exp_ch3.ads, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, exp_disp.ads,
	exp_dist.adb, exp_util.adb, layout.adb, lib-xref.adb, lib.ads,
	prep.adb, prj-strt.adb, s-ststop.adb, s-taskin.ads, s-tataat.ads,
	sem_aggr.adb, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb,
	sem_ch4.ads, sem_ch5.adb, sem_res.adb, sem_util.adb, einfo.adb,
	g-sothco.ads, make.adb: Minor reformatting

From-SVN: r165760
2010-10-21 12:14:06 +02:00
Arnaud Charlet
deeb160439 [multiple changes]
2010-10-21  Vincent Celier  <celier@adacore.com>

	* vms_data.ads: Add new qualifiers /SRC_INFO= and
	/UNCHECKED_SHARED_LIB_IMPORTS for GNAT COMPILE.
	Correct qualifier /SRC_INFO= for GNAT MAKE

2010-10-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Flatten): An association for a subtype may be an
	expanded name.
	(Safe_Left_Hand_Side): An unchecked conversion is part of a safe
	left-hand side if the expression is.
	(Is_Safe_Index): new predicate
	* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Indicate that the
	generated Rep_To_Pos function is a Pure_Function.

2010-10-21  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document Invariant pragma.

From-SVN: r165759
2010-10-21 12:05:09 +02:00
Arnaud Charlet
5162533940 [multiple changes]
2010-10-21  Javier Miranda  <miranda@adacore.com>

	* exp_ch5.adb: Update comment.

2010-10-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Build_Invariant_Procedure): Remove commented out code
	for interfaces, since invariants are not allowed on interfaces in any
	case.

From-SVN: r165758
2010-10-21 11:58:50 +02:00
Arnaud Charlet
25e29378a7 [multiple changes]
2010-10-21  Javier Miranda  <miranda@adacore.com>

	* sem_attr.adb (Resolve_Attribute): After replacing the range attribute
	node with a range expression ensure that its evaluation will not have
	side effects.
	* exp_ch5.adb (Expand_Assign_Array): Propagate the Parent to the
	unchecked conversion node generated to handle assignment of private
	types. Required to allow climbing the subtree if Insert_Action is
	invoked later.

2010-10-21  Robert Dewar  <dewar@adacore.com>

	* par-ch3.adb (P_Interface_Type_Definition): Allow for possibility of
	aspect clause presence terminating the type definition.

From-SVN: r165757
2010-10-21 11:55:51 +02:00
Arnaud Charlet
90c63b098c [multiple changes]
2010-10-21  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb, exp_intr.adb, par-ch4.adb, scn.adb, sem_ch4.adb,
	sem_res.adb, sem_util.adb, sinfo.ads, a-except-2005.adb: Minor
	reformatting.
	* snames.ads-tmpl: Add note on Name_Some (not a reserved keyword).

2010-10-21  Geert Bosch  <bosch@adacore.com>

	* ttypef.ads: Further cleanup of Safe_XXX float attributes.

From-SVN: r165756
2010-10-21 11:52:52 +02:00
Janus Weil
acee848666 re PR fortran/46067 ([F03] invalid procedure pointer assignment not detected)
2010-10-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46067
	* interface.c (gfc_compare_interfaces): Switch arguments of type
	comparison (important for polymorphic variables).


2010-10-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46067
	* gfortran.dg/dummy_procedure_4.f90: New.
	* gfortran.dg/proc_ptr_30.f90: New.

From-SVN: r165755
2010-10-21 11:25:17 +02:00
Andreas Krebbel
5490de28a2 s390.md (*xordi3_cc): Mark xgrk as z196 only.
2010-10-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.md (*xordi3_cc): Mark xgrk as z196 only.

From-SVN: r165754
2010-10-21 08:58:05 +00:00
Tristan Gingold
1347d65ccb vms-crtl.h (CRTL_NAMES): Add new translations.
2010-10-21  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms-crtl.h (CRTL_NAMES): Add new translations.
	* config/vms/vms-crtl-64.h (CRTL_NAMES): Ditto.

From-SVN: r165753
2010-10-21 08:46:51 +00:00
Tristan Gingold
1f5576a89a vms-unwind.h (alpha_vms_fallback_frame_state): Set signal_frame.
2010-10-21  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state): Set
	signal_frame.
	* config/alpha/alpha.c (alpha_function_arg): Adjust call.

From-SVN: r165752
2010-10-21 08:25:41 +00:00