aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2012-07-16exp_pakd.adb, [...]: Minor reformatting.Robert Dewar5-24/+32
2012-07-16 Robert Dewar <dewar@adacore.com> * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor reformatting. From-SVN: r189516
2012-07-16re PR fortran/53956 ([F03] PROCEDURE w/ interface: Bogus "EXTERNAL attribute ↵Janus Weil6-12/+45
conflicts with FUNCTION attribute") 2012-07-16 Janus Weil <janus@gcc.gnu.org> PR fortran/53956 * gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified prototypes. * symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source of dummy procedures. (gfc_copy_formal_args_ppc): Ditto. * resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to gfc_copy_formal_args. (resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc. 2012-07-16 Janus Weil <janus@gcc.gnu.org> PR fortran/53956 * gfortran.dg/proc_decl_28.f90: New. From-SVN: r189514
2012-07-16i386.md (stack_protect_set): Disable the pattern for Android since Android ↵Sergey Melnikov2-4/+14
libc (bionic) does not provide... 2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com> * config/i386/i386.md (stack_protect_set): Disable the pattern for Android since Android libc (bionic) does not provide random value for stack protection guard at gs:0x14. Guard value will be provided from external symbol (default implementation). (stack_protect_set_<mode>): Likewise. (stack_protect_test): Likewise. (stack_protect_test_<mode>): Likewise. From-SVN: r189513
2012-07-16builtins-1.c: New testcase.Andrew Pinski2-0/+13
2012-07-16 Andrew Pinski <apinski@cavium.com> * gcc.dg/torture/builtins-1.c: New testcase. From-SVN: r189510
2012-07-16Commit hunk missing from last changeHans-Peter Nilsson1-1/+1
From-SVN: r189509
2012-07-16Tweak ChangeLog formatting for my recent entriesHans-Peter Nilsson1-5/+3
From-SVN: r189508
2012-07-16cris-protos.h (cris_legitimate_address_p): Declare.Hans-Peter Nilsson4-5/+11
* config/cris/cris-protos.h (cris_legitimate_address_p): Declare. * config/cris/cris.h (CONSTANT_ADDRESS_P): Define in terms of CONSTANT_P and cris_legitimate_address_p. * config/cris/cris.c (cris_legitimate_address_p): Make non-static. From-SVN: r189507
2012-07-16cris.c (cris_preferred_reload_class): Don't return GENERAL_REGS as preferred ↵Hans-Peter Nilsson2-0/+4
to MOF_SRP_REGS. * config/cris/cris.c (cris_preferred_reload_class): Don't return GENERAL_REGS as preferred to MOF_SRP_REGS. From-SVN: r189506
2012-07-16sync-2i.c, [...]: For cris*-*-linux*, also pass ↵Hans-Peter Nilsson10-0/+36
-mno-unaligned-atomic-may-use-library. * gcc.target/cris/sync-2i.c, gcc.target/cris/sync-2s.c, gcc.target/cris/sync-3i.c, gcc.target/cris/sync-3s.c, gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c, gcc.target/cris/sync-1-v10.c, gcc.target/cris/sync-1-v32.c: For cris*-*-linux*, also pass -mno-unaligned-atomic-may-use-library. * gcc.target/cris/sync-xchg-1.c: New test. From-SVN: r189505
2012-07-16cris.c (cris_init_libfuncs): Handle initialization of library functions for ↵Hans-Peter Nilsson5-3/+33
basic atomic compare-and-swap. * config/cris/cris.c (cris_init_libfuncs): Handle initialization of library functions for basic atomic compare-and-swap. * config/cris/cris.h (TARGET_ATOMICS_MAY_CALL_LIBFUNCS): New macro. * config/cris/cris.opt (munaligned-atomic-may-use-library): New option. * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>") ("cris_atomic_fetch_<atomic_op_name><mode>_1") ("atomic_compare_and_swap<mode>") ("cris_atomic_compare_and_swap<mode>_1"): Make conditional on TARGET_ATOMICS_MAY_CALL_LIBFUNCS for sizes larger than byte. From-SVN: r189504
2012-07-16cris.c (cris_print_operand): New cases.Hans-Peter Nilsson3-30/+107
* config/cris/cris.c (cris_print_operand) <case 'P', 'q'>: New cases. * config/cris/sync.md (atomic_op_op_cnstr): New code_attr. (atomic_op_op_pred): Ditto. (atomic_op_mnem_pre_op2): Renamed from atomic_op_mnem_pre; to reflect the change to include %2 in expansion. All callers changed. (qm3): New mode_attr. ("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred> as predicate for operand 2. ("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME. Use "<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and constraint for operand 2. ("atomic_compare_and_swap<mode>"): Add FIXME. Change predicate to nonmemory_operand for operand 3. ("cris_atomic_compare_and_swap<mode>_1"): Change operand 3 to exclude memory. Improve emitted sync code for v10 and v32. Use <qm3> instead of <m> for size designator for cmp. From-SVN: r189503
2012-07-1620011127-1.c: Adjust to %P being a valid register operand output modifier.Hans-Peter Nilsson2-1/+5
* gcc.target/cris/20011127-1.c: Adjust to %P being a valid register operand output modifier. From-SVN: r189502
2012-07-16sync.md ("atomic_compare_and_swap<mode>"): Change predicate to ↵Hans-Peter Nilsson2-3/+8
nonmemory_operand for operand 3. * config/cris/sync.md ("atomic_compare_and_swap<mode>"): Change predicate to nonmemory_operand for operand 3. Add FIXME. ("cris_atomic_compare_and_swap<mode>_1"): Change predicates and From-SVN: r189501
2012-07-16* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")Hans-Peter Nilsson2-4/+18
("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence calls on result of call to need_atomic_barrier_p. From-SVN: r189500
2012-07-16Daily bump.GCC Administrator1-1/+1
From-SVN: r189499
2012-07-15mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo.Richard Sandiford21-71/+109
gcc/ * config/mips/mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo. (type): Split mfhilo into mfhi and mflo. Split mthilo into mthi and mtlo. Adjust move_type->type mapping. (may_clobber_hilo): Split mthilo into mthi and mtlo. (*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16) (*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal) (*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo instead of mthilo and mfhilo. (mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo. (mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo. * config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w) (mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip): Use mflo instead of mfhilo. * config/mips/10000.md (r10k_arith): Split mthilo. (r10k_mfhi, r10k_mflo): Use mfhi and mflo directly. * config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise. (ir_sb1_mthilo): Split mthilo into mthi and mtlo. * config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split mthilo and mfhilo. * config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise. * config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo): Likewise. * config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise. * config/mips/5400.md (ir_vr54_hilo): Likewise. * config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise. * config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise. * config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise. * config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise. * config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise. * config/mips/generic.md (generic_hilo): Likewise. * config/mips/loongson2ef.md (ls2_alu): Likewise. * config/mips/loongson3a.md (ls3a_mfhilo): Likewise. * config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2) (octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise. * config/mips/sr71k.md (ir_sr70_hilo): Likewise. * config/mips/xlr.md (xlr_hilo): Likewise. From-SVN: r189496
2012-07-15pubnames-2.C: Support all known comment characters.Andreas Schwab2-56/+61
* g++.dg/debug/dwarf2/pubnames-2.C: Support all known comment characters. From-SVN: r189494
2012-07-15Daily bump.GCC Administrator1-1/+1
From-SVN: r189489
2012-07-14sh.h (SH_ASM_SPEC): Add spaces between options.Andrew Stubbs2-2/+7
2012-07-14 Andrew Stubbs <ams@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/sh/sh.h (SH_ASM_SPEC): Add spaces between options. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r189486
2012-07-14Add missing pthread requirement.Mike Stump1-0/+1
From-SVN: r189485
2012-07-14i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode for TARGET_SSE.Uros Bizjak3-3/+8
* config/i386/i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode for TARGET_SSE. From-SVN: r189483
2012-07-14toplev.c (init_asm_output): Open asm_out_file in 'w' mode.Steven Bosscher4-30/+11
gcc/ * toplev.c (init_asm_output): Open asm_out_file in 'w' mode. c-family/ * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define. Remove code conditional on it. From-SVN: r189482
2012-07-13octeon2-pipe-1.c: Use cleanup-rtl-dump rather than cleanup-tree-dump.Andrew Pinski3-2/+8
2012-07-13 Andrew Pinski <apinski@cavium.com> * gcc.target/mips/octeon2-pipe-1.c: Use cleanup-rtl-dump rather than cleanup-tree-dump. * gcc.target/mips/octeon-pipe-1.c: Likewise. tree From-SVN: r189477
2012-07-14Daily bump.GCC Administrator1-1/+1
From-SVN: r189476
2012-07-13re PR bootstrap/53955 (Missing prototypes in i386.c, bootstrap failure with ↵Bill Schmidt4-12/+28
--disable-build-poststage1-with-cxx) 2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com> PR bootstrap/53955 * config/spu/spu.c (spu_init_cost): Mark static. (spu_add_stmt_cost): Likewise. (spu_finish_cost): Likewise. (spu_destroy_cost_data): Likewise. * config/i386/i386.c (ix86_init_cost): Mark static. (ix86_add_stmt_cost): Likewise. (ix86_finish_cost): Likewise. (ix86_destroy_cost_data): Likewise. * config/rs6000/rs6000.c (rs6000_init_cost): Mark static. (rs6000_add_stmt_cost): Likewise. (rs6000_finish_cost): Likewise. (rs6000_destroy_cost_data): Likewise. From-SVN: r189473
2012-07-13ggc.h (ggc_internal_alloc_stat, [...]): Add ATTRIBUTE_MALLOC.Steven Bosscher4-14/+29
* ggc.h (ggc_internal_alloc_stat, ggc_alloc_typed_stat, ggc_internal_cleared_alloc_stat, ggc_cleared_alloc_htab_ignore_args, ggc_cleared_alloc_ptr_array_two_args, ggc_splay_alloc): Add ATTRIBUTE_MALLOC. * alloc-pool.h (pool_alloc): Likewise. * final.c (final): Do not loop to find max_uid. From-SVN: r189470
2012-07-13emit-rtl.c (make_debug_insn_raw, [...]): Make static.Steven Bosscher3-5/+7
* emit-rtl.c (make_debug_insn_raw, make_jump_insn_raw): Make static. * rtl.h (make_debug_insn_raw, make_jump_insn_raw): Remove prototypes. From-SVN: r189467
2012-07-13re PR regression/53953 (g++.dg/cpp0x/lambda/lambda-ice2.C (warnings and ↵Jason Merrill2-3/+8
errors not matching)) PR c++/53953 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner. From-SVN: r189465
2012-07-13re PR target/53907 (gcc uses unaligned load when aligned load was requested)Richard Guenther4-0/+80
2012-07-13 Richard Guenther <rguenther@suse.de> PR tree-optimization/53907 * tree-ssa-forwprop.c (associate_pointerplus): New function. (ssa_forward_propagate_and_combine): Call it. * gcc.target/i386/pr53907.c: New testcase. From-SVN: r189462
2012-07-13re PR tree-optimization/53922 (VRP: semantic conflict between ↵Richard Guenther4-52/+66
range_includes_zero_p and value_inside_range) 2012-07-13 Richard Guenther <rguenther@suse.de> PR tree-optimization/53922 * tree-vrp.c (value_inside_range): Change prototype to take min/max instead of value-range. (range_includes_zero_p): Likewise. Return the result from value_inside_range. (extract_range_from_binary_expr_1): Adjust to handle dont-know return value from range_includes_zero_p. (extract_range_from_unary_expr_1): Likewise. (compare_range_with_value): Likewise. (vrp_meet_1): Likewise. * gcc.dg/torture/pr53922.c: New testcase. From-SVN: r189461
2012-07-13tm.texi: Regenerate.Bill Schmidt15-160/+826
2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com> * doc/tm.texi: Regenerate. * doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): New hook. (TARGET_VECTORIZE_ADD_STMT_COST): Likewise. (TARGET_VECTORIZE_FINISH_COST): Likewise. (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. * targhooks.c (default_init_cost): New function. (default_add_stmt_cost): Likewise. (default_finish_cost): Likewise. (default_destroy_cost_data): Likewise. * targhooks.h (default_init_cost): New decl. (default_add_stmt_cost): Likewise. (default_finish_cost): Likewise. (default_destroy_cost_data): Likewise. * target.def (init_cost): New DEFHOOK. (add_stmt_cost): Likewise. (finish_cost): Likewise. (destroy_cost_data): Likewise. * target.h (struct _stmt_vec_info): New extern decl. (stmt_vectype): Likewise. (stmt_in_inner_loop_p): Likewise. * tree-vectorizer.h (stmt_info_for_cost): New struct/typedef. (stmt_vector_for_cost): New VEC/typedef. (add_stmt_info_to_vec): New function. (struct _slp_tree): Remove cost.inside_of_loop field. (struct _slp_instance): Remove cost.inside_of_loop field; add stmt_cost_vec field. (SLP_INSTANCE_INSIDE_OF_LOOP_COST): Remove macro. (SLP_INSTANCE_STMT_COST_VEC): New accessor macro. (SLP_TREE_INSIDE_OF_LOOP_COST): Remove macro. (struct _vect_peel_extended_info): Add stmt_cost_vec field. (struct _loop_vec_info): Add target_cost_data field. (LOOP_VINFO_TARGET_COST_DATA): New accessor macro. (struct _bb_vec_info): Add target_cost_data field. (BB_VINFO_TARGET_COST_DATA): New accessor macro. (struct _stmt_vec_info): Remove cost.inside_of_loop field. (STMT_VINFO_INSIDE_OF_LOOP_COST): Remove macro. (stmt_vinfo_set_inside_of_loop_cost): Remove function. (init_cost): New function. (add_stmt_cost): Likewise. (finish_cost): Likewise. (destroy_cost_data): Likewise. (vect_model_simple_cost): Change parameter list. (vect_model_store_cost): Likewise. (vect_model_load_cost): Likewise. (record_stmt_cost): New extern decl. (vect_get_load_cost): Change parameter list. (vect_get_store_cost): Likewise. * tree-vect-loop.c (new_loop_vec_info): Call init_cost. (destroy_loop_vec_info): Call destroy_cost_data. (vect_estimate_min_profitable_iters): Remove old calculation of inside costs; call finish_cost instead. (vect_model_reduction_cost): Call add_stmt_cost instead of old inside-costs calculation. (vect_model_induction_cost): Likewise. * tree-vect-data-refs.c (vect_get_data_access_cost): Change to return a stmt_vector_for_cost; modify calls to vect_get_load_cost and vect_get_store_cost to obtain the value to return. (vect_peeling_hash_get_lowest_cost): Obtain a stmt_cost_vec from vect_get_data_access_cost and store it in the minimum peeling structure. (vect_peeling_hash_choose_best_peeling): Change the parameter list to add a (stmt_vector_for_cost *) output parameter, and set its value. (vect_enhance_data_refs_alignment): Ignore the new return value from calls to vect_get_data_access_cost; obtain stmt_cost_vec from vect_peeling_hash_choose_best_peeling and pass its contents to the target cost model. * tree-vect-stmts.c (stmt_vectype): New function. (stmt_in_inner_loop_p): Likewise. (record_stmt_cost): Likewise. (vect_model_simple_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation; don't call stmt_vinfo_set_inside_of_loop_cost. (vect_model_promotion_demotion_cost): Call add_stmt_cost instead of old calculation; don't call stmt_vinfo_set_inside_of_loop_cost. (vect_model_store_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation; add stmt_cost_vec parameter to vect_get_store_cost call; don't call stmt_vinfo_set_inside_of_loop_cost. (vect_get_store_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation. (vect_model_load_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation; add stmt_cost_vec parameter to vect_get_load_cost call; don't call stmt_vinfo_set_inside_of_loop_cost. (vect_get_load_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation. (vectorizable_call): Add NULL parameter to vect_model_simple_cost call. (vectorizable_conversion): Likewise. (vectorizable_assignment): Likewise. (vectorizable_shift): Likewise. (vectorizable_operation): Likewise. (vectorizable_store): Add NULL parameter to vect_model_store_cost call. (vectorizable_load): Add NULL parameter to vect_model_load_cost call. (new_stmt_vec_info): Don't set STMT_VINFO_INSIDE_OF_LOOP_COST. * config/spu/spu.c (TARGET_VECTORIZE_INIT_COST): New macro def. (TARGET_VECTORIZE_ADD_STMT_COST): Likewise. (TARGET_VECTORIZE_FINISH_COST): Likewise. (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. (spu_init_cost): New function. (spu_add_stmt_cost): Likewise. (spu_finish_cost): Likewise. (spu_destroy_cost_data): Likewise. * config/i386/i386.c (ix86_init_cost): New function. (ix86_add_stmt_cost): Likewise. (ix86_finish_cost): Likewise. (ix86_destroy_cost_data): Likewise. (TARGET_VECTORIZE_INIT_COST): New macro def. (TARGET_VECTORIZE_ADD_STMT_COST): Likewise. (TARGET_VECTORIZE_FINISH_COST): Likewise. (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. * config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): New macro def. (TARGET_VECTORIZE_ADD_STMT_COST): Likewise. (TARGET_VECTORIZE_FINISH_COST): Likewise. (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. (rs6000_init_cost): New function. (rs6000_add_stmt_cost): Likewise. (rs6000_finish_cost): Likewise. (rs6000_destroy_cost_data): Likewise. * tree-vect-slp.c (vect_free_slp_instance): Free stmt_cost_vec. (vect_create_new_slp_node): Don't set SLP_TREE_INSIDE_OF_LOOP_COST. (vect_get_and_check_slp_defs): Add stmt_cost_vec parameter; add stmt_cost_vec parameter to vect_model_store_cost and vect_model_simple_cost calls. (vect_build_slp_tree): Remove inside_cost parameter; add stmt_cost_vec parameter; add stmt_cost_vec parameter to vect_get_and_check_slp_defs, vect_model_load_cost, and recursive vect_build_slp_tree calls; prevent calculating cost more than once for loads; remove inside_cost parameter from recursive vect_build_slp_tree calls; call record_stmt_cost instead of old calculation. (vect_analyze_slp_instance): Allocate stmt_cost_vec and save it with the instance; free it on premature exit; remove inside_cost parameter from vect_build_slp_tree call; add stmt_cost_vec parameter to vect_build_slp_tree call; don't set SLP_INSTANCE_INSIDE_OF_LOOP_COST. (new_bb_vec_info): Call init_cost. (destroy_bb_vec_info): Call destroy_cost_data. (vect_bb_vectorization_profitable_p): Call add_stmt_cost for each statement recorded with an SLP instance; call finish_cost instead of the old calculation. (vect_update_slp_costs_according_to_vf): Record statement costs from SLP instances, multiplying by the appropriate number of copies; don't update SLP_INSTANCE_INSIDE_OF_LOOP_COST. From-SVN: r189460
2012-07-13re PR c/53937 (Pack'ing struct causes gcc to not recognize that an field's ↵Richard Guenther2-0/+13
address is aligned) 2012-07-13 Richard Guenther <rguenther@suse.de> PR middle-end/53937 * builtins.c (get_pointer_alignment_1): Handle constant pointers. From-SVN: r189458
2012-07-13re PR rtl-optimization/53908 (csa removes needed memory load)Hans-Peter Nilsson2-0/+293
PR rtl-optimization/53908 * gcc.dg/torture/pr53908.c: New test. From-SVN: r189455
2012-07-13re PR rtl-optimization/53908 (csa removes needed memory load)Richard Sandiford2-0/+21
PR rtl-optimization/53908 * df-problems.c (can_move_insns_across): When doing memory-reference book-keeping, handle call insns. Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com> Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org> From-SVN: r189454
2012-07-13gimple.c (gimple_types_compatible_p_1): Remove redundant type attribute ↵Richard Guenther2-15/+6
comparisons. 2012-07-13 Richard Guenther <rguenther@suse.de> * gimple.c (gimple_types_compatible_p_1): Remove redundant type attribute comparisons. (gimple_canonical_types_compatible_p): Likewise. From-SVN: r189453
2012-07-13re PR c++/53531 (<,,,,> accepted as template arguments for variadic template)Jonathan Wakely2-0/+10
PR c++/53531 * testsuite/g++.dg/cpp0x/variadic135.C: New. From-SVN: r189452
2012-07-13Daily bump.GCC Administrator1-1/+1
From-SVN: r189448
2012-07-12pt.c (instantiate_decl): Check typedefs access here.Jason Merrill4-11/+15
* pt.c (instantiate_decl): Check typedefs access here. (instantiate_template_1): Not here. From-SVN: r189444
2012-07-12pt.c (deduction_tsubst_fntype): Just suppress access checking.Jason Merrill4-39/+18
* pt.c (deduction_tsubst_fntype): Just suppress access checking. (instantiate_template_1): Set DECL_TI_TEMPLATE before access checking. (push_deduction_access_scope, pop_deduction_access_scope): Remove. From-SVN: r189443
2012-07-12trans-expr.c (conv_isocbinding_procedure): GenerateTobias Burnus5-25/+151
2012-07-12 Tobias Burnus <burnus@net-b.de> * trans-expr.c (conv_isocbinding_procedure): Generate * c_f_pointer code inline. 2012-07-12 Tobias Burnus <burnus@net-b.de> * gfortran.dg/c_f_pointer_shape_tests_5.f90: New. * gfortran.dg/c_f_pointer_tests_3.f90: Update scan-tree-dump-times pattern. From-SVN: r189442
2012-07-12re PR rtl-optimization/53176 (gcc.dg/lower-subreg-1.c FAILs)Hans-Peter Nilsson2-5/+31
PR rtl-optimization/53176 * rtlanal.c (rtx_cost): Adjust default cost for X with a UNITS_PER_WORD factor for all X according to the size of its mode, not just for SUBREGs with untieable modes. Handle SET. Use factor * factor for MULT, DIV, UDIV, MOD, UMOD. From-SVN: r189441
2012-07-12i386.md (QImode and HImode cmove splitters): Merge QImode and HImode splitters.Uros Bizjak2-43/+34
* config/i386/i386.md (QImode and HImode cmove splitters): Merge QImode and HImode splitters. Use ix86_comparison_operator. Explicitly match FLAGS_REG. (DFmode cmove splitter): Explicitly match FLAGS_REG. From-SVN: r189440
2012-07-12[multiple changes]Arnaud Charlet13-59/+250
2012-07-12 Vasiliy Fofanov <fofanov@adacore.com> * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches. 2012-07-12 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_aggr.adb (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing for reverse storage order aggregate. (Exp_Pakd.Byte_Swap): New utility routine used by... (Exp_Pakd.Expand_Bit_Packed_Element_Set, Expand_Packed_Element_Reference): For the case of a free-standing packed array with reverse storage order, perform byte swapping. (Rtsfind): Make new entities RE_Bswap_{16,32,64} available. (Freeze.Check_Component_Storage_Order): New utility routine to enforce legality rules for nested composite types whose enclosing composite has an explicitly defined Scalar_Storage_Order attribute. (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to array types as well. (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge for change of scalar storage order in assignments. The Lhs and Rhs now always have the same scalar storage order. 2012-07-12 Hristian Kirtchev <kirtchev@adacore.com> * g-debpoo.adb (Allocate): Add local constant No_Element. Initialize the allocated memory chunk to No_Element. 2012-07-12 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the case of an instance of a child unit where a formal derived type DT is an extension of a type T declared in a parent unit, and the actual in the instance of the child is the type T declared in the parent instance, and that actual is not a derived type. 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> Tristan Gingold <gingold@adacore.com> * system-hpux-ia64.ads: Enable ZCX by default. * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux. Change soext to .so. From-SVN: r189439
2012-07-12[multiple changes]Arnaud Charlet14-910/+1072
2012-07-12 Robert Dewar <dewar@adacore.com> * s-atopri.adb, s-atopri.ads: Minor reformatting. 2012-07-12 Robert Dewar <dewar@adacore.com> * ali.adb: Add circuitry to read new named form of restrictions lines. * debug.adb: Add doc for new -gnatd.R switch (used positional notation for output of restrictions data in ali file). * lib-writ.adb: Implement new named format for restrictions lines. * lib-writ.ads: Add documentation for new named format for restrictions in ali files. * restrict.adb, restrict.ads, sem_prag.adb: Update comments. * rident.ads: Go back to withing System.Rident * s-rident.ads: Add extensive comment on dealing with consistency checking. 2012-07-12 Thomas Quinot <quinot@adacore.com> * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements. From-SVN: r189438
2012-07-12[multiple changes]Arnaud Charlet7-206/+424
2012-07-12 Robert Dewar <dewar@adacore.com> * sem_disp.adb: Minor reformatting * s-bytswa.ads: Minor comment update. 2012-07-12 Vincent Pucci <pucci@adacore.com> * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N replaced by Lock_Free_Try_Write_N. Renaming of several local variables. For procedure, Expected_Comp declaration moved to the declaration list of the procedure. * rtsfind.ads: RE_Atomic_Compare_Exchange_8, RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32, RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8, RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8, RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64, RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16, RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added. * s-atopri.adb: New file. * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of parameters. Import primitive __sync_val_compare_and_swap_1. (Atomic_Compare_Exchange_16): Renaming of parameters. Import primitive __sync_val_compare_and_swap_2. (Atomic_Compare_Exchange_32): Renaming of parameters. Import primitive __sync_val_compare_and_swap_4. (Atomic_Compare_Exchange_64): Renaming of parameters. Import primitive __sync_val_compare_and_swap_8. (Atomic_Load_8): Ptr renames parameter X. (Atomic_Load_16): Ptr renames parameter X. (Atomic_Load_32): Ptr renames parameter X. (Atomic_Load_64): Ptr renames parameter X. (Lock_Free_Read_8): New routine. (Lock_Free_Read_16): New routine. (Lock_Free_Read_32): New routine. (Lock_Free_Read_64): New routine. (Lock_Free_Try_Write_8): New routine. (Lock_Free_Try_Write_16): New routine. (Lock_Free_Try_Write_32): New routine. (Lock_Free_Try_Write_64): New routine. From-SVN: r189437
2012-07-12[multiple changes]Arnaud Charlet13-359/+440
2012-07-12 Robert Dewar <dewar@adacore.com> * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor reformatting. 2012-07-12 Vincent Pucci <pucci@adacore.com> * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error msgs for elementary functions. 2012-07-12 Vincent Pucci <pucci@adacore.com> * sem_attr.adb (Eval_Attribute): Minor reformatting. 2012-07-12 Pascal Obry <obry@adacore.com> * prj-nmsc.adb (Check_Library_Attributes): Allow the same library project in different project tree (different aggregated projects). 2012-07-12 Thomas Quinot <quinot@adacore.com> * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further reorganization of byte swapping routines. 2012-07-12 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Context): Refine legality checks on tagg indeterminate calls to abstract operations, that appear in the context of other calls. From-SVN: r189436
2012-07-12[multiple changes]Arnaud Charlet8-209/+336
2012-07-12 Thomas Quinot <quinot@adacore.com> * s-bytswa.adb (Swapped2.Bswap16): Remove local function, no longer needed. 2012-07-12 Javier Miranda <miranda@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): For attributes 'access, 'unchecked_access and 'unrestricted_access, iff the current instance reference is located in a protected subprogram or entry then rewrite the access attribute to be the name of the "_object" parameter. 2012-07-12 Tristan Gingold <gingold@adacore.com> * raise.h: Revert previous patch: structure is used in init.c by vms. 2012-07-12 Vincent Celier <celier@adacore.com> * make.adb (Binding_Phase): If --subdirs was used, but not -P, change the working directory to the specified subdirectory before invoking gnatbind. (Linking_Phase): If --subdirs was used, but not -P, change the working directory to the specified subdirectory before invoking gnatlink. 2012-07-12 Vincent Pucci <pucci@adacore.com> * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): For a procedure, instead of replacing each Comp reference by a reference to Current_Comp, make a renaming Comp of Current_Comp that rewrites the original renaming generated by the compiler during the analysis. Move the declarations of the procedure inside the generated block. (Process_Stmts): Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body. (Process_Node): Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body. * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any non-elementary out parameters in protected procedures. 2012-07-12 Thomas Quinot <quinot@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Scalar_Storage_Order): Attribute applies to base type only. From-SVN: r189435
2012-07-12[multiple changes]Arnaud Charlet11-287/+561
2012-07-12 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Convert_To_Positional): Increase acceptable size of static aggregate when Static_Elaboration_Desired is requested. Add a warning if the request cannot be satisfied either because some components or some array bounds are non-static. 2012-07-12 Thomas Quinot <quinot@adacore.com> * exp_pakd.adb: Minor reformatting. 2012-07-12 Tristan Gingold <gingold@adacore.com> * tracebak.c: Fix warnings. * raise-gcc.c (__gnat_adjust_context): New function (__gnat_personality_seh0): Call __gnat_adjust_context to adjust PC in machine frame for exceptions that occur in the current function. 2012-07-12 Thomas Quinot <quinot@adacore.com> * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl: Move GNAT.Byte_Swapping to System (with a renaming under GNAT) so that it is usable in expanded code. 2012-07-12 Tristan Gingold <gingold@adacore.com> * s-osinte-hpux.ads: Increase alternate stack size on hpux. From-SVN: r189434
2012-07-12[multiple changes]Arnaud Charlet6-109/+119
2012-07-12 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Make_Neq_Body): Fix typo in comment. 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only if USE_LIBUNWIND_EXCEPTIONS is defined. * init.c: Further tweaks for IA-64/HP-UX. 2012-07-12 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments. (db_region_for): Second argument is ip. Do not recompute ip. (action_kind): Remove typedef, add unhandler enum const. (action_descriptor): Adjust type of kind field. (db_action_for): Second argument is ip, do not recompute it. (get_call_site_action_for): First argument is call_site, do not recompute it. Remove useless return. (is_handled_by): Now return enum action_kind. Handle GNAT_ALL_OTHERS first. Return unhandler for GNAT_UNHANDLED_OTHERS. (get_action_description_for): First argument is now ip, do not recompute it. Adjust code for call to is_handled_by. (__gnat_notify_unhandled_exception): Add prototype. (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls. Handle unhandler case. (__gnat_cleanupunwind_handler): Add comments, add ATTRIBUTE_UNUSED on arguments. (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define only once. * raise.h: Makes struct Exception_Data opaque. From-SVN: r189433
2012-07-12[multiple changes]Arnaud Charlet7-40/+273
2012-07-12 Robert Dewar <dewar@adacore.com> * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor reformatting. 2012-07-12 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Is_User_Defined_Equality): New subprogram. (Make_Neq_Body): New subprogram. (Make_Predefined_Primitive_Specs): Adding local variable Has_Predef_Eq_ Renaming to ensure that we enable the machinery which handles renamings of predefined primitive operators. From-SVN: r189432