Marek Polacek [Fri, 13 Feb 2015 07:56:14 +0000 (07:56 +0000)]
re PR c/65040 (gcc-5 -Wformat broken)
PR c/65040
* c-format.c (check_format_types): Don't warn about different
signedness if the original value is in the range of WANTED_TYPE.
* c-c++-common/pr65040.c: New test.
From-SVN: r220677
Bin Cheng [Fri, 13 Feb 2015 05:44:46 +0000 (05:44 +0000)]
re PR tree-optimization/64705 (Bad code generation of sieve on x86-64 because of too aggressive IV optimizations)
PR tree-optimization/64705
* tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
* tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
* tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
(find_bivs, find_givs_in_stmt_scev): Pass new argument to
expand_simple_operations.
testsuite
PR tree-optimization/64705
* gcc.dg/tree-ssa/pr64705.c: New test.
From-SVN: r220676
Jason Merrill [Fri, 13 Feb 2015 05:26:37 +0000 (00:26 -0500)]
re PR c++/64956 (__GXX_ABI_VERSION needs a proper definition for the 5.x releases)
PR c++/64956
* c-opts.c (c_common_post_options): Change flag_abi_version from 0
to the current highest version.
* c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
From-SVN: r220675
H.J. Lu [Fri, 13 Feb 2015 04:52:45 +0000 (04:52 +0000)]
re PR rtl-optimization/32219 (optimizer causes wrong code in pic/hidden/weak symbol checking.)
PR rtl/32219
gcc/
* cgraphunit.c (cgraph_node::finalize_function): Set definition
before notice_global_symbol.
(varpool_node::finalize_decl): Likewise.
* varasm.c (default_binds_local_p_2): Rename from
default_binds_local_p_1, add weak_dominate argument. Use direct
returns instead of assigning to local variable. Unify varpool and
cgraph paths via symtab_node. Reject undef weak variables before
testing visibility. Reorder tests for simplicity.
(default_binds_local_p): Use default_binds_local_p_2.
(default_binds_local_p_1): Likewise.
(decl_binds_to_current_def_p): Unify varpool and cgraph paths
via symtab_node.
(default_elf_asm_output_external): Emit visibility when specified.
gcc/testsuite/
* gcc.dg/visibility-22.c: New test.
* gcc.dg/visibility-23.c: New test.
* gcc.target/i386/pr32219-1.c: New test.
* gcc.target/i386/pr32219-2.c: New test.
* gcc.target/i386/pr32219-3.c: New test.
* gcc.target/i386/pr32219-4.c: New test.
* gcc.target/i386/pr32219-5.c: New test.
* gcc.target/i386/pr32219-6.c: New test.
* gcc.target/i386/pr32219-7.c: New test.
* gcc.target/i386/pr32219-8.c: New test.
* gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r220674
Jerry DeLisle [Fri, 13 Feb 2015 02:57:03 +0000 (02:57 +0000)]
re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/57822
* gfortran/fmt_g0_7.f08: Adjust for archtectures with less than
four different KINDs.
From-SVN: r220673
Alan Modra [Fri, 13 Feb 2015 00:21:39 +0000 (10:51 +1030)]
rs6000.c (rs6000_emit_epilogue): Fix typo in code setting up r11 for out-of-line fp restore.
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
code setting up r11 for out-of-line fp restore.
From-SVN: r220672
GCC Administrator [Fri, 13 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220671
Eric Botcazou [Thu, 12 Feb 2015 23:17:21 +0000 (23:17 +0000)]
visium.opt (msv-mode): Add RejectNegative and Report.
* config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
(muser-mode): Likewise.
From-SVN: r220667
Jason Merrill [Thu, 12 Feb 2015 22:44:38 +0000 (17:44 -0500)]
re PR c++/64898 (qtgui-4.8.6 build error)
PR c++/64898
* mangle.c (write_mangled_name): Fix test for variable template
instantiation.
From-SVN: r220666
Alan Modra [Thu, 12 Feb 2015 21:39:36 +0000 (08:09 +1030)]
rs6000.c (rs6000_emit_epilogue): Use addsi3_carry or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
From-SVN: r220665
Jakub Jelinek [Thu, 12 Feb 2015 21:33:37 +0000 (22:33 +0100)]
re PR c++/64884 (FAIL: g++.dg/tm/pr47573.C -std=gnu++98 (test for excess errors) on x86_64-apple-darwin*)
PR c++/64884
* g++.dg/tm/pr47573.C: Only run on comdat_group effective targets.
From-SVN: r220664
Jakub Jelinek [Thu, 12 Feb 2015 21:30:56 +0000 (22:30 +0100)]
re PR sanitizer/65000 (ICE in in expand_builtin_eh_common, at except.c:2072)
PR sanitizer/65000
* g++.dg/ubsan/pr65000.C: New test.
From-SVN: r220663
David Howells [Thu, 12 Feb 2015 21:29:21 +0000 (21:29 +0000)]
tree-sra.c (dump_dereferences_table): Avoid -Wformat-security warning.
* tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
warning.
* tree-ssa-uninit.c (dump_predicates): Likewise.
* opts.c (print_filtered_help): Likewise.
From-SVN: r220662
Jakub Jelinek [Thu, 12 Feb 2015 21:20:19 +0000 (22:20 +0100)]
dwarf2out.c (output_die): Use "%s", name instead of name to avoid -Wformat-security warning.
* dwarf2out.c (output_die): Use "%s", name instead of name to
avoid -Wformat-security warning.
From-SVN: r220661
Jakub Jelinek [Thu, 12 Feb 2015 21:19:47 +0000 (22:19 +0100)]
dwarf2asm.c (dw2_asm_output_vms_delta): Only define if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
* dwarf2asm.c (dw2_asm_output_vms_delta): Only define
if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
* dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
From-SVN: r220660
Jason Merrill [Thu, 12 Feb 2015 20:29:03 +0000 (15:29 -0500)]
typo
From-SVN: r220658
Jason Merrill [Thu, 12 Feb 2015 20:28:41 +0000 (15:28 -0500)]
common.opt (-flifetime-dse): New.
gcc/
* common.opt (-flifetime-dse): New.
gcc/cp/
* decl.c (begin_destructor_body): Condition clobber on
-flifetime-dse.
From-SVN: r220657
Andrea Azzarone [Thu, 12 Feb 2015 20:21:34 +0000 (20:21 +0000)]
re PR c++/64959 (SFINAE in UDLs)
PR c++/64959
* parser.c (lookup_literal_operator): Return all candidates.
(cp_parser_userdef_char_literal): Simplify error handling.
(cp_parser_userdef_numeric_literal): Pass tf_warning_or_error.
(cp_parser_userdef_string_literal): Pass tf_warning_or_error.
Also give higher priority to standard string UDL operator.
From-SVN: r220656
Jason Merrill [Thu, 12 Feb 2015 20:20:30 +0000 (15:20 -0500)]
* testsuite/28_regex/traits/wchar_t/isctype.cc: Fix whitespace.
From-SVN: r220655
Paul Thomas [Thu, 12 Feb 2015 19:30:53 +0000 (19:30 +0000)]
re PR fortran/64932 (ICE in gfc_conv_descriptor_data_get for generated finalizer)
2015-02-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/64932
* trans-stmt.c (gfc_trans_deallocate): If a component array
expression is not a descriptor type and it is a derived type
that has allocatable components and is not finalizable, then
deallocate the allocatable components.
2015-02-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/64932
* gfortran.dg/finalize_28.f90: New test
From-SVN: r220654
Jakub Jelinek [Thu, 12 Feb 2015 18:09:59 +0000 (19:09 +0100)]
re PR debug/55541 (unable to see local variables due extra lexical block was generated)
PR debug/55541
* cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define.
* decl.c (poplevel): If functionbody, try not to create an extra
BLOCK for function body and use subblocks as that, if it is non-NULL
and doesn't have siblings. Set BLOCK_OUTER_CURLY_BRACE_P flag.
(outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag.
* g++.dg/debug/dwarf2/localclass3.C: Adjust for the extraneous
DW_TAG_lexical_block removal.
* g++.dg/debug/dwarf2/redeclaration-1.C: Likewise.
* g++.dg/guality/pr55541.C: New test.
From-SVN: r220650
Jakub Jelinek [Thu, 12 Feb 2015 15:38:33 +0000 (16:38 +0100)]
re PR sanitizer/64984 (ICE in check_noexcept_t with ubsan)
PR sanitizer/64984
* except.c (check_noexcept_r): Return NULL for internal
calls.
* g++.dg/ubsan/pr64984.C: New test.
From-SVN: r220649
Matthew Wahab [Thu, 12 Feb 2015 14:55:23 +0000 (14:55 +0000)]
isctype.cc (test01): Replace test for __NEWLIB__ macro with a dejagnu set macro.
* testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
for __NEWLIB__ macro with a dejagnu set macro.
* testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
From-SVN: r220648
James Greenhalgh [Thu, 12 Feb 2015 14:04:12 +0000 (14:04 +0000)]
[Patch Testsuite] XFAIL gfortran.dg/pr45636.f90 on AArch64
gcc/testsuite/
* gfortran.dg/pr45636.f90: XFAIL for aarch64* targets.
From-SVN: r220647
Jakub Jelinek [Thu, 12 Feb 2015 13:14:47 +0000 (14:14 +0100)]
re PR testsuite/64930 (FAIL: gcc.target/powerpc/atomic-p7.c scan-assembler-times isync 12)
PR testsuite/64930
* gcc.target/powerpc/atomic-p7.c: Adjust expected count of isync
instructions for 2015-01-14 get_memmodel changes.
* gcc.target/powerpc/atomic-p8.c: Likewise.
From-SVN: r220646
Jakub Jelinek [Thu, 12 Feb 2015 09:48:44 +0000 (10:48 +0100)]
re PR sanitizer/65019 (Compare debug failure with -fsanitize=alignment,object-size,vptr -O3)
PR sanitizer/65019
* ubsan.c (ubsan_expand_objsize_ifn): Always return true.
* g++.dg/ubsan/pr65019.C: New test.
From-SVN: r220641
Jakub Jelinek [Thu, 12 Feb 2015 09:45:27 +0000 (10:45 +0100)]
re PR tree-optimization/65014 (ice with error: type mismatch in shift expression)
PR tree-optimization/65014
* fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
use original second operand of arg0 or arg1 instead of
that adjusted by STRIP_NOPS.
* gcc.c-torture/compile/pr65014.c: New test.
From-SVN: r220640
Jerry DeLisle [Thu, 12 Feb 2015 03:52:45 +0000 (03:52 +0000)]
re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/57822
* gfortran/fmt_g0_7.f08: Revise test.
From-SVN: r220637
GCC Administrator [Thu, 12 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220636
Jeff Law [Wed, 11 Feb 2015 23:29:11 +0000 (16:29 -0700)]
re PR target/63347 (m68k misoptimisation with -fschedule-insns)
PR target/63347
* haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
that needs to be queued, just queue it for a single cycle.
PR target/63347
* gcc.target/m68k/pr63347.c: New test.
From-SVN: r220632
Marek Polacek [Wed, 11 Feb 2015 20:59:58 +0000 (20:59 +0000)]
shift-1.C: New test.
* g++.dg/ubsan/shift-1.C: New test.
* gcc.dg/ubsan/c-shift-2.c: New test.
* c-c++-common/ubsan/shift-5.c: Remove file.
From-SVN: r220631
Jan Hubicka [Wed, 11 Feb 2015 19:11:47 +0000 (20:11 +0100)]
ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing bodies of thunks; comment on why.
* ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
bodies of thunks; comment on why.
* symtab.c (symtab_node::get_partitioning_class): Aliases of extern
symbols are extern.
From-SVN: r220630
Andrew Pinski [Wed, 11 Feb 2015 19:08:55 +0000 (11:08 -0800)]
Add forgotten new testcases.
From-SVN: r220629
Alex Velenko [Wed, 11 Feb 2015 19:01:08 +0000 (19:01 +0000)]
atomic-op-consume.c (scan-assember-times): Directive adjusted to XFAIL.
gcc/testsuite/
* gcc.target/aarch64/atomic-op-consume.c (scan-assember-times):
Directive adjusted to XFAIL.
* gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive
adjusted to XFAIL.
From-SVN: r220628
Richard Henderson [Wed, 11 Feb 2015 17:04:38 +0000 (09:04 -0800)]
re PR sanitizer/65000 (ICE in in expand_builtin_eh_common, at except.c:2072)
PR sanitize/65000
* tree-eh.c (mark_reachable_handlers): Mark source and destination
regions of __builtin_eh_copy_values.
From-SVN: r220626
Jakub Jelinek [Wed, 11 Feb 2015 15:09:48 +0000 (16:09 +0100)]
re PR middle-end/65003 (-fsection-anchors ICE)
PR middle-end/65003
* varasm.c (place_block_symbol): Assert that DECL_RTL of the
ultimate alias is MEM with SYMBOL_REF satisfying
SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
* g++.dg/opt/pr65003.C: New test.
From-SVN: r220625
Thomas Schwinge [Wed, 11 Feb 2015 14:15:47 +0000 (15:15 +0100)]
nvptx mkoffload: Initialize GCC diagnostic machinery before using it.
gcc/
* config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
"diagnostic-core.h".
(main): Initialize progname, and call diagnostic_initialize.
From-SVN: r220621
Thomas Schwinge [Wed, 11 Feb 2015 14:15:38 +0000 (15:15 +0100)]
nvptx mkoffload: __OPENMP_TARGET__ -> __OFFLOAD_TABLE__.
gcc/
* config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
instead of __OPENMP_TARGET__.
From-SVN: r220620
Thomas Schwinge [Wed, 11 Feb 2015 14:15:28 +0000 (15:15 +0100)]
nvptx mkoffload: Don't hard-code GOMP_DEVICE_NVIDIA_PTX.
gcc/
* config/nvptx/mkoffload.c: Include "gomp-constants.h".
(process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
hard-coding PTX_ID.
From-SVN: r220619
H.J. Lu [Wed, 11 Feb 2015 14:03:14 +0000 (14:03 +0000)]
Rename check_effective_target_pie to check_effective_target_pie_enabled
gcc/
* doc/sourcebuild.texi (pie_enabled): Document.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_pie): Renamed
to ...
(check_effective_target_pie_enabled): This.
* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Replace pie with pie_enabled.
* gcc.target/i386/pie.c: Likewise.
From-SVN: r220618
Jakub Jelinek [Wed, 11 Feb 2015 13:40:31 +0000 (14:40 +0100)]
re PR middle-end/64824 (ICE in gimple verification)
PR c/64824
* c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
check in the POP macro.
* testsuite/libgomp.c/atomic-18.c: New test.
* testsuite/libgomp.c++/atomic-16.C: New test.
From-SVN: r220617
Martin Liska [Wed, 11 Feb 2015 13:33:47 +0000 (14:33 +0100)]
Handle noreturn function thunk creation.
PR ipa/64813
* cgraphunit.c (cgraph_node::expand_thunk): Do not create
a return value for call to a function that is noreturn.
From-SVN: r220616
Richard Biener [Wed, 11 Feb 2015 12:00:44 +0000 (12:00 +0000)]
re PR lto/65015 (LTO produces randomly ordered debug information)
2015-02-11 Richard Biener <rguenther@suse.de>
PR lto/65015
* dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
and -fresolution.
From-SVN: r220613
Andrew Pinski [Wed, 11 Feb 2015 10:18:45 +0000 (10:18 +0000)]
Fix bug 64893: ICE with vget_lane_u32 with C++ front-end
2015-02-11 Andrew Pinski <apinski@cavium.com>
PR target/64893
* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
Change the first argument type to size_type_node and add another
size_type_node.
(aarch64_simd_expand_builtin): Handle the new argument to
AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
print an out when the first two arguments are not
nonzero integer constants.
* config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
2015-02-11 Andrew Pinski <apinski@cavium.com>
PR target/64893
* c-c++-common/torture/aarch64-vect-lane-1.c: New testcase.
* c-c++-common/torture/aarch64-vect-lane-2.c: New testcase.
From-SVN: r220610
Jakub Jelinek [Wed, 11 Feb 2015 10:04:14 +0000 (11:04 +0100)]
re PR target/61925 (internal error when using vectorization on CPU without SSE)
PR target/61925
* config/i386/i386.c (ix86_reset_to_default_globals): Removed.
(ix86_reset_previous_fndecl): Restore it here, unconditionally.
(ix86_set_current_function): Rewritten.
(ix86_add_new_builtins): Temporarily clear current_target_pragma
when creating builtin fndecls.
* gcc.target/i386/pr61925-1.c: New test.
* gcc.target/i386/pr61925-2.c: New test.
* gcc.target/i386/pr61925-3.c: New test.
From-SVN: r220609
Jan Hubicka [Wed, 11 Feb 2015 09:11:06 +0000 (10:11 +0100)]
re PR ipa/65005 (FAIL: c-c++-common/torture/builtin-arith-overflow-12.c)
PR ipa/65005
* ipa-visibility.c (cgraph_node::non_local_p): Turn into static
function.
* symtab.c (symtab_node::verify_base): Remove check that non-definitions
have no comdat group.
* lto-cgraph.c (lto_output_node): Always output thunk and alias info.
(lto_output_varpool_node): Always output alias info.
(output_refs): Output refs of boundary aliases, too.
(compute_ltrans_boundary): Add alias and thunk target into boundaries.
(output_symtab): Output call eges in thunks in boundary.
(get_alias_symbol): Remove.
(input_node, input_varpool_node): Do not special case weakrefs.
* ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
alias and thunks targets in the boundary; do not take removed symbols
from their comdat groups.
* cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
(cgraph_node::global_info): Remove.
(cgraph_node::rtl_info): Look through aliases and thunks.
* cgrpah.h (global_info): Remove.
(non_local_p): Remove.
From-SVN: r220608
Jerry DeLisle [Wed, 11 Feb 2015 04:29:06 +0000 (04:29 +0000)]
re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/57822
* io/write_float.def (output_float): Apply fix of previous patch
to correctly calculate the exponent number of digits and take
care of wide character output.
From-SVN: r220606
David Wohlferd [Wed, 11 Feb 2015 02:28:59 +0000 (02:28 +0000)]
invoke.texi (x86 Options [-masm=dialect]): Add cross-references to inline asm.
2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
to inline asm. List dialects in proper order.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r220605
David Wohlferd [Wed, 11 Feb 2015 02:12:50 +0000 (02:12 +0000)]
extend.texi (Loop-Specific Pragmas): Fix grammar error.
2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r220604
David Wohlferd [Wed, 11 Feb 2015 01:47:12 +0000 (01:47 +0000)]
extend.texi (Symbol-Renaming Pragmas): Restore (slightly modified) reference to Solaris.
2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
gcc/
* doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
modified) reference to Solaris.
From-SVN: r220603
Sandra Loosemore [Wed, 11 Feb 2015 00:25:52 +0000 (19:25 -0500)]
extend.texi (Extended Asm): Fix typos.
2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/extend.texi (Extended Asm): Fix typos.
From-SVN: r220602
GCC Administrator [Wed, 11 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220601
Andrew Pinski [Tue, 10 Feb 2015 22:46:47 +0000 (22:46 +0000)]
ffitarget.h (ffi_arg): Use unsigned long long for ILP32.
2015-02-10 Andrew Pinski <apinski@cavium.com>
* src/aarch64/ffitarget.h (ffi_arg): Use unsigned long long for ILP32.
(FFI_SIZEOF_ARG): Define to 64 for ILP32.
(ffi_sarg): Use signed long long for ILP32.
* src/aarch64/sysv.S (PTR_REG): New macro.
(PTR_SIZE): New macro.
(ffi_closure_SYSV): Load cif, fn and user_data using PTR_REG.
(ffi_go_closure_SYSV): Load cif and fn using PTR_REG.
From-SVN: r220598
Jakub Jelinek [Tue, 10 Feb 2015 22:00:11 +0000 (23:00 +0100)]
re PR sanitizer/65004 (Compare debug failure with -fno-sanitize-recover -fsanitize=address -fsanitize=undefined)
PR sanitizer/65004
* ubsan.c (ubsan_expand_vptr_ifn): Always return true.
* g++.dg/asan/pr65004.C: New test.
From-SVN: r220596
Oleg Endo [Tue, 10 Feb 2015 20:47:33 +0000 (20:47 +0000)]
re PR target/64661 ([SH] Allow @(disp,reg) address mode for atomics)
gcc/
PR target/64661
* config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
* config/sh/constraints.md (Ara, Add): New constraints.
* config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
predicates.
(atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
atomic_mem_operand_0. Don't use force_reg on the memory address.
(atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
Sra constraint. Convert to insn_and_split. Add workaround for
PR 64974.
(atomic_compare_and_swap<mode>_hard): Copy to
atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
Use atomic_mem_operand_0 predicate.
(atomic_compare_and_swap<mode>_soft_gusa,
atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
AraAdd constraints.
(atomic_compare_and_swap<mode>_soft_tcb,
atomic_compare_and_swap<mode>_soft_imask,
atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
atomic_mem_operand_0 predicate and SraSdd constraints.
(atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
constraint.
(atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
(atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
force_reg on the memory address.
(atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
atomic_mem_operand_1 predicate and Sra constraint.
(atomic_fetch_<fetchop_name><mode>_hard): Copy to
atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
Use atomic_mem_operand_1 predicate.
(atomic_<fetchop_name><mode>_hard): Copy to
atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
Use atomic_mem_operand_1 predicate.
(atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
(atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
insn_and_split. Use atomic_mem_operand_1 predicate.
(atomic_<fetchop_name>_fetch<mode>_hard): Copy to
atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
Use atomic_mem_operand_1 predicate.
(atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
(atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
in generated insn with original mem operand before emitting the insn.
(atomic_fetch_<fetchop_name><mode>_soft_gusa,
atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
atomic_<fetchop_name>_fetch<mode>_soft_gusa,
atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
Use atomic_mem_operand_1 predicate and AraAdd constraints.
(atomic_fetch_<fetchop_name><mode>_soft_tcb,
atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
atomic_<fetchop_name>_fetch<mode>_soft_tcb,
atomic_not_fetch<mode>_soft_tcb,
atomic_<fetchop_name>_fetch<mode>_soft_imask,
atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
Use atomic_mem_operand_1 predicate and SraSdd constraints.
gcc/testsuite/
PR target/64661
* gcc.taget/sh/pr64661-0.h: New.
* gcc.taget/sh/pr64661-1.c: New.
* gcc.taget/sh/pr64661-2.c: New.
* gcc.taget/sh/pr64661-3.c: New.
* gcc.taget/sh/pr64661-4.c: New.
From-SVN: r220594
Uros Bizjak [Tue, 10 Feb 2015 17:49:45 +0000 (18:49 +0100)]
alpha.md (reload_out<mode>_aligned): Make operands 2 and 3 earlyclobber operands.
* config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
and 3 earlyclobber operands.
From-SVN: r220590
Jason Merrill [Tue, 10 Feb 2015 17:20:01 +0000 (12:20 -0500)]
re PR c++/64994 (Firefox build error: ICE: in cxx_eval_call_expression, at cp/constexpr.c:1353)
PR c++/64994
* constexpr.c (cxx_eval_call_expression): Walk the clone list.
From-SVN: r220589
Jan Hubicka [Tue, 10 Feb 2015 16:44:27 +0000 (17:44 +0100)]
* common.opt (fstack-reuse): Mark as optimization.
From-SVN: r220588
Jan Hubicka [Tue, 10 Feb 2015 16:38:31 +0000 (17:38 +0100)]
re PR ipa/64982 (Many g++ failures on x86_64-apple-darwin14 with -m32.)
PR ipa/64982
* cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg
thunks.
* method.c (use_thunk): Do not check for stdarg thunks.
From-SVN: r220587
Markus Trippelsdorf [Tue, 10 Feb 2015 15:10:55 +0000 (15:10 +0000)]
Fix formating of gcc.dg/torture/pr64326.c
From-SVN: r220586
Trevor Saunders [Tue, 10 Feb 2015 14:49:07 +0000 (14:49 +0000)]
cap frequency in make_forwarder_block
In the testcase the block with problematic frequency has to incoming
edges. Each edge has probability 1. The first edge's source bb has
frequency 873/10000, and the second has a frequency of 9409/10000. So
at least one of those is slightly high probably from some sort of rounding
issue related to fixed point, but in any case make_forwarder_block
should not create basic blocks with frequency greater than BB_FREQ_MAX.
gcc/
PR tree-optimization/64326
* cfghooks.c (make_forwarder_block): Cap frequency of created
basic block.
From-SVN: r220585
Rainer Emrich [Tue, 10 Feb 2015 14:14:58 +0000 (14:14 +0000)]
re PR gcov-profile/61889 (gcov-tool.c uses nftw, ftw.h)
2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
PR gcov-profile/61889
* gcov-tool.c: Remove wrong #if !defined(_WIN32)
From-SVN: r220584
Kai Tietz [Tue, 10 Feb 2015 14:14:09 +0000 (15:14 +0100)]
Fixed pasto in ChangeLog
From-SVN: r220583
Rainer Emrich [Tue, 10 Feb 2015 14:13:13 +0000 (14:13 +0000)]
re PR gcov-profile/61889 (gcov-tool.c uses nftw, ftw.h)
2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
PR gcov-profile/61889
* libgcc/libgcov-driver-system.c: undefine clashing macro for mkdir.
From-SVN: r220582
Richard Biener [Tue, 10 Feb 2015 13:37:54 +0000 (13:37 +0000)]
re PR tree-optimization/64995 (ICE in vn_reference_insert_pieces, at tree-ssa-sccvn.c:2341)
2015-02-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/64995
* tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
value we use is final.
(visit_reference_op_store): Always valueize op.
(visit_use): Properly valueize vuses.
* g++.dg/torture/pr64995.C: New testcase.
From-SVN: r220581
Richard Biener [Tue, 10 Feb 2015 11:48:47 +0000 (11:48 +0000)]
re PR tree-optimization/64909 (Missed vectorization with bdver1)
2015-02-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/64909
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
pass a scalar-stmt count estimate to the cost model.
* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
* gcc.dg/vect/costmodel/x86_64/costmodel-pr64909.c: New testcase.
From-SVN: r220580
Alexander Monakov [Tue, 10 Feb 2015 11:43:36 +0000 (14:43 +0300)]
invoke.texi (-fvar-tracking-assignments): Clarify that VTA is enabled by default together with var-tracking.
2015-01-30 Alexander Monakov <amonakov@ispras.ru>
* doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
enabled by default together with var-tracking.
From-SVN: r220579
Nick Clifton [Tue, 10 Feb 2015 10:10:07 +0000 (10:10 +0000)]
rl78.c: Remove DIV attribute code accidentally included in previous rl78 commit.
* config/rl78/rl78.c: Remove DIV attribute code accidentally
included in previous rl78 commit.
From-SVN: r220578
Rainer Orth [Tue, 10 Feb 2015 10:09:49 +0000 (10:09 +0000)]
Fix <iso/math_c99.h> signbit on Solaris
fixincludes:
* inclhack.def (solaris_math_11): New fix.
* fixincl.x: Regenerate.
* tests/base/iso/math_c99.h [SOLARIS_MATH_11_CHECK]: New test.
gcc/testsuite:
* gcc.dg/signbit-sa.c: New test.
From-SVN: r220577
Richard Biener [Tue, 10 Feb 2015 09:34:29 +0000 (09:34 +0000)]
tree-streamer.h (streamer_read_tree_bitfields): Adjust.
2015-02-10 Richard Biener <rguenther@suse.de>
* tree-streamer.h (streamer_read_tree_bitfields): Adjust.
* tree-streamer-in.c (streamer_read_tree_bitfields): Do not
return the bitpack.
From-SVN: r220576
Trevor Saunders [Tue, 10 Feb 2015 03:40:20 +0000 (03:40 +0000)]
Support gcov-tool without ftw.h
gcc/
PR gcov-profile/61889
* config.in: regenerate.
* configure.in: Likewise.
* configure.ac: Check for ftw.h.
* gcov-tool.c: Check for ftw.h before using nftw.
From-SVN: r220566
Jerry DeLisle [Tue, 10 Feb 2015 03:34:19 +0000 (03:34 +0000)]
re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/57822
* gfortran/fmt_g0_7.f08: New test.
From-SVN: r220565
Jerry DeLisle [Tue, 10 Feb 2015 02:49:58 +0000 (02:49 +0000)]
re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/57822
* io/write_float.def (output_float): If doing g0 editing and
exponent is zero, do not emit exponent.
From-SVN: r220564
Bin Cheng [Tue, 10 Feb 2015 02:34:41 +0000 (02:34 +0000)]
re PR tree-optimization/43378 (IVOPTs messes up code)
PR tree-optimization/43378
* gcc.dg/tree-ssa/pr43378.c: New test.
From-SVN: r220563
Trevor Saunders [Tue, 10 Feb 2015 02:23:11 +0000 (02:23 +0000)]
Tolerate different definitions of symbols in lto
gcc/
PR lto/64076
* ipa-visibility.c (update_visibility_by_resolution_info): Only
assert when not in lto mode.
From-SVN: r220561
Zhouyi Zhou [Tue, 10 Feb 2015 01:44:18 +0000 (01:44 +0000)]
ira-color.c (setup_left_conflict_sizes_p): Simplify initialization/assignment of conflict_size.
* ira-color.c (setup_left_conflict_sizes_p): Simplify
initialization/assignment of conflict_size.
From-SVN: r220560
Georg Koppen [Tue, 10 Feb 2015 01:44:08 +0000 (01:44 +0000)]
ssp.c (__guard_setup): For Windows...
* ssp.c (__guard_setup): For Windows, use approved
methods to get a suitable random number for the stack
check guard rather than reading /dev/random.
From-SVN: r220559
Jan Hubicka [Tue, 10 Feb 2015 00:38:46 +0000 (01:38 +0100)]
re PR ipa/64978 (ICE: in ipcp_verify_propagated_values, at ipa-cp.c:1060)
PR ipa/64978
* ipa-cp.c (gather_caller_stats): Skip thunks.
(propagate_constants_topo): Skip aliases.
* g++.dg/torture/pr64978.C: New testcase.
From-SVN: r220557
GCC Administrator [Tue, 10 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220556
Kaz Kojima [Tue, 10 Feb 2015 00:00:54 +0000 (00:00 +0000)]
re PR target/64761 (-freorder-blocks-and-partition causes some failures on SH)
PR target/64761
[SH] Add jump insn for -freorder-blocks-and-partition. Don't degrade
-freorder-blocks-and-partition to -freorder-blocks even when unwinding
is enabled.
* [SH] Add jump insn for -freorder-blocks-and-partition.
From-SVN: r220553
Joern Rennecke [Mon, 9 Feb 2015 23:47:11 +0000 (23:47 +0000)]
re PR target/64761 (-freorder-blocks-and-partition causes some failures on SH)
PR target/64761
Replace MD_REDIRECT_BRANCH with TARGET_CAN_FOLLOW_JUMP.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r220552
Jakub Jelinek [Mon, 9 Feb 2015 21:23:58 +0000 (22:23 +0100)]
re PR sanitizer/64981 (-fsanitize=address cant expand __builtin_ia32_rdtsc)
PR sanitizer/64981
* builtins.c (expand_builtin): Call targetm.expand_builtin
for BUILT_IN_MD builtins regardless of asan_intercepted_p.
* gcc.dg/asan/pr64981.c: New test.
From-SVN: r220551
Marek Polacek [Mon, 9 Feb 2015 21:19:02 +0000 (21:19 +0000)]
re PR c/64856 (Initializing struct not accepted in gnu99)
PR c/64856
* c-typeck.c (process_init_element): Don't always wrap
COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
initializing a range of elements.
* gcc.dg/pr64856.c: New test.
From-SVN: r220550
Jan Hubicka [Mon, 9 Feb 2015 21:06:35 +0000 (22:06 +0100)]
re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)
PR ipa/61548
* tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
From-SVN: r220549
Jan Hubicka [Mon, 9 Feb 2015 20:45:04 +0000 (21:45 +0100)]
re PR ipa/63566 (i686 bootstrap fails: ICE RTL flag check: INSN_UID used with unexpected rtx code 'set' in INSN_UID, at rtl.h:1326)
PR ipa/63566
* ipa-icf.c (set_local): New function.
(sem_function::merge): Use it.
From-SVN: r220548
Jan Hubicka [Mon, 9 Feb 2015 20:42:59 +0000 (20:42 +0000)]
ipa-devirt.c (odr_types_equivalent_p): Fix formating.
* ipa-devirt.c (odr_types_equivalent_p): Fix formating.
(add_type_duplicate): Fix comparison of BINFOs.
From-SVN: r220547
Jan Hubicka [Mon, 9 Feb 2015 20:34:18 +0000 (21:34 +0100)]
ipa-devirt.c (odr_types_equivalent_p): Fix formating.
* ipa-devirt.c (odr_types_equivalent_p): Fix formating.
(add_type_duplicate): Fix comparison of BINFOs.
From-SVN: r220546
Jan Hubicka [Mon, 9 Feb 2015 20:24:55 +0000 (21:24 +0100)]
ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE on getting VOID pointer.
* ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
on getting VOID pointer.
From-SVN: r220545
Jason Merrill [Mon, 9 Feb 2015 19:15:55 +0000 (14:15 -0500)]
re PR c++/64899 (Illegal dynamic initialization)
PR c++/64899
* init.c (build_vec_init): Handle default-initialized array with
constexpr default constructor.
From-SVN: r220544
Jakub Jelinek [Mon, 9 Feb 2015 17:01:36 +0000 (18:01 +0100)]
re PR target/64979 (stdarg optimization not able to find escape sites in phi nodes)
PR target/64979
* tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
va_list escapes.
* gcc.dg/tree-ssa/stdarg-7.c: New test.
* gcc.c-torture/execute/pr64979.c: New test.
From-SVN: r220543
Alan Lawrence [Mon, 9 Feb 2015 16:26:22 +0000 (16:26 +0000)]
[Obvious][Testsuite] Remove extraneous target from gcc.target/arm/macro_defs0.c
gcc/testsuite/:
* gcc.target/arm/macro_defs0.c: Remove extraneous "target"
From-SVN: r220542
Richard Biener [Mon, 9 Feb 2015 13:43:17 +0000 (13:43 +0000)]
genmatch.c (replace_id): Copy expr_type.
2015-02-09 Richard Biener <rguenther@suse.de>
* genmatch.c (replace_id): Copy expr_type.
From-SVN: r220541
Richard Biener [Mon, 9 Feb 2015 13:18:15 +0000 (13:18 +0000)]
tree-streamer.h (streamer_pack_tree_bitfields): Remove.
2015-02-09 Richard Biener <rguenther@suse.de>
* tree-streamer.h (streamer_pack_tree_bitfields): Remove.
(streamer_write_tree_bitfields): Declare.
* tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
properly unpack padding.
(unpack_value_fields): Inline ...
(streamer_read_tree_bitfields): ... here.
* tree-streamer-out.c (pack_ts_base_value_fields): Inline
and properly add padding bits.
(streamer_pack_tree_bitfields): Fold into ...
(streamer_write_tree_bitfields): ... this new function,
exposing the bitpack object.
* lto-streamer-out.c (lto_write_tree_1): Call
streamer_write_tree_bitfields.
From-SVN: r220540
Uros Bizjak [Mon, 9 Feb 2015 12:26:55 +0000 (13:26 +0100)]
* testsuite/ChangeLog: Improve my last commit message.
From-SVN: r220539
Uros Bizjak [Mon, 9 Feb 2015 12:22:17 +0000 (13:22 +0100)]
ssa-dom-cse-2.c: Xfail for alpha*-*-*.
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Xfail for alpha*-*-*.
* gcc.dg/tree-ssa/pr42585.c: Xfail scan-tree-dump-times for alpha*-*-*.
From-SVN: r220538
Uros Bizjak [Mon, 9 Feb 2015 11:53:26 +0000 (12:53 +0100)]
re PR target/58757 (Advertise the lack of denormal support on alpha without -mieee)
PR target/58757
* gcc.dg/c11-true_min-1.c: Xfail execution for alpha*-*-*.
From-SVN: r220537
Richard Biener [Mon, 9 Feb 2015 11:51:05 +0000 (11:51 +0000)]
re PR tree-optimization/54000 (Performance breakdown for gcc-4.{6,7} vs. gcc-4.5 using std::vector in matrix vector multiplication (IVopts / inliner))
2015-02-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/54000
* tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
(struct ivopts_data): Add loop_loc member.
(tree_ssa_iv_optimize_loop): Dump loop location.
(create_new_ivs): Likewise, also dump number of IVs generated.
* g++.dg/tree-ssa/ivopts-3.C: New testcase.
From-SVN: r220536
Thomas Schwinge [Mon, 9 Feb 2015 11:41:22 +0000 (12:41 +0100)]
libvtv: autoreconf.
libvtv/
* Makefile.in: Regenerate.
* aclocal.m4: Likewise.
* configure: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r220535
Tom de Vries [Mon, 9 Feb 2015 10:49:43 +0000 (10:49 +0000)]
Move ChangeLog entry
From-SVN: r220533
Tom de Vries [Mon, 9 Feb 2015 10:35:43 +0000 (10:35 +0000)]
Fix scan-tree-dump in gcc.dg/graphite/scop-19.c for fpic
2015-02-09 Tom de Vries <tom@codesourcery.com>
* gcc.dg/graphite/scop-19.c: Fix scan-tree-dump for fpic.
From-SVN: r220532