1. 23 May, 2016 11 commits
  2. 22 May, 2016 8 commits
  3. 21 May, 2016 5 commits
  4. 20 May, 2016 16 commits
    • PR c/71115 - [4.9/5/6/7 Regression] Missing warning: excess elements · 79063edd
      PR c/71115 - [4.9/5/6/7 Regression] Missing warning: excess elements
      in struct initializer
      
      gcc/c/ChangeLog:
      2016-05-20  Martin Sebor  <msebor@redhat.com>
      
      	PR c/71115
      	* c-typeck.c (error_init): Use
      	expansion_point_location_if_in_system_header.
      	(warning_init): Same.
      
      gcc/testsuite/ChangeLog:
      2016-05-20  Martin Sebor  <msebor@redhat.com>
      
      	PR c/71115
      	* gcc.dg/init-excess-2.c: New test.
      
      From-SVN: r236549
      Martin Sebor committed
    • tree-vrp.c (compare_values_warnv): Simplify handling of symbolic ranges by… · 55c8849f
      tree-vrp.c (compare_values_warnv): Simplify handling of symbolic ranges by calling get_single_symbol and tidy up.
      
      	* tree-vrp.c (compare_values_warnv): Simplify handling of symbolic
      	ranges by calling get_single_symbol and tidy up.  Look more closely
      	into NAME + CST1 vs CST2 comparisons if type overflow is undefined.
      ada/
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
      	Make same-sized subtypes of signed base types signed.
      	* gcc-interface/utils.c (make_type_from_size): Adjust to above change.
      	(unchecked_convert): Likewise.
      
      From-SVN: r236548
      Eric Botcazou committed
    • * bitmap.c (bitmap_find_bit): Remove useless test. · aa6d7407
      From-SVN: r236546
      Jeff Law committed
    • This fixes a bug in my r236491: on nvptx, functions without prologue · e93044fc
      would not get an epilogue either.
      
      
      	* function.c (thread_prologue_and_epilogue_insns): Commit the
      	insertion of the epilogue.
      
      From-SVN: r236545
      Segher Boessenkool committed
    • [PR 70884] Constant pool SRA fix · c91a0948
      2016-05-20  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/70884
      	* tree-sra.c (initialize_constant_pool_replacements): Do not check
      	should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits.
      	(sort_and_splice_var_accesses): Do not consider multiple scalar reads
      	of constant pool data as a reason for scalarization.
      
      testsuite/
      	* gcc.dg/tree-ssa/pr70919.c: New test.
      
      From-SVN: r236544
      Martin Jambor committed
    • constexpr.c (cxx_bind_parameters_in_call): Avoid gratuitous if ... · 4727d4c6
      	* constexpr.c (cxx_bind_parameters_in_call): Avoid gratuitous if
      	... goto.
      	(cxx_eval_call_expression): Fix comment grammar.
      
      From-SVN: r236543
      Nathan Sidwell committed
    • arm.c (arm_expand_prologue): Set the stack usage to 0 for naked functions. · 86e1c0b3
      	* config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0
      	for naked functions.
      	(thumb1_expand_prologue): Likewise.
      
      From-SVN: r236539
      Eric Botcazou committed
    • This patch changes some of the dejagnu options to better restrict where the... · 9cad20fa
      This patch changes some of the dejagnu options to better restrict
      where the test cases run so that they will no longer cause failures on
      power7 machines.
      
      Based on a subsequent patch I also updated the code formatting (indentation,
      etc.) for the code from the original patch (r235577) in both the test cases
      and in rs6000-c.c.
      
      [gcc]
      
      2016-05-20  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Fix
      	code formatting in ALTIVEC_BUILTIN_VEC_ADDE section.
      
      [gcc/testsuite]
      
      2016-05-20  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/vec-adde.c: Change dejagnu options, fix code
      	formatting.
      	* gcc.target/powerpc/vec-adde-int128.c: Change dejagnu options, fix code
      	formatting.
      
      From-SVN: r236537
      Bill Seurer committed
    • nptx.c (nvptx_option_override): Only set flag_toplevel_reorder, if not explicitly specified. · ae578943
      	* config/nvptx/nptx.c (nvptx_option_override): Only set
      	flag_toplevel_reorder, if not explicitly specified.  Set
      	flag_no_common, unless explicitly specified.
      
      	testsuite/
      	* gcc.target/nvptx/uninit-decl.c: Force common storage,  add
      	non-common cases.
      	* gcc.dg/tree-ssa/ssa-store-ccp-2.c: Add -fcommon.
      
      From-SVN: r236532
      Nathan Sidwell committed
    • jit: implement gcc_jit_rvalue_set_bool_require_tail_call · 15c671a7
      This implements the libgccjit support for must-tail-call via
      a new:
        gcc_jit_rvalue_set_bool_require_tail_call
      API entrypoint.
      
      (I didn't implement a wrapper for this within the C++ bindings)
      
      gcc/jit/ChangeLog:
      	* docs/topics/compatibility.rst: Add LIBGCCJIT_ABI_6.
      	* docs/topics/expressions.rst (Function calls): Add documentation
      	of gcc_jit_rvalue_set_bool_require_tail_call.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-common.h (gcc::jit::recording::base_call): Add forward decl.
      	* jit-playback.c: Within namespace gcc::jit::playback...
      	(context::build_call) Add "require_tail_call" param and use it
      	to set CALL_EXPR_MUST_TAIL_CALL.
      	(context::new_call): Add "require_tail_call" param.
      	(context::new_call_through_ptr): Likewise.
      	* jit-playback.h: Within namespace gcc::jit::playback...
      	(context::new_call: Add "require_tail_call" param.
      	(context::new_call_through_ptr): Likewise.
      	(context::build_call): Likewise.
      	* jit-recording.c: Within namespace gcc::jit::recording...
      	(base_call::base_call): New constructor.
      	(base_call::write_reproducer_tail_call): New method.
      	(call::call): Update for inheritance from base_call.
      	(call::replay_into): Provide m_require_tail_call to call
      	to new_call.
      	(call::write_reproducer): Call write_reproducer_tail_call.
      	(call_through_ptr::call_through_ptr): Update for inheritance from
      	base_call.
      	(call_through_ptr::replay_into): Provide m_require_tail_call to call
      	to new_call_through_ptr.
      	(recording::call_through_ptr::write_reproducer): Call
      	write_reproducer_tail_call.
      	* jit-recording.h: Within namespace gcc::jit::recording...
      	(rvalue::dyn_cast_base_call): New virtual function.
      	(class base_call): New subclass of class rvalue.
      	(class call): Inherit from base_call rather than directly from
      	rvalue, moving get_precedence and m_args to base_call.
      	(class call_through_ptr): Likewise.
      	* libgccjit.c (gcc_jit_rvalue_set_bool_require_tail_call): New
      	function.
      	* libgccjit.h
      	(LIBGCCJIT_HAVE_gcc_jit_rvalue_set_bool_require_tail_call): New
      	macro.
      	(gcc_jit_rvalue_set_bool_require_tail_call): New function.
      	* libgccjit.map (LIBGCCJIT_ABI_6): New.
      	(gcc_jit_rvalue_set_bool_require_tail_call): Add.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/all-non-failing-tests.h: Add
      	test-factorial-must-tail-call.c.
      	* jit.dg/test-error-impossible-must-tail-call.c: New test case.
      	* jit.dg/test-factorial-must-tail-call.c: New test case.
      
      From-SVN: r236531
      David Malcolm committed
    • calls.c: fix warning on targets without REG_PARM_STACK_SPACE · dfbdde16
      gcc/ChangeLog:
      	* calls.c (can_implement_as_sibling_call_p): Mark param
      	reg_parm_stack_space with ATTRIBUTE_UNUSED.
      
      From-SVN: r236527
      David Malcolm committed
    • re PR fortran/71204 (ICE with -O0 in expand_expr_real_1, at expr.c:9651) · 4f028369
      	PR fortran/71204
      	* frontend-passes.c (realloc_string_callback): Clear inserted_block
      	and changed_statement before calling create_var.
      
      	* gfortran.dg/pr71204.f90: New test.
      
      From-SVN: r236525
      Jakub Jelinek committed
    • i386.c (ix86_rtx_costs): Use IS_STACK_MODE when calculating cost of standard 80387 constants. · 78520f3f
      	* gcc/config/i386/i386.c (ix86_rtx_costs) <case CONST_DOUBLE>:
      	Use IS_STACK_MODE when calculating cost of standard 80387 constants.
      	Fallthru to CONST_VECTOR case to calculate cost of standard SSE
      	constants.
      	<case CONST_WIDE_INT>: Calculate cost of (MEM (SYMBOL_REF)).
      	(ix86_legitimate_constant_p): Use CASE_CONST_SCALAR_INT
      	and CASE_CONST_ANY.
      
      From-SVN: r236524
      Uros Bizjak committed
    • nvptx.md (sincossf3): New pattern. · 7dea4ab3
      	gcc/
      	* config/nvptx/nvptx.md (sincossf3): New pattern.
      
      	gcc/testsuite/
      	* gcc.target/nvptx/sincos.c: New test.
      
      From-SVN: r236523
      Cesar Philippidis committed
    • re PR c++/70572 (ICE on code with decltype (auto) in digest_init_r, at… · ef98d365
      re PR c++/70572 (ICE on code with decltype (auto) in digest_init_r, at cp/typeck2.c:1103 with -std=c++14)
      
      /cp
      2016-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70572
      	* decl.c (cp_finish_decl): Check do_auto_deduction return value
      	and return immediately in case of erroneous code.
      
      /testsuite
      2016-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70572
      	* g++.dg/cpp1y/auto-fn31.C: New.
      
      From-SVN: r236522
      Paolo Carlini committed
    • Add -mgeneral-regs-only option · ce3a16ff
      X86 Linux kernel is compiled only with integer instructions.  Currently,
      
      -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-80387
      -mno-fp-ret-in-387  -mskip-rax-setup
      
      is used to compile kernel.  If we add another non-integer feature, it
      has to be turned off.  We can add a -mgeneral-regs-only option, similar
      to AArch64, to disable all non-integer features so that kernel doesn't
      need a long list and the same option will work for future compilers.
      It can also be used to compile interrupt handler.
      
      gcc/
      
      	PR target/70738
      	* common/config/i386/i386-common.c
      	(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
      	(ix86_handle_option): Disable MPX, MMX, SSE and x87 instructions
      	for -mgeneral-regs-only.
      	* config/i386/i386.c (ix86_option_override_internal): Don't
      	enable x87 instructions if only the general registers are
      	allowed.
      	* config/i386/i386.opt: Add -mgeneral-regs-only.
      	* doc/invoke.texi: Document -mgeneral-regs-only.
      
      gcc/testsuite/
      
      	PR target/70738
      	* gcc.target/i386/pr70738-1.c: Likewise.
      	* gcc.target/i386/pr70738-2.c: Likewise.
      	* gcc.target/i386/pr70738-3.c: Likewise.
      	* gcc.target/i386/pr70738-4.c: Likewise.
      	* gcc.target/i386/pr70738-5.c: Likewise.
      	* gcc.target/i386/pr70738-6.c: Likewise.
      	* gcc.target/i386/pr70738-7.c: Likewise.
      	* gcc.target/i386/pr70738-8.c: Likewise.
      	* gcc.target/i386/pr70738-9.c: Likewise.
      
      From-SVN: r236520
      H.J. Lu committed