aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-05-14generic-match-head.c (types_match): Handle non-types.Marc Glisse4-7/+25
2015-05-14 Marc Glisse <marc.glisse@inria.fr> gcc/ * generic-match-head.c (types_match): Handle non-types. * gimple-match-head.c (types_match): Likewise. * match.pd: Remove unnecessary TREE_TYPE for types_match. From-SVN: r223199
2015-05-14[AArch64] Use conditional negate for absWilco Dijkstra4-28/+19
2015-05-14 Wilco Dijkstra <wdijkstr@arm.com> gcc/ * config/aarch64/aarch64.md (absdi2): Optimize abs expansion. (csneg3<mode>_insn): Enable expansion of pattern. gcc/testsuite/ * gcc.target/aarch64/abs_1.c (abs64): Update test for new abs expansion. (abs64_in_dreg): Likewise. From-SVN: r223197
2015-05-14re PR c/66066 (r222889 causes bogus error: initializer element is not constant)Marek Polacek10-19/+191
PR c/66066 PR c/66127 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal. (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and use it. If FOR_INT_CONST, require that all evaluated operands be INTEGER_CSTs. * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic rather than with 0. * gcc.dg/pr14649-1.c: Add -Wpedantic. * gcc.dg/pr19984.c: Likewise. * gcc.dg/pr66066-1.c: New test. * gcc.dg/pr66066-2.c: New test. * gcc.dg/pr66066-3.c: New test. From-SVN: r223193
2015-05-14rl78.c (rl78_select_section): Select the correct default section based upon ↵Nick Clifton2-3/+16
the category of the decl. * config/rl78/rl78.c (rl78_select_section): Select the correct default section based upon the category of the decl. From-SVN: r223192
2015-05-14Daily bump.GCC Administrator1-1/+1
From-SVN: r223189
2015-05-13re PR rtl-optimization/30967 (Extra sign/zero extend with word comparison ↵Segher Boessenkool2-1/+7
result) PR rtl-optimization/30967 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider destination mode for the cost of scc patterns. From-SVN: r223174
2015-05-13i386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator.Uros Bizjak2-101/+67
* config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator. (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint. (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand for operand[2] constraint. (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator. From-SVN: r223173
2015-05-13re PR middle-end/66133 (Wrong-code with noreturn #pragma omp task body)Jakub Jelinek2-5/+56
PR middle-end/66133 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion, make sure it is never noreturn, even when the task body does not return. (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE right before GIMPLE_OMP_RETURN. (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit. * testsuite/libgomp.c/pr66133.c: New test. From-SVN: r223171
2015-05-13[tree-ssa-math-opts] Expand pow (x, CONST) using square roots when possibleKyrylo Tkachov9-85/+491
* params.def (PARAM_MAX_POW_SQRT_DEPTH): New param. * tree-ssa-math-opts.c: Include params.h (pow_synth_sqrt_info): New struct. (representable_as_half_series_p): New function. (get_fn_chain): Likewise. (print_nested_fn): Likewise. (dump_fractional_sqrt_sequence): Likewise. (dump_integer_part): Likewise. (expand_pow_as_sqrts): Likewise. (gimple_expand_builtin_pow): Use above to attempt to expand pow as series of square roots. Removed now unused variables. * gcc.target/aarch64/pow-sqrt-synth-1.c: New test. * gcc.dg/pow-sqrt.x: New file. * gcc.dg/pow-sqrt-1.c: New test. * gcc.dg/pow-sqrt-2.c: Likewise. * gcc.dg/pow-sqrt-3.c: Likewise. From-SVN: r223167
2015-05-13alpha.c (alpha_emit_set_long_const): Remove c1 argument.Uros Bizjak3-30/+37
* config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument. (alpha_extract_integer): Redeclare as static HOST_WIDE_INT. Remove *p0 and *p1 arguments. Rewrite function. (alpha_legitimate_constant_p): Update call to alpha_extract_integer. (alpha_split_const_mov): Update calls to alpha_extract_integer and alpha_emit_set_long_const. (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const. (alpha_output_mi_thunk_osf): Ditto. * config/alpha/alpha.md (movti): Do not check operands[1] for CONST_DOUBLE. From-SVN: r223166
2015-05-13re PR tree-optimization/66129 (FAIL: gcc.dg/vect/vect-strided-*c execution test)Richard Biener2-1/+9
2015-05-13 Richard Biener <rguenther@suse.de> PR tree-optimization/66129 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are commutative. (vect_schedule_slp_instance): Fix typo. From-SVN: r223164
2015-05-13libcpp/input.c: Add a way to visualize the linemaps (-fdump-internal-locations)David Malcolm5-0/+246
gcc/ChangeLog: * common.opt (fdump-internal-locations): New option. * input.c: Include diagnostic-core.h. (get_end_location): New function. (write_digit): New function. (write_digit_row): New function. (dump_location_range): New function. (dump_labelled_location_range): New function. (dump_location_info): New function. * input.h (dump_location_info): New prototype. * toplev.c (compile_file): Handle flag_dump_locations. libcpp/ChangeLog: * include/line-map.h (source_location): Add a reference to location-example.txt to the descriptive comment. * location-example.txt: New file. From-SVN: r223163
2015-05-13gimple-expr.h (is_gimple_constant): Reorder.Eric Botcazou3-4/+7
* gimple-expr.h (is_gimple_constant): Reorder. * tree-ssa-propagate.c (before_dom_children): Use inline accessor. From-SVN: r223156
2015-05-13combine.c (simplify_set): When generating a CC set...Segher Boessenkool2-10/+12
* combine.c (simplify_set): When generating a CC set, if the source already is in the correct mode, do not wrap it in a compare. Simplify the rest of that code. From-SVN: r223146
2015-05-13re PR tree-optimization/66123 (Array of labels as values + ternary operator ↵Richard Biener4-0/+25
+ pointer arithmetic = internal compiler error) 2015-05-13 Richard Biener <rguenther@suse.de> PR tree-optimization/66123 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found a taken edge. * gcc.dg/torture/pr66123.c: New testcase. From-SVN: r223130
2015-05-13re PR middle-end/66110 (uint8_t memory access not optimized)Richard Biener6-5/+37
2015-05-13 Richard Biener <rguenther@suse.de> PR middle-end/66110 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child specially. * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing. * gcc.dg/alias-2.c: Adjust. * gcc.dg/tree-ssa/ssa-dse-17.c: New testcase. From-SVN: r223126
2015-05-13gcc: Bump to automake 1.11.6Michael Haubenwallner3-4/+10
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> * doc/install.texi: Bump latest automake 1.11 version to 1.11.6. * aclocal.m4: Regenerated with automake-1.11.6. From-SVN: r223122
2015-05-13Gimplify va_arg ap based on do_derefTom de Vries4-28/+16
2015-05-13 Tom de Vries <tom@codesourcery.com> PR tree-optimization/66010 * gimplify.h (gimplify_va_arg_internal): Remove declaration. * gimplify.c (gimplify_va_arg_internal): Remove and inline into ... * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval and rval based on do_deref. From-SVN: r223120
2015-05-13re PR target/65103 ([i386] GOTOFF relocation is not propagated into address ↵Ilya Enkovich4-1/+34
expression) gcc/ PR target/65103 * config/i386/i386.c (ix86_rtx_costs): We want to propagate link time constants into adress expressions and therefore set their cost to 0. gcc/testsuite/ PR target/65103 * gcc.target/i386/pr65103-3.c: New. From-SVN: r223119
2015-05-13Fix test case.Martin Liska2-1/+5
* g++.dg/ipa/pr65557.C: Remove unnecessary dump flag. From-SVN: r223118
2015-05-13re PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)Jakub Jelinek4-24/+114
PR target/66112 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4): Use SWI248 iterator instead of SWI. (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template. Use eq_attr "alternative" "0" instead of match_test in length_immediate attribute computation. (*mulvhi4, *mulvhi4_1): New define_insns. * gcc.target/i386/pr66112-2.c: New test. From-SVN: r223116
2015-05-13re PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)Jakub Jelinek4-1/+28
PR target/66112 * internal-fn.c (get_min_precision): Use UNSIGNED instead of SIGNED to get precision of non-negative value. * gcc.target/i386/pr66112-1.c: New test. From-SVN: r223115
2015-05-13re PR rtl-optimization/66048 ([i386] ICE in create_pre_exit when both AVX ↵Ilya Enkovich5-2/+31
and MPX are used) gcc/ PR target/66048 * function.c (diddle_return_value_1): Process bounds first. * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1 register. gcc/testsuite/ PR target/66048 * gcc.target/i386/mpx/pr66048.cc: New. From-SVN: r223114
2015-05-13re PR rtl-optimization/64616 (Redundant ldr when accessing var inside and ↵Thomas Preud'homme5-14/+144
outside a loop) 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR rtl-optimization/64616 * loop-invariant.c (can_move_invariant_reg): New. (move_invariant_reg): Call above new function to decide whether instruction can just be moved, skipping creation of temporary register. gcc/testsuite/ PR rtl-optimization/64616 * gcc.dg/loop-8.c: New test. * gcc.dg/loop-9.c: New test. From-SVN: r223113
2015-05-13re PR target/66047 (vlc compilation failure with target attribute)Jan Hubicka5-11/+79
PR target/66047 * i386.c (ix86_function_sseregparm): Only return -1 if local function with implied regparm is called from -mno-sse function. (init_cumulative_args): Output error if ix86_function_sseregparm return -1 and SSE register would be needed. (function_arg_advance_32): Likewise. (function_arg_32): Likewise. * i386.h (ix86_args): Add decl field. * gcc.target/i386/pr66047.c: New testcase. From-SVN: r223111
2015-05-13re PR ipa/65873 (Failure to inline always_inline memcpy)Jan Hubicka2-0/+19
PR ipa/65873 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always inlines across optimization boundary. * testsuite/gcc.c-torture/compile/pr65873.c: New testcase. From-SVN: r223108
2015-05-13re PR ipa/65873 (Failure to inline always_inline memcpy)Jan Hubicka2-35/+61
PR ipa/65873 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always inlines across optimization boundary. From-SVN: r223107
2015-05-12mmix.c, msp430.c: Add space between string literal and macro name.Jason Merrill5-7/+17
gcc/ * config/mmix/mmix.c, config/msp430/msp430.c: Add space between string literal and macro name. gcc/ada/ * sigtramp-vxworks.c: Add space between string literal and macro name. From-SVN: r223106
2015-05-13Daily bump.GCC Administrator1-1/+1
From-SVN: r223105
2015-05-12mips.c (mips_print_operand): Remove 'y' operand code.Steve Ellcey4-18/+10
* config/mips/mips.c (mips_print_operand): Remove 'y' operand code. * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator. * config/mips/predicates.md (const_immlsa_operand): Remove log call. From-SVN: r223101
2015-05-12compiler: If unary & does not escape, the var does not escape.Ian Lance Taylor1-1/+6
If we have a unary & that takes the address of a variable, do not force the variable to escape if the unary & does not escape. From-SVN: r223100
2015-05-12re PR fortran/66111 (ICE with matmul and vector subscripts)Thomas Koenig4-0/+70
2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66111 * frontend-passes.c (has_dimen_vector_ref): New function. (inline_matmul_assign): Use it to return early in case of unhandled vector subscripts. 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66111 * gfortran.dg/inline_matmul_10.f90: New test. From-SVN: r223099
2015-05-12Implement -Wmisleading-indentationDavid Malcolm15-23/+1093
gcc/ChangeLog: * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation. (-Wmisleading-indentation): New option. * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o. gcc/c-family/ChangeLog: * c-common.h (warn_for_misleading_indentation): New prototype. * c-indentation.c: New file. * c.opt (Wmisleading-indentation): New option. gcc/c/ChangeLog: * c-parser.c (c_parser_if_body): Add param "if_loc", use it to add a call to warn_for_misleading_indentation. (c_parser_else_body): Likewise, adding param "else_loc". (c_parser_if_statement): Check for misleading indentation. (c_parser_while_statement): Likewise. (c_parser_for_statement): Likewise. gcc/cp/ChangeLog: * parser.c (cp_parser_selection_statement): Add location and guard_kind arguments to calls to cp_parser_implicitly_scoped_statement. (cp_parser_iteration_statement): Likewise for calls to cp_parser_already_scoped_statement. (cp_parser_implicitly_scoped_statement): Add "guard_loc" and "guard_kind" params; use them to warn for misleading indentation. (cp_parser_already_scoped_statement): Likewise. gcc/testsuite/ChangeLog: * c-c++-common/Wmisleading-indentation.c: New testcase. * c-c++-common/Wmisleading-indentation-2.c: New testcase. * c-c++-common/Wmisleading-indentation-2.md: New file. libcpp/ChangeLog: * directives.c (do_line): Set seen_line_directive on line_table. (do_linemarker): Likewise. * include/line-map.h (struct line_maps): Add new field "seen_line_directive". From-SVN: r223098
2015-05-12alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.Uros Bizjak7-65/+62
* config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define. * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT. (alpha_extract_integer): Ditto. (alpha_legitimate_constant_p): Ditto. (alpha_split_tmode_pair): Ditto. (alpha_preferred_reload_class): Add CONST_WIDE_INT. (alpha_expand_mov): Ditto. (print_operand): Remove handling of 'H' modifier. <case 'm'>: Remove CONST_DOUBLE handling. (summarize_insn): Handle CONST_WIDE_INT. * config/alpha/alpha.md (*andsi_internal): Remove H constraint. (anddi3): Ditto. (movti): Handle CONST_WIDE_INT. * config/alpha/constraints.md ('H'): Remove constraint definition. ('G'): Do not match MODE_FLOAT class. * config/alpha/predicates.md (const0_operand): Also match const_wide_int. (non_add_const_operand): Ditto. (non_zero_const_operand): Ditto. (some_operand): Ditto. (input_operand): Ditto. Handle CONST_WIDE_INT. (and_operand): Do not match const_double. * config/alpha/sync.md (fetchop_constr): Remove H constraint. From-SVN: r223097
2015-05-12re PR target/65697 (__atomic memory barriers not strong enough for __sync ↵Andrew MacLeod24-143/+274
builtins) 2015-05-12 Andrew MacLeod <amacleod@redhat.com> PR target/65697 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros. (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}. * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed, is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel, is_mm_seq_cst, is_mm_sync): New accessor functions. * builtins.c (expand_builtin_sync_operation, expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST. (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE. (get_memmodel, expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load, expand_builtin_atomic_store, expand_builtin_atomic_clear): Use new accessor routines. (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST. * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST. (maybe_emit_sync_lock_test_and_set): Use new accessors and MEMMODEL_SYNC_ACQUIRE. (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE. (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load, expand_atomic_store): Use new accessors. * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases. * tsan.c (instrument_builtin_call): Update check for memory model beyond final enum to use MEMMODEL_LAST. * c-family/c-common.c: Use new accessor for memmodel_base. * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new accessors. * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>, arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>, mem_thread_fence, *dmb): Likewise. * config/alpha/alpha.c (alpha_split_compare_and_swap, alpha_split_compare_and_swap_12): Likewise. * config/arm/arm.c (arm_expand_compare_and_swap, arm_split_compare_and_swap, arm_split_atomic_op): Likewise. * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>, atomic_loaddi): Likewise. * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check): Likewise. * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise. * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and use new accessors. * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>, atomic_store<mode>, atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use new accessors. * config/mips/mips.c (mips_process_sync_loop): Likewise. * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise. * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier, rs6000_post_atomic_barrier): Add new cases. (rs6000_expand_atomic_compare_and_swap): Use new accessors. * config/rs6000/sync.md (mem_thread_fence): Add new cases. (atomic_load<mode>): Add new cases and use new accessors. (store_quadpti): Add new cases. * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new accessors. * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors. * doc/extend.texi: Update docs to indicate 16 bits are used for memory model, not 8. From-SVN: r223096
2015-05-12ipa-devirt.c (type_with_linkage_p): New function.Jan Hubicka4-97/+146
* ipa-devirt.c (type_with_linkage_p): New function. (type_in_anonymous_namespace_p): Move here from tree.c; assert that type has linkage. (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p. (can_be_name_hashed_p): Simplify. (hash_odr_name): Check that type has linkage before checking if it is anonymous. (types_same_for_odr): Likewise. (odr_name_hasher::equal): Likewise. (odr_subtypes_equivalent_p): Likewise. (warn_types_mismatch): Likewise. (get_odr_type): Likewise. (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT. * ipa-utils.h (odr_type_p): Move offline. * tree.c (need_assembler_name_p): Fix handling of types without linkages. (type_in_anonymous_namespace_p): Move to ipa-devirt.c From-SVN: r223094
2015-05-12Move global state in timevar.c to a new "timer" classDavid Malcolm4-123/+241
gcc/ChangeLog: * timevar.c (timevar_enable): Delete in favor of... (g_timer): New global. (struct timevar_def): Move to timevar.h inside class timer. (struct timevar_stack_def): Likewise. (timevars): Delete global in favor of field "m_timevars" within class timer in timevar.h (stack): Likewise, in favor of field "m_stack". (unused_stack_instances): Likewise, in favor of field "m_unused_stack_instances". (start_time): Likewise, in favor of field "m_start_time". (get_time): Eliminate check for timevar_enable. (timer::timer): New function, built from part of timevar_init. (timevar_init): Rewrite idempotency test from using "timevar_enable" bool to using dynamic allocation of "g_timer". Move rest of implementation into timer's constructor. (timevar_push_1): Rename to... (timer::push): ...this, adding "m_" prefixes to variables that are now fields of timer. (timevar_pop_1): Likewise, rename to... (timer::pop): ...this, and add "m_" prefixes. (timevar_start): Replace test for "timevar_enable" with one for "g_timer", and move bulk of implementation to... (timer::start): ...here, adding "m_" prefixes. (timevar_stop): Likewise, from here... (timer::stop): ...to here. (timevar_cond_start): Likewise, from here... (timer::cond_start): ...to here. (timevar_cond_stop): Likewise, from here... (timer::cond_stop): ...to here. (validate_phases): Rename to... (timer::validate_phases): ...this, and add "m_" prefixes. Make locals "total" and "tv" const. (timevar_print): Rename to... (timer::print): ...this, and add "m_" prefixes. Make locals "total" and "tv" const. Eliminate test for timevar_enable. * timevar.h (timevar_enable): Eliminate. (g_timer): New declaration. (timevar_push_1): Eliminate. (timevar_pop_1): Eliminate. (timevar_print): Eliminate. (class timer): New class. (timevar_push): Rewrite to use g_timer. (timevar_pop): Likewise. * toplev.c (toplev::~toplev): Likewise. From-SVN: r223092
2015-05-12Unbreak the JIT after conversion of md_asm_adjust to use vec<>David Malcolm2-0/+5
gcc/jit/ChangeLog: * jit-builtins.c: Include vec.h before target.h. From-SVN: r223091
2015-05-12arm-protos.h (arm_sched_autopref): Delete.Richard Earnshaw4-397/+458
* arm-protos.h (arm_sched_autopref): Delete. (tune_params): Re-organize, use enums for flag values. (FUSE_OPS): New macro. * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update. (ARM_PREFETCH_BENEFICIAL): Likewise. (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete. (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune) (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune) (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune) (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune) (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune) (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune) (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new format. (arm_option_override, thumb2_reorg, arm_print_tune_info) (aarch_macro_fusion_pair_p): Update uses of current_tune. * arm.h (LOGCIAL_OP_NON_SHORT_CIRCUIT): Likewise. From-SVN: r223090
2015-05-12nios2.md (trap, ctrapsi4): Use "trap" instead of "break".Sandra Loosemore5-4/+15
2015-05-12 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of "break". gcc/testsuite/ * gcc.target/nios2/nios2-trap-insn.c: Expect "trap" instead of "break". * gcc.target/nios2/nios2-stack-check-1.c: Likewise. From-SVN: r223083
2015-05-12nios2.h (enum reg_class): Add IJMP_REGS enum value.Chung-Lin Tang4-6/+24
2015-05-12 Chung-Lin Tang <cltang@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum value. (REG_CLASS_NAMES): Add "IJMP_REGS". (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS. * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to use new "c" register constraint. * config/nios2/constraint.md (c): New register constraint corresponding to IJMP_REGS. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r223082
2015-05-12* gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean upsArnaud Charlet1-0/+4
From-SVN: r223080
2015-05-12* gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean upsArnaud Charlet8-702/+743
From-SVN: r223079
2015-05-12Fix typo.Arnaud Charlet1-1/+1
From-SVN: r223078
2015-05-12[multiple changes]Arnaud Charlet3-1/+70
2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specifications): Additional legality checks for array and container iterators: a) The domain of iteration cannot be a component that depends on discriminants of a mutable object. The check was recently added for element iterators. b) The cursor type cannot be a limited type at the point of the iteration, because the cursor will be assigned to in the body of the loop. 2015-05-12 Robert Dewar <dewar@adacore.com> * freeze.adb (Freeze_Record_Type): Make sure that if we have aspect Iterator_Element, then we have either Constant_Indexing or Variable_Indexing. From-SVN: r223077
2015-05-12[multiple changes]Arnaud Charlet7-137/+372
2015-05-12 Ed Schonberg <schonberg@adacore.com> * a-coormu.ads, a-coormu.adb: Add Indexing aspect, Reference_Type, and Reference_Control_Type to support element iterators over ordered multisets. * a-ciormu.ads, a-ciormu.adb: Ditto for indefinite_ordered_multisets. 2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Expression_With_Actions): Force the evaluation of the EWA expression. Code cleanup. (Process_Transient_Object): Code cleanup. * exp_util.adb (Is_Aliased): Controlled transient objects found within EWA nodes are not aliased. (Is_Finalizable_Transient): Iterators are not finalizable transients. From-SVN: r223076
2015-05-12[multiple changes]Arnaud Charlet3-10/+68
2015-05-12 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Don't allow Atomic and Volatile_Full_Access for the same entity. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): Implement new semantics and safety checks specified in AI12-0151. From-SVN: r223075
2015-05-12[multiple changes]Arnaud Charlet15-95/+273
2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com> * sem_ch10.adb (Sem_Ch10.Analyze_Proper_Body): Generate SCOs for subunit in generic units. 2015-05-12 Robert Dewar <dewar@adacore.com> * sem_elab.adb (Check_A_Call): Avoid checking internal call from Valid_Scalars 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Process_Formals): An untagged incomplete type is legal in the profile of a null procedure. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the checks on a derived formal whose parent type is a previous formal that is not a derived type. 2015-05-12 Robert Dewar <dewar@adacore.com> * aspects.ads, aspects.adb: Add entries for aspect Volatile_Full_Access * einfo.adb (Has_Volatile_Full_Access): New flag. (Has_Volatile_Full_Access): New flag. * einfo.ads (Has_Volatile_Full_Access): New flag. * par-prag.adb: Add dummy entry for Volatile_Full_Access. * sem_prag.adb (Analyze_Pragma, case Volatile_Full_Access): Implement new pragma. * snames.ads-tmpl: Add entries for pragma Volatile_Full_Access. 2015-05-12 Robert Dewar <dewar@adacore.com> * targparm.ads: Minor reformatting. 2015-05-12 Robert Dewar <dewar@adacore.com> * a-reatim.adb (Time_Of): Properly detect overflow when TS = 0.0. * a-reatim.ads: Minor reformatting. From-SVN: r223074
2015-05-12rs6000.md (*rotlsi3_internal4, [...]): Delete, revamp, transmogrify into ...Segher Boessenkool2-138/+115
* config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6 define_splits): Delete, revamp, transmogrify into ... (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2, *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2, *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2): New. From-SVN: r223072
2015-05-12rs6000.md (rs6000_adjust_atomic_subword): Use gen_ashlsi3 and gen_andsi3 ↵Segher Boessenkool2-1/+8
instead of gen_rlwinm. * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm. From-SVN: r223071