Arnaud Charlet [Fri, 22 Oct 2010 10:00:18 +0000 (12:00 +0200)]
[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
Arnaud Charlet [Fri, 22 Oct 2010 09:36:41 +0000 (11:36 +0200)]
[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
Thomas Quinot [Fri, 22 Oct 2010 09:32:30 +0000 (09:32 +0000)]
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
Geert Bosch [Fri, 22 Oct 2010 09:28:24 +0000 (09:28 +0000)]
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
Robert Dewar [Fri, 22 Oct 2010 09:19:51 +0000 (09:19 +0000)]
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
Arnaud Charlet [Fri, 22 Oct 2010 09:16:39 +0000 (09:16 +0000)]
* gcc-interface/utils.c, gcc-interface/gigi.h: Minor reformatting.
From-SVN: r165806
Arnaud Charlet [Fri, 22 Oct 2010 09:14:01 +0000 (11:14 +0200)]
[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
Arnaud Charlet [Fri, 22 Oct 2010 08:51:09 +0000 (10:51 +0200)]
[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
Nicola Pero [Fri, 22 Oct 2010 08:41:27 +0000 (08:41 +0000)]
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
Marcus Shawcroft [Fri, 22 Oct 2010 07:36:08 +0000 (07:36 +0000)]
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
Nathan Froyd [Fri, 22 Oct 2010 01:33:39 +0000 (01:33 +0000)]
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
Jie Zhang [Fri, 22 Oct 2010 00:40:15 +0000 (00:40 +0000)]
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
GCC Administrator [Fri, 22 Oct 2010 00:18:25 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r165798
Paolo Carlini [Thu, 21 Oct 2010 21:51:50 +0000 (21:51 +0000)]
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
Uros Bizjak [Thu, 21 Oct 2010 21:48:39 +0000 (23:48 +0200)]
* Add ChangeLog changes.
From-SVN: r165793
Nathan Froyd [Thu, 21 Oct 2010 21:44:03 +0000 (21:44 +0000)]
* config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
From-SVN: r165792
Nathan Froyd [Thu, 21 Oct 2010 21:39:13 +0000 (21:39 +0000)]
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
Eric Botcazou [Thu, 21 Oct 2010 21:38:03 +0000 (21:38 +0000)]
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
Uros Bizjak [Thu, 21 Oct 2010 20:42:09 +0000 (22:42 +0200)]
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
Paul Koning [Thu, 21 Oct 2010 19:39:30 +0000 (15:39 -0400)]
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
Bingfeng Mei [Thu, 21 Oct 2010 15:16:01 +0000 (15:16 +0000)]
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
Martin Jambor [Thu, 21 Oct 2010 14:34:58 +0000 (16:34 +0200)]
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
Nathan Froyd [Thu, 21 Oct 2010 14:05:57 +0000 (14:05 +0000)]
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
Nick Clifton [Thu, 21 Oct 2010 13:46:52 +0000 (13:46 +0000)]
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
Ira Rosen [Thu, 21 Oct 2010 13:36:56 +0000 (13:36 +0000)]
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
Arnaud Charlet [Thu, 21 Oct 2010 13:27:26 +0000 (15:27 +0200)]
[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
Thomas Quinot [Thu, 21 Oct 2010 13:17:43 +0000 (13:17 +0000)]
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
Nathan Froyd [Thu, 21 Oct 2010 13:08:28 +0000 (13:08 +0000)]
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
Nathan Froyd [Thu, 21 Oct 2010 13:01:35 +0000 (13:01 +0000)]
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
H.J. Lu [Thu, 21 Oct 2010 12:38:09 +0000 (12:38 +0000)]
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
Thomas Koenig [Thu, 21 Oct 2010 12:25:12 +0000 (12:25 +0000)]
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
Janus Weil [Thu, 21 Oct 2010 11:31:55 +0000 (13:31 +0200)]
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
Richard Guenther [Thu, 21 Oct 2010 11:10:41 +0000 (11:10 +0000)]
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
Arnaud Charlet [Thu, 21 Oct 2010 10:44:26 +0000 (10:44 +0000)]
Update dependencies.
From-SVN: r165767
Robert Dewar [Thu, 21 Oct 2010 10:43:12 +0000 (10:43 +0000)]
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
Richard Guenther [Thu, 21 Oct 2010 10:38:51 +0000 (10:38 +0000)]
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
Robert Dewar [Thu, 21 Oct 2010 10:33:36 +0000 (10:33 +0000)]
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
Robert Dewar [Thu, 21 Oct 2010 10:30:24 +0000 (10:30 +0000)]
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
Arnaud Charlet [Thu, 21 Oct 2010 10:25:12 +0000 (12:25 +0200)]
[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
Arnaud Charlet [Thu, 21 Oct 2010 10:19:58 +0000 (12:19 +0200)]
[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
Robert Dewar [Thu, 21 Oct 2010 10:14:06 +0000 (10:14 +0000)]
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
Arnaud Charlet [Thu, 21 Oct 2010 10:05:09 +0000 (12:05 +0200)]
[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
Arnaud Charlet [Thu, 21 Oct 2010 09:58:50 +0000 (11:58 +0200)]
[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
Arnaud Charlet [Thu, 21 Oct 2010 09:55:51 +0000 (11:55 +0200)]
[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
Arnaud Charlet [Thu, 21 Oct 2010 09:52:52 +0000 (11:52 +0200)]
[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
Janus Weil [Thu, 21 Oct 2010 09:25:17 +0000 (11:25 +0200)]
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
Andreas Krebbel [Thu, 21 Oct 2010 08:58:05 +0000 (08:58 +0000)]
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
Tristan Gingold [Thu, 21 Oct 2010 08:46:51 +0000 (08:46 +0000)]
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
Tristan Gingold [Thu, 21 Oct 2010 08:25:41 +0000 (08:25 +0000)]
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
Tristan Gingold [Thu, 21 Oct 2010 08:01:22 +0000 (08:01 +0000)]
vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD.
2010-10-21 Tristan Gingold <gingold@adacore.com>
* config/ia64/vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD.
* config/ia64/vms.h (TARGET_DEFAULT): Ditto.
From-SVN: r165751
Tobias Burnus [Thu, 21 Oct 2010 06:15:30 +0000 (08:15 +0200)]
re PR fortran/46100 ([Fortran 2008] Non-variable pointer expression as actual argument to INTENT(OUT) non-pointer dummy)
2010-10-21 Tobias Burnus <burnus@net-b.de>
PR fortran/46100
* expr.c (gfc_check_vardef_context): Treat pointer functions
as variables.
2010-10-21 Tobias Burnus <burnus@net-b.de>
PR fortran/46100
* gfortran.dg/ptr-func-1.f90: New.
* gfortran.dg/ptr-func-2.f90: New.
From-SVN: r165749
Nathan Froyd [Thu, 21 Oct 2010 02:33:33 +0000 (02:33 +0000)]
basic-block.h (find_fallthru_edge): Define.
* basic-block.h (find_fallthru_edge): Define.
* cfgcleanup.c (merge_blocks_move): Use it.
(try_crossjump_bb): Likewise.
* cfglayout.c (fixup_reorder_chains): Likewise.
(fixup_fallthru_exit_predecessor): Likewise.
* cfgrtl.c (rtl_split_edge): Likewise.
(rtl_verify_flow_info): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* gimple-pretty-print.c (dump_implicit_edges): Likewise.
* ifcvt.c (block_fallthru): Likewise.
* reload1.c (fixup_abnormal_edges): Likewise.
* sched-ebb.c (being_schedule_ready): Likewise.
(schedule_ebb): Likwise.
* sched-rgn.c (find_single_block_region): Likewise.
* sel-sched-ir.c (bb_ends_ebb_p): Likewise.
* tree-complex.c (expand_complex_move): Likewise.
* sched-int.h (find_fallthru_edge): Rename to...
(find_fallthru_edge_from): ...this.
* haifa-sched.c (find_fallthru_edge): Rename to...
(find_fallthru_edge_from): ...this. Use new find_fallthru_edge.
(init_before_recovery): Call find_fallthru_edge_from.
* sel-sched-ir.c (merge_fences): Likewise.
* sel-sched.c (in_fallthru_bb_p): Likewise.
(move_cond_jump): Likewise.
From-SVN: r165748
Paul Koning [Thu, 21 Oct 2010 01:01:22 +0000 (21:01 -0400)]
pdp11.md (various): Fix conditions on a number of insn to check for target 11/40 or higher.
* config/pdp11/pdp11.md (various): Fix conditions on a number of
insn to check for target 11/40 or higher.
From-SVN: r165747
Jerry DeLisle [Thu, 21 Oct 2010 00:45:15 +0000 (00:45 +0000)]
re PR fortran/46079 (ABI for empty stop statement broken)
2010-10-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/46079
* runtime/stop.c (stop_numeric_f08): New function.
(stop_numeric): Restore to previous behavior.
* gfortran.map: Add symbol _gfortran_stop_numeric_f08.
2010-10-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/46079
* trans_stmt.c (gfc_trans_stop): Fix whitespace. Build a call to new
F08 numeric stop function.
* trans.h: Add declaration for gfor_fndecl_stop_numeric_f08.
* trans-decl.c (gfc_build_builtin_function_decls): Build declaration
for stop_numeric_f08.
From-SVN: r165746
GCC Administrator [Thu, 21 Oct 2010 00:17:58 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r165745
Nicola Pero [Wed, 20 Oct 2010 22:41:53 +0000 (22:41 +0000)]
In gcc/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (c_parser_objc_method_type): Mark inline. Return a
bool instead of a tree.
(c_parser_objc_method_decl): Added bool argument. Updated call to
objc_build_method_signature.
(c_parser_objc_method_definition): Do not call
objc_set_method_type. Updated calls to c_parser_objc_method_type,
c_parser_objc_method_decl and objc_start_method_definition.
(c_parser_objc_methodproto): Do not call objc_set_method_type.
Updated calls to c_parser_objc_method_type,
c_parser_objc_method_decl and objc_add_method_declaration.
In gcc/c-family/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (objc_set_method_type): Removed.
(objc_add_method_declaration): Added boolean argument.
(objc_start_method_definition): Same change.
(objc_build_method_signature): Same change.
* stub-objc.c (objc_set_method_type): Removed.
(objc_add_method_declaration): Added boolean argument.
(objc_start_method_definition): Same change.
(objc_build_method_signature): Same change.
In gcc/cp/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (cp_parser_objc_method_type): Mark inline. Return a
bool instead of calling objc_set_method_type.
(cp_parser_objc_method_signature): Updated calls to
cp_parser_objc_method_type and to objc_build_method_signature.
(cp_parser_objc_method_prototype_list): Updated calls to
objc_add_method_declaration. Use token->type to determine if it
is a class method or not.
(cp_parser_objc_method_definition_list): Same change.
In gcc/objc/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.h (objc_inherit_code): Removed.
* objc-act.c (objc_inherit_code): Removed.
(objc_set_method_type): Removed.
(objc_build_method_signature): Added is_class_method argument.
Use it instead of the global objc_inherit_code variable.
(objc_add_method_declaration): Same change.
(objc_start_method_definition): Same change.
(objc_generate_cxx_ctor_or_dtor): Updated call to
objc_start_method_definition. Do not call objc_set_method_type.
(adjust_type_for_id_default): Mark as inline.
(objc_synthesize_getter): Updated call to
objc_start_method_definition. Do not set objc_inherit_code.
(objc_synthesize_setter): Updated call to
objc_start_method_definition. Do not set objc_inherit_code.
From-SVN: r165741
Jakub Jelinek [Wed, 20 Oct 2010 21:17:30 +0000 (23:17 +0200)]
re PR tree-optimization/45919 (ICE: SIGSEGV in fold_ctor_reference (tree-ssa-ccp.c:1527) at -O1)
PR tree-optimization/45919
* tree-ssa-ccp.c (fold_nonarray_ctor_reference): Handle flexible
array members.
* gcc.c-torture/compile/pr45919.c: New test.
From-SVN: r165740
Jakub Jelinek [Wed, 20 Oct 2010 21:15:49 +0000 (23:15 +0200)]
re PR tree-optimization/46066 (ICE: in create_parallel_loop, at tree-parloops.c:1455 with -ftree-parallelize-loops -g)
PR tree-optimization/46066
* tree-parloops.c (create_parallel_loop): Use gsi_last_nondebug_bb
instead of gsi_last_bb.
* gcc.dg/autopar/pr46066.c: New test.
From-SVN: r165739
DJ Delorie [Wed, 20 Oct 2010 20:37:54 +0000 (16:37 -0400)]
m32c.c (m32c_option_override): Always disable function-cse in 16-bit mode.
* config/m32c/m32c.c (m32c_option_override): Always disable
function-cse in 16-bit mode. Indirect calls are always worse than
direct calls as there is no 16-bit indirect call opcode.
(m32c_override_options_after_change): New, likewise.
From-SVN: r165737
Nathan Froyd [Wed, 20 Oct 2010 20:15:07 +0000 (20:15 +0000)]
ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs...
* ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
emitting the conditional move in the inner mode of the SUBREG.
From-SVN: r165735
Anatoly Sokolov [Wed, 20 Oct 2010 19:56:58 +0000 (23:56 +0400)]
ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
* config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove.
* config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
(ia64_preferred_reload_class): Make static. Change rclass argument
and result types from enum reg_class to reg_class_t.
From-SVN: r165734
Pat Haugen [Wed, 20 Oct 2010 18:57:15 +0000 (18:57 +0000)]
tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over call for single operand expression.
* tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over
call for single operand expression.
From-SVN: r165733
Nicola Pero [Wed, 20 Oct 2010 18:03:43 +0000 (18:03 +0000)]
[multiple changes]
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. Obvious updates
to gcc_alloc_xxx calls in hash_init and hash_class_name_enter to
get it to compile in the current trunk.
2006-01-27 Fariborz Jahanian <fjahanian@apple.com>
Radar
4345837
* objc/objc-act.c (hash_class_name_enter): New.
(hash_class_name_lookup): New.
(objc_declare_alias): Enter alias name into hash table.
(objc_declare_class): Enter class name into hash table.
(objc_is_class_name): Do a hash look up of class name.
(hash_init): Initialize the two new hash tables.
* objc-act.h: Added cls_name_hash_list and als_name_hash_list
declarations, removed class_chain and alias_chain.
From-SVN: r165732
Rainer Orth [Wed, 20 Oct 2010 17:36:15 +0000 (17:36 +0000)]
re PR c++/46024 (g++.dg/warn/miss-format-1.C FAILs on Solaris 8 and 9)
fixincludes:
PR c++/46024
* inclhack.def (solaris_sys_va_list): New fix.
* fixincl.x: Regenerate.
* tests/base/sys/va_list.h: New test.
gcc/testsuite:
PR c++/46024
* g++.dg/warn/miss-format-1.C: Enclose dg-error target list in braces.
From-SVN: r165731
Eric Botcazou [Wed, 20 Oct 2010 17:30:10 +0000 (17:30 +0000)]
tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges if there is a call statement to pure or const...
* tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges
if there is a call statement to pure or const function in the block.
From-SVN: r165730
Paul Koning [Wed, 20 Oct 2010 15:40:09 +0000 (15:40 +0000)]
Fix several build errors for pdp11 target.
* config/pdp11/pdp11.md (*cmpdf): Fix tstd operands.
(cbranchdf4): Conditional on TARGET_FPU.
(movdf): Ditto; correct alternatives check.
(movmemhi): Fix predicate and constraint.
* config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Handle 64 bit mode.
From-SVN: r165729
Ian Lance Taylor [Wed, 20 Oct 2010 14:39:17 +0000 (14:39 +0000)]
Makefile.def (target_modules): Set lib_path to src/.libs for libstdc++-v3 module.
* Makefile.def (target_modules): Set lib_path to src/.libs for
libstdc++-v3 module.
* Makefile.tpl: Fix typo in TARGET_LIB_PATH comment.
* Makefile.in: Rebuild.
From-SVN: r165727
Rodrigo Rivas Costa [Wed, 20 Oct 2010 14:13:38 +0000 (14:13 +0000)]
re PR c++/46056 ([C++0x] range-based for loop does not destruct iterators)
PR c++/46056
* parser.c (cp_convert_range_for): Call cp_finish_decl
instead of finish_expr_stmt.
From-SVN: r165726
Richard Guenther [Wed, 20 Oct 2010 14:11:06 +0000 (14:11 +0000)]
re PR lto/45667 (ICE: verify_stmts failed: type mismatch in address expression with -flto)
2010-10-20 Richard Guenther <rguenther@suse.de>
PR lto/45667
* lto-streamer-out.c (output_gimple_stmt): Fix typo.
* tree-cfg.c (verify_gimple_call): Properly get the call fndecl.
(verify_gimple_assign_single): Disable ADDR_EXPR type check
when in LTO.
* g++.dg/lto/
20101020-1_0.h: New testcase.
* g++.dg/lto/
20101020-1_0.C: Likewise.
* g++.dg/lto/
20101020-1_1.C: Likewise.
From-SVN: r165725
Vladimir Makarov [Wed, 20 Oct 2010 13:51:31 +0000 (13:51 +0000)]
re PR fortran/42169 (gfortran.dg/pr41928.f90:47: internal compiler error: in store_can_be_removed_p, at ira-emit.c:371)
2010-10-20 Vladimir Makarov <vmakarov@redhat.com>
PR fortran/42169
* ira-emit.c (store_can_be_removed_p): Return false instead of
gcc_unreachable.
From-SVN: r165722
H.J. Lu [Wed, 20 Oct 2010 12:38:22 +0000 (12:38 +0000)]
Add LTO to boot language if it is enabled.
2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/45954
* config-lang.in (boot_language): Set to $enable_lto.
From-SVN: r165721
Dmitry Melnik [Wed, 20 Oct 2010 12:26:10 +0000 (12:26 +0000)]
fold-const.c (fold_binary_loc): New transformation.
2010-10-20 Dmitry Melnik <dm@ispras.ru>
gcc/
* fold-const.c (fold_binary_loc): New transformation.
gcc/testsuite/
* gcc.dg/
20101013-1.c: New test.
From-SVN: r165720
H.J. Lu [Wed, 20 Oct 2010 11:21:19 +0000 (11:21 +0000)]
Correct reduc_splus_v8sf and reduc_splus_v4df.
gcc/
2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/46085
* config/i386/sse.md (reduc_splus_v8sf): Updated.
(reduc_splus_v4df): Likewise.
gcc/testsuite/
2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/46085
* gcc.target/i386/pr46085-1.c: New.
* gcc.target/i386/pr46085-2.c: Likewise.
From-SVN: r165719
Richard Guenther [Wed, 20 Oct 2010 11:09:54 +0000 (11:09 +0000)]
re PR tree-optimization/45860 (ICE: verify_ssa failed: virtual SSA name for non-VOP decl at -O1)
2010-10-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45860
* tree-ssa-phiopt.c (cond_store_replacement): Do not do
conditional store replacement for non-register type stores.
* gcc.dg/torture/pr45860.c: New testcase.
From-SVN: r165718
Eric Botcazou [Wed, 20 Oct 2010 11:02:40 +0000 (11:02 +0000)]
stor-layout.c (skip_simple_constant_arithmetic): New function.
* stor-layout.c (skip_simple_constant_arithmetic): New function.
(self_referential_size): Use it instead of skip_simple_arithmetic.
From-SVN: r165716
Olivier Hainque [Wed, 20 Oct 2010 10:09:41 +0000 (10:09 +0000)]
rs6000.c (rs6000_reg_live_or_pic_offset_p): If the current function calls eh_return...
* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
If the current function calls eh_return, claim live all registers
that we need to check for liveness otherwise.
testsuite/
* gcc.target/powerpc (ehreturn.c): New test.
From-SVN: r165715
Nicola Pero [Wed, 20 Oct 2010 09:08:57 +0000 (09:08 +0000)]
In gcc/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* c-decl.c (c_write_global_declarations): Call
objc_write_global_declarations when compiling Objective-C.
* c-lang.c (finish_file): Removed.
In gcc/c-family/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (finish_file): Removed.
(objc_write_global_declarations): New.
* c-opts.c (c_common_parse_file): Do not call finish_file.
* stub-objc.c (objc_write_global_declarations): New.
In gcc/cp/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* cp-lang.c (finish_file): Removed.
* decl2.c (cp_write_global_declarations): Call
objc_write_global_declarations when compiling Objective-C++.
In gcc/objc/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-lang.c (finish_file): Removed.
* objc-act.c (objc_finish_file): Renamed to
objc_write_global_declarations. Do not try to instantiate C++
templates when compiling Objective-C++ as this is now
automatically done before this function is called. Do not check
for syntax-only run or PCH generation as this is done by the
callers.
* objc-act.h (objc_finish_file): Removed.
In gcc/objcp/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* objcp-lang.c (finish_file): Removed.
In gcc/testsuite/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. Test adapted to
not require Foundation and run with the GNU runtime as well.
2006-03-13 Fariborz Jahanian <fjahanian@apple.com>
Radar
4439126
* obj-c++.dg/template-8.mm: New.
From-SVN: r165714
Nicola Pero [Wed, 20 Oct 2010 09:03:06 +0000 (09:03 +0000)]
In gcc/testsuite/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/23709
* objc.dg/pr23709.m: New.
* obj-c++.dg/pr23709.m: New.
From-SVN: r165713
GCC Administrator [Wed, 20 Oct 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r165712
Paolo Carlini [Tue, 19 Oct 2010 22:58:11 +0000 (22:58 +0000)]
re PR c++/46046 (internal compiler error with SFINAE expression in a template inside a template)
/cp
2010-10-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/46046
* pt.c (add_to_template_args): Check extra_args for error_mark_node.
(coerce_template_parms): Likewise for args.
/testsuite
2010-10-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/46046
* g++.dg/template/crash104.C: New.
From-SVN: r165708
DJ Delorie [Tue, 19 Oct 2010 21:07:50 +0000 (17:07 -0400)]
tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
* doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
(TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
(TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
(TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
* doc/tm.texi: Regenerate.
* targhooks.h (default_label_align_after_barrier_max_skip,
default_loop_align_max_skip, default_label_align_max_skip,
default_jump_align_max_skip): Declare.
* target.def (label_align_after_barrier_max_skip): New.
(loop_align_max_skip): New.
(label_align_max_skip): New.
(jump_align_max_skip): New.
* system.h (poison): Add those macros to the list.
* final.c (LABEL_ALIGN_MAX_SKIP): Remove.
(LOOP_ALIGN_MAX_SKIP): Remove.
(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
(JUMP_ALIGN_MAX_SKIP): Remove.
(default_label_align_after_barrier_max_skip): New.
(default_loop_align_max_skip): New.
(default_label_align_max_skip): New.
(default_jump_align_max_skip): New.
(compute_alignments): Use the new hooks.
(shorten_branches): Likewise.
From-SVN: r165707
Richard Henderson [Tue, 19 Oct 2010 19:58:20 +0000 (12:58 -0700)]
Add patterns for FMA3.
From-SVN: r165705
Paul Koning [Tue, 19 Oct 2010 18:01:01 +0000 (18:01 +0000)]
lower-subreg.c (resolve_shift_zext): Delete conditional code for WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
* lower-subreg.c (resolve_shift_zext): Delete conditional code for
WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
From-SVN: r165703
Richard Henderson [Tue, 19 Oct 2010 17:40:58 +0000 (10:40 -0700)]
Add FMA patterns for ia64.
From-SVN: r165702
Michael Eager [Tue, 19 Oct 2010 17:08:24 +0000 (17:08 +0000)]
Use sjlj unwind.
From-SVN: r165701
Francois-Xavier Coudert [Tue, 19 Oct 2010 12:30:35 +0000 (12:30 +0000)]
re PR fortran/43414 (DWARF4: Use DW_AT_main_subprogram for MAIN__)
PR fortran/43414
* dwarf2out.c (add_calling_convention_attribute): Flag main
Fortran subroutine with DW_AT_main_subprogram.
From-SVN: r165699
Arnaud Charlet [Tue, 19 Oct 2010 12:29:25 +0000 (14:29 +0200)]
[multiple changes]
2010-10-19 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb, exp_ch4.ads (Expand_Quantified_Expression): New procedure
* exp_util.adb (Insert_Actions): Include Quantified_Expression.
* expander.adb: Call Expand_Qualified_Expression.
* par.adb: New procedure P_Quantified_Expression. Make
P_Loop_Parameter_Specification global for use in quantified expressions.
* par-ch3.adb (P_Subtype_Mark_Resync): Allow "some" as an identifier if
version <
Ada2012.
* par-ch4.adb: New procedure P_Quantified_Expression.
* par-ch5.adb: P_Loop_Parameter_Specification is now global.
* scans.adb, scans.ads: Introduce token Some. For now leave as
unreserved.
* scn.adb (Scan_Reserved_Identifier): For earlier versions of Ada,
treat Some as a regular identifier.
* sem.adb: Call Analyze_Quantified_Expression.
* sem_ch4.adb, sem_ch4.ads: New procedure Analyze_Quantified_Expression.
* sem_ch5.adb, sem_ch5.ads: Analyze_Iteration_Scheme is public, for use
in quantified expressions.
* sem_res.adb: New procedure Resolve_Qualified_Expression.
* sinfo.adb, sinfo.ads: New node N_Quantified_Expression
* snames.ads-tmpl: New name Some.
* sprint.adb: Output quantified_expression.
2010-10-19 Robert Dewar <dewar@adacore.com>
* a-exexda.adb: Minor reformatting
Minor code reorganization.
From-SVN: r165698
Richard Guenther [Tue, 19 Oct 2010 11:06:29 +0000 (11:06 +0000)]
re PR tree-optimization/46081 (FAIL: gcc.dg/ipa/ipa-pta-10.c)
2010-10-19 Richard Guenther <rguenther@suse.de>
PR testsuite/46081
* gcc.dg/ipa/ipa-pta-10.c: Adjust.
From-SVN: r165697
Arnaud Charlet [Tue, 19 Oct 2010 10:54:58 +0000 (12:54 +0200)]
[multiple changes]
2010-10-19 Robert Dewar <dewar@adacore.com>
* sem_eval.adb: Minor reformatting.
2010-10-19 Tristan Gingold <gingold@adacore.com>
* exp_ch4.adb (Expand_N_And_Op, Expand_N_Or_Op, Expand_N_Xor_Op): Call
Expand_Intrinsic_Call if the function is intrinsic.
* exp_intr_adb (Expand_Binary_Operator): Handle VMS case for logical
binary operator on the unsigned_quadword record.
* exp_intr.ads (Expand_Intrinsic_Call): Update comments.
2010-10-19 Geert Bosch <bosch@adacore.com>
* gnat_rm.texi (pragma Float_Representation): Fix typo.
2010-10-19 Arnaud Charlet <charlet@adacore.com>
* switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateE.
* fe.h (Exception_Extra_Info): Declare.
* usage.adb (usage): Add -gnateE doc.
* checks.adb (Install_Null_Excluding_Check): Use better sloc.
* sem_util.adb (Insert_Explicit_Dereference): Ditto.
* gnat_ugn.texi: Document -gnateE switch.
* a-except.adb (Set_Exception_C_Msg): New parameter Column.
* a-except-2005.adb (Set_Exception_C_Msg): New parameter Column.
(Raise_Constraint_Error_Msg): Ditto.
(Image): New helper function.
(Rcheck_00_Ext, Rcheck_05_Ext, Rcheck_12_Ext): New procedure with more
detailed exception information.
Adjust calls to Set_Exception_C_Msg and Raise_Constraint_Error_Msg.
* a-exexda.adb (Set_Exception_C_Msg): New parameter Column.
* opt.ads (Exception_Extra_Info): New flag.
* gcc-interface/utils.c (gnat_raise_decls_ext): New.
* gcc-interface/utils2.c (build_call_raise_range,
build_call_raise_column): New functions.
* gcc-interface/gigi.h (exception_info_kind, gnat_raise_decls_ext,
build_call_raise_range, build_call_raise_column): Declare.
gcc-interface/trans.c (build_raise_check): New function.
(gigi): Initialize gnat_raise_decls_ext.
(gnat_to_gnu): Add initial support for -gnateE switch.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r165696
Arnaud Charlet [Tue, 19 Oct 2010 10:37:41 +0000 (12:37 +0200)]
[multiple changes]
2010-10-19 Geert Bosch <bosch@adacore.com>
* ttypef.ads: Change VAXDF_Last to be -VAXDF_First, as type is
symmetric.
2010-10-19 Robert Dewar <dewar@adacore.com>
* atree.h (Field29): Fix incorrect definition.
* einfo.adb (Invariant_Procedure): New attribute
(Has_Invariants): New flag
(Has_Inheritable_Invariants): New flag
(OK_To_Reference): New flag
Minor code reorganization (use Next_Rep_Item function)
* einfo.ads (Invariant_Procedure): New attribute
(Has_Invariants): New flag
(Has_Inheritable_Invariants): New flag
(OK_To_Reference): New flag
* exp_ch3.adb (Expand_N_Object_Declaration): Add check for invariant
* exp_ch4.adb (Expand_N_Type_Conversion): Check invariant on type
conversion. Minor reformatting.
* exp_util.ads, exp_util.adb (Make_Invariant_Call): New procedure.
* opt.ads (List_Inherited_Aspects): New name for List_Inherited_Pre_Post
* par-prag.adb: Add dummy entry for pragma Invariant.
* sem_ch13.adb (Build_Invariant_Procedure): New procedure
(Analyze_Aspect_Specification): Add support for Invariant aspect
* sem_ch13.ads (Build_Invariant_Procedure): New procedure
* sem_ch3.adb (Build_Derived_Type): Propagate invariant information
(Process_Full_View): Deal with invariants, building invariant procedure
Minor reformatting
* sem_ch6.adb (Process_PPCs): Add processing of invariants
* sem_ch7.adb (Analyze_Package_Specification): Build invariant
procedures.
* sem_prag.adb: Implement pragma Invariant.
* sem_res.adb (Resolve_Entity_Name): Allow type reference if
OK_To_Reference set.
* sem_warn.adb (List_Inherited_Aspects): New name for
List_Inherited_Pre_Post.
* snames.ads-tmpl: Add entries for pragma Invariant.
* treepr.adb (Print_Entity_Information): Add handling of Field29.
* usage.adb: Warning .l/.L applies to invariant as well as pre/post.
From-SVN: r165694
Arnaud Charlet [Tue, 19 Oct 2010 10:30:52 +0000 (12:30 +0200)]
Minor reformatting.
From-SVN: r165693
Arnaud Charlet [Tue, 19 Oct 2010 10:30:18 +0000 (12:30 +0200)]
[multiple changes]
2010-10-19 Javier Miranda <miranda@adacore.com>
* par-ch4.adb: Update documentation of Ada 2012 syntax rules for
membership test.
2010-10-19 Bob Duff <duff@adacore.com>
* sem_attr.adb (Eval_Attribute): Implement Max_Alignment_For_Allocation
attribute.
* exp_attr.adb (Expand_N_Attribute_Reference): Add
Attribute_Max_Alignment_For_Allocation to the case statement.
* snames.ads-tmpl (Name_Max_Alignment_For_Allocation,
Attribute_Max_Alignment_For_Allocation): New attribute name.
2010-10-19 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (OK_For_Limited_Init_In_05): a call to an access to
parameterless function appears syntactically as an explicit dereference.
2010-10-19 Thomas Quinot <quinot@adacore.com>
* sem_ch8.adb, sem_ch12.adb, opt.ads, sem_ch6.adb, sem_res.adb,
i-cexten.ads, exp_disp.adb, exp_ch4.adb, exp_ch9.adb: Minor reformatting
2010-10-19 Thomas Quinot <quinot@adacore.com>
* sem_util.adb (Collect_Primitive_Operations): A function with an
anonymous access result designating T is a primitive operation of T.
From-SVN: r165692
Nick Clifton [Tue, 19 Oct 2010 10:26:31 +0000 (10:26 +0000)]
rx.c (rx_function_value): Small integer types are promotes to SImode.
* config/rx/rx.c (rx_function_value): Small integer types are
promotes to SImode.
(rx_promote_function_mode): New function.
(TARGET_PROMOTE_FUNCTION_MODE): Define.
From-SVN: r165690
Arnaud Charlet [Tue, 19 Oct 2010 10:23:10 +0000 (12:23 +0200)]
[multiple changes]
2010-10-19 Tristan Gingold <gingold@adacore.com>
* init.c: On Alpha/VMS, only adjust PC for HPARITH.
2010-10-19 Tristan Gingold <gingold@adacore.com>
* sem_attr.adb (Eval_Attribute): Handle Attribute_Ref, which can be
evaluated on VMS.
2010-10-19 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Check_Generic_Child_Unit): Handle properly the case of
an instantiation of a renaming of the implicit generic child that
appears within an instance of its parent.
2010-10-19 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb: Minor reformatting.
* einfo.adb, einfo.ads, atree.adb, atree.ads, exp_dist.adb, atree.h:
(Referenced_Object): Remove unused entity attribute.
(Direct_Primitive_Operations): Move to Elist10, this is set for all
tagged types, including synchronous ones, so can't use field15 which is
used as Storage_Size_Variable for task types and Entry_Bodies_Array for
protected types.
(Add_RACW_Primitive_Declarations_And_Bodies): Remove bogus guard
against Concurrent_Types (we must handle the case of a RACW designating
a class-wide private synchronous type).
Use Direct_Primitive_Operations, not Primitive_Operations, since we
really want the former.
2010-10-19 Bob Duff <duff@adacore.com>
* sem_ch8.adb (Pop_Scope): Change "return;" to "raise Program_Error;".
2010-10-19 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_Set_Membership.Make_Cond): Add missing support
for N_Range nodes.
From-SVN: r165689
Thomas Quinot [Tue, 19 Oct 2010 10:06:43 +0000 (10:06 +0000)]
einfo.ads, atree.ads: Minor comment fixes.
2010-10-19 Thomas Quinot <quinot@adacore.com>
* einfo.ads, atree.ads: Minor comment fixes.
From-SVN: r165688
Nick Clifton [Tue, 19 Oct 2010 08:18:18 +0000 (08:18 +0000)]
mep.c (mep_print_operand): Use targetm.strip_name_encoding.
* config/mep/mep.c (mep_print_operand): Use
targetm.strip_name_encoding.
(mep_output_aligned_common): Likewise.
From-SVN: r165682
Basile Starynkevitch [Tue, 19 Oct 2010 06:57:24 +0000 (06:57 +0000)]
line-map.h (source_location): Remove obsolete comment mentioning location_s.
2010-10-19 Basile Starynkevitch <basile@starynkevitch.net>
* line-map.h (source_location): Remove obsolete comment
mentioning location_s.
From-SVN: r165680
Basile Starynkevitch [Tue, 19 Oct 2010 06:47:02 +0000 (06:47 +0000)]
gengtype.c (new_structure): Remove ad-hoc "location_s" processing.
2010-10-19 Basile Starynkevitch <basile@starynkevitch.net>
* gengtype.c (new_structure): Remove ad-hoc "location_s"
processing.
From-SVN: r165679
Richard Henderson [Tue, 19 Oct 2010 02:12:07 +0000 (19:12 -0700)]
simplify-rtx.c (simplify_ternary_operation): Simplify (fma (neg a) (neg b) c) and (fma a (neg b) c).
* simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
(fma (neg a) (neg b) c) and (fma a (neg b) c).
From-SVN: r165677
Richard Henderson [Tue, 19 Oct 2010 02:12:00 +0000 (19:12 -0700)]
Simplify FMA4 patterns with FMA rtx code.
Also fix incorrect rtl generation for scalar instructions.
From-SVN: r165676