gcc.git
10 years agoDaily bump.
GCC Administrator [Tue, 3 Dec 2013 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r205612

10 years agoepiphany.h: Wrap rtl_opt_pass declarations in #ifndef IN_LIBGCC2 / #endif.
Joern Rennecke [Mon, 2 Dec 2013 23:22:57 +0000 (23:22 +0000)]
epiphany.h: Wrap rtl_opt_pass declarations in #ifndef IN_LIBGCC2 / #endif.

        * config/epiphany/epiphany.h: Wrap rtl_opt_pass declarations
        in #ifndef IN_LIBGCC2 / #endif.

From-SVN: r205609

10 years agore PR tree-optimization/59358 (Infinite loop generated with >=O2)
Jakub Jelinek [Mon, 2 Dec 2013 22:41:23 +0000 (23:41 +0100)]
re PR tree-optimization/59358 (Infinite loop generated with >=O2)

PR tree-optimization/59358
* tree-vrp.c (union_ranges): To check for the partially
overlapping ranges or adjacent ranges, also compare *vr0max
with vr1max.

* gcc.c-torture/execute/pr59358.c: New test.

From-SVN: r205607

10 years agore PR lto/59326 (FAIL: gcc.dg/vect/vect-simd-clone-*.c)
Jakub Jelinek [Mon, 2 Dec 2013 22:39:12 +0000 (23:39 +0100)]
re PR lto/59326 (FAIL: gcc.dg/vect/vect-simd-clone-*.c)

PR lto/59326
* gcc.target/i386/i386.exp (check_effective_target_avx2): Move to...
* lib/target-supports.exp (check_effective_target_avx2): ... here.
(check_effective_target_vect_simd_clones): New.
* gcc.dg/vect/vect-simd-clone-1.c: Add dg-require-effective-target
vect_simd_clones.
* gcc.dg/vect/vect-simd-clone-2.c: Likewise.
* gcc.dg/vect/vect-simd-clone-3.c: Likewise.
* gcc.dg/vect/vect-simd-clone-4.c: Likewise.
* gcc.dg/vect/vect-simd-clone-5.c: Likewise.
* gcc.dg/vect/vect-simd-clone-6.c: Likewise.
* gcc.dg/vect/vect-simd-clone-7.c: Likewise.
* gcc.dg/vect/vect-simd-clone-8.c: Likewise.
* gcc.dg/vect/vect-simd-clone-9.c: Likewise.
* gcc.dg/vect/vect-simd-clone-10.c: Likewise.
* gcc.dg/vect/vect-simd-clone-11.c: Likewise.
* gcc.dg/vect/vect-simd-clone-12.c: Likewise.

From-SVN: r205606

10 years agodwarf2out.c (output_pubnames): Use comp_unit_die ()->die_offset when...
Sterling Augustine [Mon, 2 Dec 2013 22:10:44 +0000 (22:10 +0000)]
dwarf2out.c (output_pubnames): Use comp_unit_die ()->die_offset when...

2013-12-02 Sterling Augustine  <saugustine@google.com>

        * dwarf2out.c (output_pubnames): Use comp_unit_die ()->die_offset
        when there isn't a skeleton die.

From-SVN: r205603

10 years agore PR sanitizer/59353 (-fsanitize=return is not documented)
Marek Polacek [Mon, 2 Dec 2013 20:39:25 +0000 (20:39 +0000)]
re PR sanitizer/59353 (-fsanitize=return is not documented)

PR sanitizer/59353
* doc/invoke.texi: Document -fsanitize=return.

From-SVN: r205601

10 years agoupdate_web_docs_svn: Work around makeinfo generated file names and references with...
Gerald Pfeifer [Mon, 2 Dec 2013 20:07:14 +0000 (20:07 +0000)]
update_web_docs_svn: Work around makeinfo generated file names and references with "_002d" instead...

* update_web_docs_svn: Work around makeinfo generated file names
and references with "_002d" instead of "-".

From-SVN: r205600

10 years agore PR middle-end/59257 (usan/*san: Dpcumentation oddness of -fsanitize= / -fsanitize...
Tobias Burnus [Mon, 2 Dec 2013 19:54:29 +0000 (20:54 +0100)]
re PR middle-end/59257 (usan/*san: Dpcumentation oddness of -fsanitize= / -fsanitize=shift)

2013-12-02  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

        PR middle-end/59257
        * doc/invoke.texi: Add missing @opindex.
        (-fsanitize=): Use @gcctabopt instead of @itemize.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r205598

10 years agoFix C++0x memory model for unaligned fields in packed...
Bernd Edlinger [Mon, 2 Dec 2013 19:50:55 +0000 (19:50 +0000)]
Fix C++0x memory model for unaligned fields in packed...

2013-12-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix C++0x memory model for unaligned fields in packed, aligned(4)
        structures with -fno-strict-volatile-bitfields on STRICT_ALIGNMENT
        targets like arm-none-eabi.
        * expr.c (expand_assignment): Handle normal fields like bit regions.

testsuite:
2013-12-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/pr56997-4.c: New testcase.

From-SVN: r205597

10 years agore PR target/58115 (testcase gcc.target/i386/intrinsics_4.c failure)
Bernd Edlinger [Mon, 2 Dec 2013 18:00:47 +0000 (18:00 +0000)]
re PR target/58115 (testcase gcc.target/i386/intrinsics_4.c failure)

2013-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR target/58115
        * function.c (invoke_set_current_function_hook): Call
        targetm.set_current_function after setting this_fn_optabs.

From-SVN: r205593

10 years agovla-1.c: Split the tests into individual functions.
Marek Polacek [Mon, 2 Dec 2013 16:08:47 +0000 (16:08 +0000)]
vla-1.c: Split the tests into individual functions.

2013-12-02  Marek Polacek  <polacek@redhat.com>

testsuite/
* c-c++-common/ubsan/vla-1.c: Split the tests into individual
functions.

From-SVN: r205590

10 years agore PR tree-optimization/59139 (internal compiler error: in get_val_for, at tree-ssa...
Richard Biener [Mon, 2 Dec 2013 15:43:01 +0000 (15:43 +0000)]
re PR tree-optimization/59139 (internal compiler error: in get_val_for, at tree-ssa-loop-niter.c:2267)

2013-12-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59139
* tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
code in get_val_for.
(get_val_for): Use gcc_checking_asserts.

* gcc.dg/torture/pr59139.c: New testcase.

From-SVN: r205588

10 years agotree-ssa-operands.c (opf_implicit): Remove.
Richard Biener [Mon, 2 Dec 2013 15:13:52 +0000 (15:13 +0000)]
tree-ssa-operands.c (opf_implicit): Remove.

2013-12-02  Richard Biener  <rguenther@suse.de>

* tree-ssa-operands.c (opf_implicit): Remove.
(opf_address_taken): New flag.
(get_expr_operands): Remove early out, pass down
opf_address_taken for ADDR_EXPRs, add a use operand only
for non-opf_address_taken bases.
(get_indirect_ref_operands): Rename to ...
(get_mem_ref_operands): ... this.
(get_asm_expr_operands): Rename to ...
(get_asm_stmt_operands): ... this.

From-SVN: r205587

10 years agoAdd missed pointer de-reference
Yuri Rumyantsev [Mon, 2 Dec 2013 14:39:28 +0000 (14:39 +0000)]
Add missed pointer de-reference

2013-12-02  Yuri Rumyantsev  <ysrumyan@gmail.com>

* ipa-inline.c (check_callers): Add missed pointer de-reference.

From-SVN: r205586

10 years agore PR tree-optimization/59356 (ACATS C52102A and C52102C failures)
Eric Botcazou [Mon, 2 Dec 2013 11:20:14 +0000 (11:20 +0000)]
re PR tree-optimization/59356 (ACATS C52102A and C52102C failures)

PR tree-optimization/59356
* tree-dfa.h (get_addr_base_and_unit_offset_1) <case ARRAY_REF>: Do the
offset computation using the precision of the index type.

From-SVN: r205585

10 years agoChangeLog: Fix ChangeLog entry.
Yvan Roux [Mon, 2 Dec 2013 07:54:53 +0000 (07:54 +0000)]
ChangeLog: Fix ChangeLog entry.

* gcc/ChangeLog: Fix ChangeLog entry.

From-SVN: r205582

10 years agoarm.c (arm_preferred_reload_class): Only return LO_REGS when rclass is GENERAL_REGS.
Yvan Roux [Mon, 2 Dec 2013 07:44:34 +0000 (07:44 +0000)]
arm.c (arm_preferred_reload_class): Only return LO_REGS when rclass is GENERAL_REGS.

2013-12-02  Yvan Roux  <yvan.roux@linaro.org>

        * config/arm/arm.c (arm_preferred_reload_class): Only return LO_REGS
        when rclass is GENERAL_REGS.

From-SVN: r205581

10 years agoCheck TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor
Ganesh Gopalasubramanian [Mon, 2 Dec 2013 07:27:14 +0000 (07:27 +0000)]
Check TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor

From-SVN: r205580

10 years agoDaily bump.
GCC Administrator [Mon, 2 Dec 2013 00:17:06 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r205578

10 years agore PR libfortran/59313 (gfortran.dg/erf_3.F90 FAILs on Solaris/SPARC)
Uros Bizjak [Sun, 1 Dec 2013 20:56:21 +0000 (21:56 +0100)]
re PR libfortran/59313 (gfortran.dg/erf_3.F90 FAILs on Solaris/SPARC)

PR libfortran/59313
* intrinsics/erfc_scaled.c (erfc_scaled_r16): Also provide for
quadruple precision long double variant.

From-SVN: r205574

10 years agowinnt.c (i386_pe_asm_named_section): Be prepared for an identifier node.
Eric Botcazou [Sun, 1 Dec 2013 12:20:58 +0000 (12:20 +0000)]
winnt.c (i386_pe_asm_named_section): Be prepared for an identifier node.

* config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
identifier node.

From-SVN: r205568

10 years agore PR fortran/57354 (Wrong run-time assignment of allocatable array of derived type...
Paul Thomas [Sun, 1 Dec 2013 11:50:20 +0000 (11:50 +0000)]
re PR fortran/57354 (Wrong run-time assignment of allocatable array of derived type with allocatable component)

2013-12-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/57354
* trans-array.c (gfc_conv_resolve_dependencies): For other than
SS_SECTION, do a dependency check if the lhs is liable to be
reallocated.

2013-12-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/57354
* gfortran.dg/realloc_on_assign_23.f90 : New test

From-SVN: r205567

10 years agore PR fortran/58410 (Bogus uninitialized variable warning for allocatable derived...
Paul Thomas [Sun, 1 Dec 2013 11:42:25 +0000 (11:42 +0000)]
re PR fortran/58410 (Bogus uninitialized variable warning for allocatable derived type array function result)

2013-12-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/58410
* trans-array.c (gfc_alloc_allocatable_for_assignment): Do not
use the array bounds of an unallocated array but set its size
to zero instead.

From-SVN: r205566

10 years agoIndex...
Paul Thomas [Sun, 1 Dec 2013 11:37:09 +0000 (11:37 +0000)]
Index...

Index: gcc/fortran/resolve.c
===================================================================
*** gcc/fortran/resolve.c (revision 205031)
--- gcc/fortran/resolve.c (working copy)
*************** resolve_transfer (gfc_code *code)
*** 8247,8256 ****
    && exp->value.op.op == INTRINSIC_PARENTHESES)
      exp = exp->value.op.op1;

!   if (exp && exp->expr_type == EXPR_NULL && exp->ts.type == BT_UNKNOWN)
      {
!       gfc_error ("NULL intrinsic at %L in data transfer statement requires "
!   "MOLD=", &exp->where);
        return;
      }

--- 8247,8257 ----
    && exp->value.op.op == INTRINSIC_PARENTHESES)
      exp = exp->value.op.op1;

!   if (exp && exp->expr_type == EXPR_NULL
!       && code->ext.dt)
      {
!       gfc_error ("Invalid context for NULL () intrinsic at %L",
!   &exp->where);
        return;
      }

Index: gcc/testsuite/gfortran.dg/null_5.f90
===================================================================
*** gcc/testsuite/gfortran.dg/null_5.f90 (revision 205031)
--- gcc/testsuite/gfortran.dg/null_5.f90 (working copy)
*************** subroutine test_PR34547_1 ()
*** 34,40 ****
  end subroutine test_PR34547_1

  subroutine test_PR34547_2 ()
!   print *, null () ! { dg-error "in data transfer statement requires MOLD" }
  end subroutine test_PR34547_2

  subroutine test_PR34547_3 ()
--- 34,40 ----
  end subroutine test_PR34547_1

  subroutine test_PR34547_2 ()
!   print *, null () ! { dg-error "Invalid context" }
  end subroutine test_PR34547_2

  subroutine test_PR34547_3 ()
Index: gcc/testsuite/gfortran.dg/null_6.f90
===================================================================
*** gcc/testsuite/gfortran.dg/null_6.f90 (revision 205031)
--- gcc/testsuite/gfortran.dg/null_6.f90 (working copy)
*************** end subroutine test_PR50375_2
*** 30,34 ****

  subroutine test_PR34547_3 ()
    integer, allocatable :: i(:)
!   print *, NULL(i)
  end subroutine test_PR34547_3
--- 30,34 ----

  subroutine test_PR34547_3 ()
    integer, allocatable :: i(:)
!   print *, NULL(i)    ! { dg-error "Invalid context for NULL" }
  end subroutine test_PR34547_3

From-SVN: r205565

10 years agoexpr.c (emit_group_store): Corrected BITFIELD_END parameter.
Bernd Edlinger [Sun, 1 Dec 2013 09:08:04 +0000 (09:08 +0000)]
expr.c (emit_group_store): Corrected BITFIELD_END parameter.

2013-12-01  Bernd Edlinger <bernd.edlinger@hotmail.de>

        * expr.c (emit_group_store): Corrected BITFIELD_END parameter.

From-SVN: r205563

10 years agolibgo: Avoid some cases of getting callers recursively.
Ian Lance Taylor [Sun, 1 Dec 2013 01:40:16 +0000 (01:40 +0000)]
libgo: Avoid some cases of getting callers recursively.

Avoids hanging inside older versions of glibc that do not
support recurive calls to dl_iterate_phdr.

From-SVN: r205561

10 years agoDaily bump.
GCC Administrator [Sun, 1 Dec 2013 00:17:11 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r205560

10 years agoreflect: Rename struct field to be consistent in assembler and Go.
Ian Lance Taylor [Sat, 30 Nov 2013 18:08:42 +0000 (18:08 +0000)]
reflect: Rename struct field to be consistent in assembler and Go.

From-SVN: r205555

10 years agoreflect: Fix MakeFunc for 386 when returning a struct.
Ian Lance Taylor [Sat, 30 Nov 2013 17:14:50 +0000 (17:14 +0000)]
reflect: Fix MakeFunc for 386 when returning a struct.

When a 386 function returns a struct, it needs to return using
an rtd instruction that pops the hidden struct parameter off
the stack.  That wasn't happening.

From-SVN: r205551

10 years agocombine.c (reg_nonzero_bits_for_combine): Apply mask transformation as applied to...
Paulo Matos [Sat, 30 Nov 2013 11:13:07 +0000 (11:13 +0000)]
combine.c (reg_nonzero_bits_for_combine): Apply mask transformation as applied to nonzero_sign_valid when...

* combine.c (reg_nonzero_bits_for_combine): Apply mask transformation
as applied to nonzero_sign_valid when last_set_mode has less precision
than mode.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r205550

10 years agore PR sanitizer/59275 (Document environment variables used by the sanitizers)
Tobias Burnus [Sat, 30 Nov 2013 09:11:13 +0000 (10:11 +0100)]
re PR sanitizer/59275 (Document environment variables used by the sanitizers)

2013-11-30  Tobias Burnus  <burnus@net-b.de>

        PR sanitizer/59275
        * doc/invoke.texi (-fsanitize=address,leak): Mention the
        * associated
        environment variable and link to a list with flags.
        (-fsanitize=thread): Ditto and update link.

From-SVN: r205548

10 years agoDaily bump.
GCC Administrator [Sat, 30 Nov 2013 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r205547

10 years agore PR sanitizer/59331 (ubsan gives extra warnings with vla.)
Marek Polacek [Fri, 29 Nov 2013 21:29:48 +0000 (21:29 +0000)]
re PR sanitizer/59331 (ubsan gives extra warnings with vla.)

PR sanitizer/59331
cp/
* decl.c (compute_array_index_type): Don't build COMPOUND_EXPR for
instrumentation.
testsuite/
* g++.dg/ubsan/pr59331.C: New test.
* g++.dg/ubsan/cxx1y-vla.C: Enable -Wall -Wno-unused-variable.
Disable the -w option.
* c-c++-common/ubsan/vla-1.c: Likewise.
* c-c++-common/ubsan/vla-2.c: Likewise.
* c-c++-common/ubsan/vla-3.c: Don't use the -w option.

From-SVN: r205544

10 years agore PR c/42262 (internal compiler error: in set_designator, at c-typeck.c:5771)
Joseph Myers [Fri, 29 Nov 2013 21:24:14 +0000 (21:24 +0000)]
re PR c/42262 (internal compiler error: in set_designator, at c-typeck.c:5771)

PR c/42262
c:
* c-typeck.c (process_init_element): Do not treat a string as
initializing a whole array when used with a designator for an
individual element.

testsuite:
* gcc.dg/c99-init-5.c, gcc.dg/c99-init-6.c: New tests.

From-SVN: r205543

10 years agobootstrap-ubsan.mk (POSTSTAGE1_LDFLAGS): Remove -lpthread -ldl.
Marek Polacek [Fri, 29 Nov 2013 20:13:45 +0000 (20:13 +0000)]
bootstrap-ubsan.mk (POSTSTAGE1_LDFLAGS): Remove -lpthread -ldl.

* bootstrap-ubsan.mk (POSTSTAGE1_LDFLAGS): Remove -lpthread -ldl.
Add -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/.

From-SVN: r205542

10 years agore PR rtl-optimization/59340 (LRA enable-checking bootstrap failure since r205136)
Vladimir Makarov [Fri, 29 Nov 2013 20:08:38 +0000 (20:08 +0000)]
re PR rtl-optimization/59340 (LRA enable-checking bootstrap failure since r205136)

2013-11-29  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59340
* lra.c (check_rtl): Use recog_memoized instead of insn_invalid_p.

Revert
2013-11-20  Robert Suchanek  <Robert.Suchanek@imgtec.com>

* lra.c (lra): Set lra_in_progress before check_rtl call.
* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
adding clobber regs when LRA is running.

From-SVN: r205541

10 years agoAdd -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/
H.J. Lu [Fri, 29 Nov 2013 18:10:21 +0000 (18:10 +0000)]
Add -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/

* bootstrap-asan.mk (POSTSTAGE1_LDFLAGS): Add
-B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/.

From-SVN: r205539

10 years agoMove config ChangeLog entries to config/ChangeLog
H.J. Lu [Fri, 29 Nov 2013 17:53:36 +0000 (09:53 -0800)]
Move config ChangeLog entries to config/ChangeLog

From-SVN: r205538

10 years agoProperly add path to libsanitizer.spec to cflags
H.J. Lu [Fri, 29 Nov 2013 17:08:14 +0000 (17:08 +0000)]
Properly add path to libsanitizer.spec to cflags

* lib/asan-dg.exp (asan_link_flags): Properly add path to
libsanitizer.spec to cflags.

From-SVN: r205537

10 years agoexception, [...]: Remove empty dirs.
Matthias Klose [Fri, 29 Nov 2013 17:04:30 +0000 (17:04 +0000)]
exception, [...]: Remove empty dirs.

2013-11-29  Matthias Klose  <doko@ubuntu.com>

        * testsuite/experimental/string_view/requirements/exception,
        testsuite/experimental/string_view/capacity/wchar_t,
        testsuite/experimental/string_view/capacity/char: Remove empty dirs.

From-SVN: r205536

10 years agognu_java_awt_peer_gtk_FreetypeGlyphVector.c, [...]: Fix freetype includes.
Matthias Klose [Fri, 29 Nov 2013 16:53:39 +0000 (16:53 +0000)]
gnu_java_awt_peer_gtk_FreetypeGlyphVector.c, [...]: Fix freetype includes.

2013-11-29  Matthias Klose  <doko@ubuntu.com>

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c,
        native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:
        Fix freetype includes.

From-SVN: r205533

10 years agore PR ada/54040 ([x32] Incorrect timeval and timespec)
Eric Botcazou [Fri, 29 Nov 2013 16:19:36 +0000 (16:19 +0000)]
re PR ada/54040 ([x32] Incorrect timeval and timespec)

PR ada/54040
PR ada/59346
* s-osinte-hpux.ads (timespec): Change type of tv_nsec field to time_t.
* s-osinte-kfreebsd-gnu.ads (timespec): Likewise.
* s-osinte-solaris-posix.ads (timespec): Likewise.

From-SVN: r205532

10 years ago* MAINTAINERS: Update my email address.
Jan Hubicka [Fri, 29 Nov 2013 15:34:32 +0000 (16:34 +0100)]
* MAINTAINERS: Update my email address.

From-SVN: r205531

10 years agoAdd missing testcase.
Jan Hubicka [Fri, 29 Nov 2013 15:25:31 +0000 (15:25 +0000)]
Add missing testcase.

From-SVN: r205530

10 years agore PR target/59289 ([ARM] regression on unsigned-extend-2.c)
Kyrylo Tkachov [Fri, 29 Nov 2013 15:19:34 +0000 (15:19 +0000)]
re PR target/59289 ([ARM] regression on unsigned-extend-2.c)

2013-11-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR target/59289
* config/arm/arm.c (cortexa15_extra_costs): Adjust costs.

From-SVN: r205529

10 years agore PR middle-end/59208 (ice in initialize_flags_in_bb)
Richard Biener [Fri, 29 Nov 2013 14:37:07 +0000 (14:37 +0000)]
re PR middle-end/59208 (ice in initialize_flags_in_bb)

2013-11-29  Richard Biener  <rguenther@suse.de>

PR middle-end/59208
* tree-ssa-operands.h (fini_ssa_operands, verify_ssa_operands,
free_stmt_operands, update_stmt_operands): Add struct function
argument.
* tree-ssa-operands.c: Remove uses of cfun, propagate struct
function argument from fini_ssa_operands, verify_ssa_operands,
free_stmt_operands and update_stmt_operands everywhere.
* tree-ssanames.h (release_ssa_name_fn): New.
(release_ssa_name): Inline wrapper around release_ssa_name_fn.
* tree-ssanames.c (release_ssa_name): Rename to ...
(release_ssa_name_fn): ... this and add struct function argument.
* gimple-ssa.h (update_stmt, update_stmt_if_modified): Adjust.
(update_stmt_fn): New function.
* tree-cfg.c (move_block_to_fn): Adjust.
* tree-if-conv.c (free_bb_predicate): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
(delete_tree_ssa): Likewise.
* gimple-pretty-print.c (dump_gimple_mem_ops): Remove guard.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Call
update_stmt_fn instead of update_stmt.

* g++.dg/torture/pr59208.C: New testcase.

From-SVN: r205528

10 years agoarm.h (THUMB_SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS for LRA.
Yvan Roux [Fri, 29 Nov 2013 13:17:04 +0000 (13:17 +0000)]
arm.h (THUMB_SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS for LRA.

2013-11-29  Yvan Roux  <yvan.roux@linaro.org>

        * config/arm/arm.h (THUMB_SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS
        for LRA.

From-SVN: r205527

10 years agoarm.md (store_minmaxsi): Use only when optimize_function_for_size_p.
Yvan Roux [Fri, 29 Nov 2013 13:10:52 +0000 (13:10 +0000)]
arm.md (store_minmaxsi): Use only when optimize_function_for_size_p.

2013-11-29  Yvan Roux  <yvan.roux@linaro.org>

         * config/arm/arm.md (store_minmaxsi): Use only when
        optimize_function_for_size_p.

From-SVN: r205526

10 years agoProperly handle function without arguments
H.J. Lu [Fri, 29 Nov 2013 13:00:35 +0000 (13:00 +0000)]
Properly handle function without arguments

PR c/59309
* cilk.c (gimplify_cilk_spawn): Properly handle function without
arguments.

From-SVN: r205525

10 years agore PR sanitizer/59063 (ASAN: segfault in __interceptor_clock_gettime)
Jakub Jelinek [Fri, 29 Nov 2013 12:30:36 +0000 (13:30 +0100)]
re PR sanitizer/59063 (ASAN: segfault in __interceptor_clock_gettime)

gcc/
2013-11-29  Jakub Jelinek  <jakub@redhat.com>
            Yury Gribov  <y.gribov@samsung.com>

        PR sanitizer/59063
        * config/gnu-user.h: Removed old code for setting up sanitizer
        libs.
        * gcc.c: Using libsanitizer spec instead of explicit libs.

gcc/testsuite/
2013-11-29  Jakub Jelinek  <jakub@redhat.com>
            Yury Gribov  <y.gribov@samsung.com>

        PR sanitizer/59063
        * c-c++-common/asan/pr59063-1.c: New test.
        * c-c++-common/asan/pr59063-2.c: Likewise.
        * lib/asan-dg.exp: Add path to libsanitizer.spec to cflags.
        * lib/ubsan-dg.exp: Likewise.

libsanitizer/
2013-11-29  Jakub Jelinek  <jakub@redhat.com>
            Yury Gribov  <y.gribov@samsung.com>

        PR sanitizer/59063
        * libsanitizer.spec.in: Add spec file to hold link flags for
        various sanitizer libs.
        * configure.ac: Check whether clock_* routines come from librt.
        * asan/Makefile.am (libasan_la_LDFLAGS): Libs now come from
        configure.ac.
        * tsan/Makefile.am (libtsan_la_LDFLAGS): Likewise.
        * ubsan/Makefile.am (libubsan_la_LDFLAGS): Likewise.
        * lsan/Makefile.am (liblsan_la_LDFLAGS): Likewise.
        * asan/Makefile.in: Regenerate.
        * interception/Makefile.in: Regenerate.
        * lsan/Makefile.in: Regenerate.
        * sanitizer_common/Makefile.in: Regenerate.
        * tsan/Makefile.in: Regenerate.
        * ubsan/Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * configure: Regenerate.

Co-Authored-By: Yury Gribov <y.gribov@samsung.com>
From-SVN: r205524

10 years ago* gnat.dg/opt29.ad[sb]: New test.
Eric Botcazou [Fri, 29 Nov 2013 12:16:07 +0000 (12:16 +0000)]
* gnat.dg/opt29.ad[sb]: New test.

From-SVN: r205523

10 years agorevert: cgraph.h (varpool_node): Add need_bounds_init field.
Ilya Enkovich [Fri, 29 Nov 2013 12:12:39 +0000 (12:12 +0000)]
revert: cgraph.h (varpool_node): Add need_bounds_init field.

Reverted:
2013-11-20  Ilya Enkovich  <ilya.enkovich@intel.com>
* cgraph.h (varpool_node): Add need_bounds_init field.
* lto-cgraph.c (lto_output_varpool_node): Output
need_bounds_init value.
(input_varpool_node): Read need_bounds_init value.
* varpool.c (dump_varpool_node): Dump need_bounds_init field.

Reverted:
2013-11-20  Ilya Enkovich  <ilya.enkovich@intel.com>
* dbxout.c (dbxout_type): Ignore POINTER_BOUNDS_TYPE.
* dwarf2out.c (gen_subprogram_die): Ignore bound args.
(gen_type_die_with_usage): Skip pointer bounds.
(dwarf2out_global_decl): Likewise.

Reverted:
2013-11-18  Ilya Enkovich  <ilya.enkovich@intel.com>
* builtin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.
* chkp-builtins.def (BUILT_IN_CHKP_BIND_BOUNDS): New.
* cfgexpand.c (expand_call_stmt): Expand BUILT_IN_CHKP_BIND_BOUNDS.
* gimple.c (gimple_call_get_nobnd_arg_index): Remove.
* gimple.h (gf_mask): Add GF_CALL_WITH_BOUNDS.
(gimple_call_with_bounds_p): New.
(gimple_call_set_with_bounds): New.
(gimple_call_num_nobnd_args): Remove.
(gimple_call_nobnd_arg): Remove.
* tree.h (CALL_WITH_BOUNDS_P): New.
* rtl.h (CALL_EXPR_WITH_BOUNDS_P): New.

Reverted:
2013-11-08  Ilya Enkovich  <ilya.enkovich@intel.com>
* common.opt (fcheck-pointer-bounds): Move to ...
* c-family/c.opt: ... here.
* langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): Remove.
(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CHKP_SUPPORTED.
* langhooks.h (lang_hooks): Remove chkp_supported field.
* toplev.c (process_options): Remove chkp_supported check.

Reverted:
2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>
* tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
* tree.h (POINTER_BOUNDS_P): New.
(BOUNDED_TYPE_P): New.
(BOUNDED_P): New.
(pointer_bounds_type_node): New.
* tree.c (build_common_tree_nodes): Initialize
pointer_bounds_type_node.
* gimple.h (gimple_call_get_nobnd_arg_index): New.
(gimple_call_num_nobnd_args): New.
(gimple_call_nobnd_arg): New.
(gimple_return_retbnd): New.
(gimple_return_set_retbnd): New
* gimple.c (gimple_build_return): Increase number of ops
for return statement.
(gimple_call_get_nobnd_arg_index): New.
* gimple-pretty-print.c (dump_gimple_return): Print second op.

Reverted:
2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>
* ipa.c (cgraph_build_static_cdtor_1): Support contructors
with "chkp ctor" and "bnd_legacy" attributes.
* gimplify.c (gimplify_init_constructor): Avoid infinite
loop during gimplification of bounds initializer.

Reverted:
2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>
* c-family/c-common.c (handle_bnd_variable_size_attribute): New.
(handle_bnd_legacy): New.
(c_common_attribute_table): Add bnd_variable_size and bnd_legacy.
* doc/extend.texi: Document bnd_variable_size and bnd_legacy
attributes.

Reverted:
2013-10-29  Ilya Enkovich  <ilya.enkovich@intel.com>
* builtin-types.def (BT_FN_VOID_CONST_PTR): New.
(BT_FN_PTR_CONST_PTR): New.
(BT_FN_CONST_PTR_CONST_PTR): New.
(BT_FN_PTR_CONST_PTR_SIZE): New.
(BT_FN_PTR_CONST_PTR_CONST_PTR): New.
(BT_FN_VOID_PTRPTR_CONST_PTR): New.
(BT_FN_VOID_CONST_PTR_SIZE): New.
(BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
* chkp-builtins.def: New.
* builtins.def: include chkp-builtins.def.
(DEF_CHKP_BUILTIN): New.
* builtins.c (expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_ARG_BND, BUILT_IN_CHKP_NARROW,
BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
* common.opt (fcheck-pointer-bounds): New.
* toplev.c (process_options): Check Pointer Bounds Checker is
supported.
* doc/extend.texi: Document Pointer Bounds Checker built-in functions.

Reverted:
2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>
* target.def (builtin_chkp_function): New.
(chkp_bound_type): New.
(chkp_bound_mode): New.
(fn_abi_va_list_bounds_size): New.
(load_bounds_for_arg): New.
(store_bounds_for_arg): New.
* targhooks.h (default_load_bounds_for_arg): New.
(default_store_bounds_for_arg): New.
(default_fn_abi_va_list_bounds_size): New.
(default_chkp_bound_type): New.
(default_chkp_bound_mode): New.
(default_builtin_chkp_function): New.
* targhooks.c (default_load_bounds_for_arg): New.
(default_store_bounds_for_arg): New.
(default_fn_abi_va_list_bounds_size): New.
(default_chkp_bound_type): New.
(default_chkp_bound_mode); New.
(default_builtin_chkp_function): New.
* doc/tm.texi.in (TARGET_FN_ABI_VA_LIST_BOUNDS_SIZE): New.
(TARGET_LOAD_BOUNDS_FOR_ARG): New.
(TARGET_STORE_BOUNDS_FOR_ARG): New.
(TARGET_BUILTIN_CHKP_FUNCTION): New.
(TARGET_CHKP_BOUND_TYPE): New.
(TARGET_CHKP_BOUND_MODE): New.
* doc/tm.texi: Regenerated.
* langhooks.h (lang_hooks): Add chkp_supported field.
* langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): New.
(LANG_HOOKS_INITIALIZER); Add LANG_HOOKS_CHKP_SUPPORTED.

Reverted:
2013-10-24  Ilya Enkovich  <ilya.enkovich@intel.com>
* config/i386/constraints.md (B): New.
(Ti): New.
(Tb): New.
* config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__.
* config/i386/i386-modes.def (BND32): New.
(BND64): New.
* config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New.
* config/i386/i386.c (isa_opts): Add mmpx.
(regclass_map): Add bound registers.
(dbx_register_map): Likewise.
(dbx64_register_map): Likewise.
(svr4_dbx_register_map): Likewise.
(PTA_MPX): New.
(ix86_option_override_internal): Support MPX ISA.
(ix86_conditional_register_usage): Support bound registers.
(print_reg): Likewise.
(ix86_code_end): Add MPX bnd prefix.
(output_set_got): Likewise.
(ix86_output_call_insn): Likewise.
(ix86_print_operand): Add '!' (MPX bnd) print prefix support.
(ix86_print_operand_punct_valid_p): Likewise.
(ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and
UNSPEC_BNDMK_ADDR.
(ix86_class_likely_spilled_p): Add bound regs support.
(ix86_hard_regno_mode_ok): Likewise.
(x86_order_regs_for_local_alloc): Likewise.
(ix86_bnd_prefixed_insn_p): New.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Fix to new value.
(FIXED_REGISTERS): Add bound registers.
(CALL_USED_REGISTERS): Likewise.
(REG_ALLOC_ORDER): Likewise.
(HARD_REGNO_NREGS): Likewise.
(TARGET_MPX): New.
(VALID_BND_REG_MODE): New.
(FIRST_BND_REG): New.
(LAST_BND_REG): New.
(reg_class): Add BND_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(BND_REGNO_P): New.
(ANY_BND_REG_P): New.
(BNDmode): New.
(HI_REGISTER_NAMES): Add bound registers.
* config/i386/i386.md (UNSPEC_BNDMK): New.
(UNSPEC_BNDMK_ADDR): New.
(UNSPEC_BNDSTX): New.
(UNSPEC_BNDLDX): New.
(UNSPEC_BNDLDX_ADDR): New.
(UNSPEC_BNDCL): New.
(UNSPEC_BNDCU): New.
(UNSPEC_BNDCN): New.
(UNSPEC_MPX_FENCE): New.
(BND0_REG): New.
(BND1_REG): New.
(type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst.
(length_immediate): Likewise.
(prefix_0f): Likewise.
(memory): Likewise.
(prefix_rep): Check for bnd prefix.
(length_nobnd): New.
(length): Use length_nobnd if specified.
(BND): New.
(bnd_ptr): New.
(BNDCHECK): New.
(bndcheck): New.
(*jcc_1): Add bnd prefix and rename length attr to length_nobnd.
(*jcc_2): Likewise.
(jump): Likewise.
(simple_return_internal): Likewise.
(simple_return_pop_internal): Likewise.
(*indirect_jump): Add MPX bnd prefix.
(*tablejump_1): Likewise.
(simple_return_internal_long): Likewise.
(simple_return_indirect_internal): Likewise.
(<mode>_mk): New.
(*<mode>_mk): New.
(mov<mode>): New.
(*mov<mode>_internal_mpx): New.
(<mode>_<bndcheck>): New.
(*<mode>_<bndcheck>): New.
(<mode>_ldx): New.
(*<mode>_ldx): New.
(<mode>_stx): New.
(*<mode>_stx): New.
* config/i386/predicates.md (lea_address_operand): Rename to...
(address_no_seg_operand): ... this.
(address_mpx_no_base_operand): New.
(address_mpx_no_index_operand): New.
(bnd_mem_operator): New.
* config/i386/i386.opt (mmpx): New.
* doc/invoke.texi: Add documentation for the flags -mmpx, -mno-mpx.
* doc/rtl.texi Add documentation for BND32mode and BND64mode.

Reverted:
2013-10-24  Ilya Enkovich  <ilya.enkovich@intel.com>
* mode-classes.def (MODE_POINTER_BOUNDS): New.
* tree.def (POINTER_BOUNDS_TYPE): New.
* genmodes.c (complete_mode): Support MODE_POINTER_BOUNDS.
(POINTER_BOUNDS_MODE): New.
(make_pointer_bounds_mode): New.
* machmode.h (POINTER_BOUNDS_MODE_P): New.
* stor-layout.c (int_mode_for_mode): Support MODE_POINTER_BOUNDS.
(layout_type): Support POINTER_BOUNDS_TYPE.
* tree-pretty-print.c (dump_generic_node): Support POINTER_BOUNDS_TYPE.
* tree.c (build_int_cst_wide): Support POINTER_BOUNDS_TYPE.
(type_contains_placeholder_1): Likewise.
* tree.h (POINTER_BOUNDS_TYPE_P): New.
* varasm.c (output_constant): Support POINTER_BOUNDS_TYPE.
* doc/rtl.texi (MODE_POINTER_BOUNDS): New.

From-SVN: r205522

10 years agore PR middle-end/59338 (error: position plus size exceeds size of referenced object...
Richard Biener [Fri, 29 Nov 2013 12:09:12 +0000 (12:09 +0000)]
re PR middle-end/59338 (error: position plus size exceeds size of referenced object in BIT_FIELD_REF)

2013-11-29  Richard Biener  <rguenther@suse.de>

PR middle-end/59338
* tree-cfg.c (verify_expr): Restrict bounds verification of
BIT_FIELD_REF arguments to non-aggregate typed base objects.

* gcc.dg/torture/pr59338.c: New testcase.

From-SVN: r205521

10 years agore PR tree-optimization/59334 (r205486 caused many failures)
Richard Biener [Fri, 29 Nov 2013 10:47:52 +0000 (10:47 +0000)]
re PR tree-optimization/59334 (r205486 caused many failures)

2013-11-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59334
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
in previous commit.

From-SVN: r205515

10 years agore PR lto/59326 (FAIL: gcc.dg/vect/vect-simd-clone-*.c)
Jakub Jelinek [Fri, 29 Nov 2013 10:41:12 +0000 (11:41 +0100)]
re PR lto/59326 (FAIL: gcc.dg/vect/vect-simd-clone-*.c)

PR lto/59326
* omp-low.c (simd_clone_create): Return NULL if for definition
!cgraph_function_with_gimple_body_p (old_node).  Call cgraph_get_body
before calling cgraph_function_versioning.
(expand_simd_clones): Look for "omp declare simd" attribute first.
Don't check targetm.simd_clone.compute_vecsize_and_simdlen here.
Punt if node->global.inlined_to.
(pass_omp_simd_clone::gate): Also enable if in_lto_p && !flag_wpa.
Disable pass if targetm.simd_clone.compute_vecsize_and_simdlen is NULL.
* lto-streamer-out.c (hash_tree): Handle OMP_CLAUSE.
lto/
* lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
testsuite/
* gcc.dg/vect/vect-simd-clone-12.c: New test.
* gcc.dg/vect/vect-simd-clone-12a.c: New test.
* gcc.dg/vect/vect-simd-clone-10a.c: Remove extern keywords.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r205514

10 years agore PR lto/59326 (FAIL: gcc.dg/vect/vect-simd-clone-*.c)
Jakub Jelinek [Fri, 29 Nov 2013 10:36:10 +0000 (11:36 +0100)]
re PR lto/59326 (FAIL: gcc.dg/vect/vect-simd-clone-*.c)

PR lto/59326
* tree-core.h (enum omp_clause_schedule_kind): Add
OMP_CLAUSE_SCHEDULE_LAST.
(enum omp_clause_default_kind): Add OMP_CLAUSE_DEFAULT_LAST.
(enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_LAST.
(enum omp_clause_map_kind): Add OMP_CLAUSE_MAP_LAST.
(enum omp_clause_proc_bind_kind): Add OMP_CLAUSE_PROC_BIND_LAST.
* lto-streamer-out.c (lto_is_streamable): Allow streaming
OMP_CLAUSE.
(DFS_write_tree_body): Handle OMP_CLAUSE.
* tree-streamer-out.c (pack_ts_omp_clause_value_fields): New
function.
(streamer_pack_tree_bitfields): Call it for OMP_CLAUSE.
(write_ts_omp_clause_tree_pointers): New function.
(streamer_write_tree_body): Call it for OMP_CLAUSE.
(streamer_write_tree_header): For OMP_CLAUSE stream OMP_CLAUSE_CODE.
* tree-streamer-in.c (unpack_ts_omp_clause_value_fields): New
function.
(unpack_value_fields): Call it for OMP_CLAUSE.
(streamer_alloc_tree): Handle OMP_CLAUSE.
(lto_input_ts_omp_clause_tree_pointers): New function.
(streamer_read_tree_body): Call it for OMP_CLAUSE.
lto/
* lto.c (mentions_vars_p_omp_clause): New function.
(mentions_vars_p): Call it for OMP_CLAUSE.  Remove break;
after return stmts.

From-SVN: r205512

10 years agore PR c/59280 (ICE with attribute((constructor(invalid))))
Jakub Jelinek [Fri, 29 Nov 2013 07:42:23 +0000 (08:42 +0100)]
re PR c/59280 (ICE with attribute((constructor(invalid))))

PR c/59280
* c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
goto invalid.  If it is error_mark_node, don't issue further
diagnostics.
testsuite/
* c-c++-common/pr59280.c: New test.

From-SVN: r205510

10 years agolp1243022.c: Skip target arm-neon.
Zhenqiang Chen [Fri, 29 Nov 2013 05:39:08 +0000 (05:39 +0000)]
lp1243022.c: Skip target arm-neon.

testsuite/ChangeLog:

2013-11-29  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* gcc.target/arm/lp1243022.c: Skip target arm-neon.

From-SVN: r205509

10 years agore PR c/57574 (-std=c99 inline function incorrectly has external linkage with prior...
Joseph Myers [Fri, 29 Nov 2013 01:30:42 +0000 (01:30 +0000)]
re PR c/57574 (-std=c99 inline function incorrectly has external linkage with prior static declaration)

PR c/57574
c:
* c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
an inline function following a static declaration.

testsuite:
* gcc.dg/inline-35.c: New test.

From-SVN: r205506

10 years agoimplement-c.texi: Document C11 implementation-defined behavior.
Joseph Myers [Fri, 29 Nov 2013 00:39:50 +0000 (00:39 +0000)]
implement-c.texi: Document C11 implementation-defined behavior.

* doc/implement-c.texi: Document C11 implementation-defined
behavior.  Refer to -ffp-contract=fast for contraction behavior.
* doc/invoke.texi (-std=c99, std=c11): Update description of
completeness.
(-std=gnu99): Don't mention as future default.
(-std=gnu11): Mention as intended future default.
* doc/standards.texi: Update descriptions of C99 and C11 support.
Limit statement about C99 facilities for freestanding
implementations to some platforms only.

From-SVN: r205505

10 years agoDaily bump.
GCC Administrator [Fri, 29 Nov 2013 00:17:27 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r205504

10 years agore PR c++/59297 (ICE: openmp atomic with indirect LHS)
Jakub Jelinek [Thu, 28 Nov 2013 22:53:50 +0000 (23:53 +0100)]
re PR c++/59297 (ICE: openmp atomic with indirect LHS)

PR c++/59297
* semantics.c (finish_omp_atomic): Call finish_expr_stmt
rather than add_stmt.

* g++.dg/gomp/pr59297.C: New test.

From-SVN: r205500

10 years agore PR middle-end/59327 (warning in expand_used_vars)
Jakub Jelinek [Thu, 28 Nov 2013 22:52:40 +0000 (23:52 +0100)]
re PR middle-end/59327 (warning in expand_used_vars)

PR middle-end/59327
* cfgexpand.c (expand_used_vars): Avoid warning on 32-bit
HWI hosts.

From-SVN: r205499

10 years agore PR target/57293 (not needed frame pointers on IA-32 (performance regression?))
Vladimir Makarov [Thu, 28 Nov 2013 21:45:21 +0000 (21:45 +0000)]
re PR target/57293 (not needed frame pointers on IA-32 (performance regression?))

2013-11-28  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57293
* ira.h (ira_setup_eliminable_regset): Remove parameter.
* ira.c (ira_setup_eliminable_regset): Ditto.  Add
SUPPORTS_STACK_ALIGNMENT for crtl->stack_realign_needed.
Don't call lra_init_elimination.
(ira): Call ira_setup_eliminable_regset without arguments.
* loop-invariant.c (calculate_loop_reg_pressure): Remove argument
from ira_setup_eliminable_regset call.
* gcse.c (calculate_bb_reg_pressure): Ditto.
* haifa-sched.c (sched_init): Ditto.
* lra.h (lra_init_elimination): Remove the prototype.
* lra-int.h (lra_insn_recog_data): New member sp_offset.  Move
used_insn_alternative upper.
(lra_eliminate_regs_1): Add one more parameter.
(lra-eliminate): Ditto.
* lra.c (lra_invalidate_insn_data): Set sp_offset.
(setup_sp_offset): New.
(lra_process_new_insns): Call setup_sp_offset.
(lra): Add argument to lra_eliminate calls.
* lra-constraints.c (get_equiv_substitution): Rename to get_equiv.
(get_equiv_with_elimination): New.
(process_addr_reg): Call get_equiv_with_elimination instead of
get_equiv_substitution.
(equiv_address_substitution): Ditto.
(loc_equivalence_change_p): Ditto.
(loc_equivalence_callback, lra_constraints): Ditto.
(curr_insn_transform): Ditto.  Print the sp offset
(process_alt_operands): Prevent stack pointer reloads.
(lra_constraints): Remove one argument from lra_eliminate call.
Move it up.  Mark used hard regs bfore it.  Use
get_equiv_with_elimination instead of get_equiv_substitution.
* lra-eliminations.c (lra_eliminate_regs_1): Add parameter and
assert for param values combination.  Use sp offset.  Add argument
to lra_eliminate_regs_1 calls.
(lra_eliminate_regs): Add argument to lra_eliminate_regs_1 call.
(curr_sp_change): New static var.
(mark_not_eliminable): Add parameter.  Update curr_sp_change.
Don't prevent elimination to sp if we can calculate its change.
Pass the argument to mark_not_eliminable calls.
(eliminate_regs_in_insn): Add a parameter.  Use sp offset.  Add
argument to lra_eliminate_regs_1 call.
(update_reg_eliminate): Move calculation of hard regs for spill
lower.  Switch off lra_in_progress temporarily to generate regs
involved into elimination.
(lra_init_elimination): Rename to init_elimination.  Make it
static.  Set up insn sp offset, check the offsets at the end of
BBs.
(process_insn_for_elimination): Add parameter.  Pass its value to
eliminate_regs_in_insn.
(lra_eliminate): : Add parameter.  Pass its value to
process_insn_for_elimination.  Add assert for param values
combination.  Call init_elimination.  Don't update offsets in
equivalence substitutions.
* lra-spills.c (assign_mem_slot): Don't call lra_eliminate_regs_1
for created stack slot.
(remove_pseudos): Call lra_eliminate_regs_1 before changing memory
onto stack slot.

2013-11-28  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57293
* gcc.target/i386/pr57293.c: New.

From-SVN: r205498

10 years agoiterators.md (vrint_conds): New int attribute.
Kyrylo Tkachov [Thu, 28 Nov 2013 16:36:07 +0000 (16:36 +0000)]
iterators.md (vrint_conds): New int attribute.

[gcc/]
2013-11-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/iterators.md (vrint_conds): New int attribute.
* config/arm/vfp.md (<vrint_pattern><SDF:mode>2): Set conds attribute.
(smax<mode>3): Likewise.
(smin<mode>3): Likewise.

[gcc/testsuite/]
2013-11-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gcc.target/arm/vrinta-ce.c: New testcase.

From-SVN: r205492

10 years agodwarf.c (find_address_ranges): New static function, broken out of build_address_map.
Ian Lance Taylor [Thu, 28 Nov 2013 16:19:57 +0000 (16:19 +0000)]
dwarf.c (find_address_ranges): New static function, broken out of build_address_map.

* dwarf.c (find_address_ranges): New static function, broken out
of build_address_map.
(build_address_map): Call it.
* btest.c (check): Check for missing filename or function, rather
than crashing.
(f3): Check that enough frames were returned.

From-SVN: r205490

10 years agotree-core.h (tree_base): Document use of static_flag for SSA_NAME.
Richard Sandiford [Thu, 28 Nov 2013 16:15:52 +0000 (16:15 +0000)]
tree-core.h (tree_base): Document use of static_flag for SSA_NAME.

gcc/
* tree-core.h (tree_base): Document use of static_flag for SSA_NAME.
* tree.h (SSA_NAME_ANTI_RANGE_P, SSA_NAME_RANGE_TYPE): New macros.
* tree-ssanames.h (set_range_info): Add range_type argument.
(duplicate_ssa_name_range_info): Likewise.
* tree-ssanames.c (set_range_info): Take the range type as argument
and store it in SSA_NAME_ANTI_RANGE_P.
(duplicate_ssa_name_range_info): Likewise.
(get_range_info): Use SSA_NAME_ANTI_RANGE_P.
(set_nonzero_bits): Update call to set_range_info.
(duplicate_ssa_name_fn): Update call to duplicate_ssa_name_range_info.
* tree-ssa-copy.c (fini_copy_prop): Likewise.
* tree-vrp.c (remove_range_assertions): Update call to set_range_info.
(vrp_finalize): Likewise, passing anti-ranges directly.

From-SVN: r205489

10 years agosfp-machine.h (__FP_FRAC_ADDI_4): New macro.
Uros Bizjak [Thu, 28 Nov 2013 15:31:23 +0000 (16:31 +0100)]
sfp-machine.h (__FP_FRAC_ADDI_4): New macro.

* config/i386/32/sfp-machine.h (__FP_FRAC_ADDI_4): New macro.

From-SVN: r205488

10 years agore PR debug/59323 (Int. comp. error: in add_AT_specification, at dwarf2out.c:4026)
Richard Biener [Thu, 28 Nov 2013 15:22:55 +0000 (15:22 +0000)]
re PR debug/59323 (Int. comp. error: in add_AT_specification, at dwarf2out.c:4026)

2013-11-28  Richard Biener  <rguenther@suse.de>

PR lto/59323
* gcc.dg/lto/pr59323-2_0.c: New testcase.

From-SVN: r205487

10 years agore PR middle-end/59330 (Crash in is_gimple_reg_type)
Richard Biener [Thu, 28 Nov 2013 14:52:44 +0000 (14:52 +0000)]
re PR middle-end/59330 (Crash in is_gimple_reg_type)

2013-11-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59330
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Simplify
and fix delayed marking of free calls not necessary.

* gcc.dg/torture/pr59330.c: New testcase.

From-SVN: r205486

10 years agotree-ssa-propagate.c (valid_gimple_call_p): Pass TREE_TYPE to is_gimple_reg_type.
Andrew MacLeod [Thu, 28 Nov 2013 14:11:12 +0000 (14:11 +0000)]
tree-ssa-propagate.c (valid_gimple_call_p): Pass TREE_TYPE to is_gimple_reg_type.

2013-11-28  Andrew MacLeod  <amacleod@redhat.com>

* tree-ssa-propagate.c (valid_gimple_call_p): Pass TREE_TYPE to
is_gimple_reg_type.
* ipa-prop.c (determine_known_aggregate_parts): Likewise.

From-SVN: r205485

10 years agoarm.c (v7m_extra_costs): New table.
Terry Guo [Thu, 28 Nov 2013 12:31:51 +0000 (12:31 +0000)]
arm.c (v7m_extra_costs): New table.

2013-11-28  Terry Guo  <terry.guo@arm.com>

* config/arm/arm.c (v7m_extra_costs): New table.
(arm_v7m_tune): Use it.

From-SVN: r205484

10 years agoAdd -lrt on Solaris
Rainer Orth [Thu, 28 Nov 2013 12:27:58 +0000 (12:27 +0000)]
Add -lrt on Solaris

gcc/cp:
* g++spec.c (TIMELIB): Define.
(WITHLIBC, SKIPOPT): Adjust values.
(lang_specific_driver): Add TIME_LIBRARY if not passed explicitly.

gcc:
* config/sol2.h (TIME_LIBRARY): Define.

From-SVN: r205483

10 years agore PR sanitizer/59106 (Failure to link against static libasan)
Jakub Jelinek [Thu, 28 Nov 2013 12:20:23 +0000 (13:20 +0100)]
re PR sanitizer/59106 (Failure to link against static libasan)

2013-11-28  Jakub Jelinek  <jakub@redhat.com>
    Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/59106
* ubsan/Makefile.am (AM_CXXFLAGS): Disable -frtti for files that
don't need it.
* ubsan/Makefile.in: Regenerated.

Co-Authored-By: Yury Gribov <y.gribov@samsung.com>
From-SVN: r205482

10 years agore PR debug/59323 (Int. comp. error: in add_AT_specification, at dwarf2out.c:4026)
Richard Biener [Thu, 28 Nov 2013 12:09:10 +0000 (12:09 +0000)]
re PR debug/59323 (Int. comp. error: in add_AT_specification, at dwarf2out.c:4026)

2013-11-28  Richard Biener  <rguenther@suse.de>

PR lto/59323
* lto-streamer-out.c (tree_is_indexable): TYPE_DECLs and
CONST_DECLs in function context are not indexable.

* gcc.dg/lto/pr59323_0.c: New testcase.

From-SVN: r205481

10 years agolinux-unwind.h (aarch64_fallback_frame_state): Check for correct opcodes on BE.
Matthew Leach [Thu, 28 Nov 2013 10:59:38 +0000 (10:59 +0000)]
linux-unwind.h (aarch64_fallback_frame_state): Check for correct opcodes on BE.

2013-11-26  Matthew Leach  <matthew.leach@arm.com>

* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state): Check
for correct opcodes on BE.

From-SVN: r205479

10 years agonds32.c (nds32_rtx_costs): Adjust MULT cost if it is not optimized for size.
Chung-Ju Wu [Thu, 28 Nov 2013 09:03:25 +0000 (09:03 +0000)]
nds32.c (nds32_rtx_costs): Adjust MULT cost if it is not optimized for size.

* config/nds32/nds32.c (nds32_rtx_costs): Adjust MULT cost if it is
not optimized for size.

From-SVN: r205478

10 years agocfgexpand.c (struct stack_vars_data): Add asan_base and asan_alignb fields.
Jakub Jelinek [Thu, 28 Nov 2013 08:18:59 +0000 (09:18 +0100)]
cfgexpand.c (struct stack_vars_data): Add asan_base and asan_alignb fields.

* cfgexpand.c (struct stack_vars_data): Add asan_base and asan_alignb
fields.
(expand_stack_vars): For -fsanitize=address, use (and set initially)
data->asan_base as base for vars and update asan_alignb.
(expand_used_vars): Initialize data.asan_base and data.asan_alignb.
Pass them to asan_emit_stack_protection.
* asan.c (asan_detect_stack_use_after_return): New variable.
(asan_emit_stack_protection): Add pbase and alignb arguments.
Implement use after return sanitization.
* asan.h (asan_emit_stack_protection): Adjust prototype.
(ASAN_STACK_MAGIC_USE_AFTER_RET, ASAN_STACK_RETIRED_MAGIC): Define.

From-SVN: r205476

10 years agocommon.opt: Introduced a new option -fsimd-cost-model.
Sergey Ostanevich [Thu, 28 Nov 2013 07:54:58 +0000 (07:54 +0000)]
common.opt: Introduced a new option -fsimd-cost-model.

gcc/
* common.opt: Introduced a new option -fsimd-cost-model.
* doc/invoke.texi: Introduced a new openmp-simd warning and
a new -fsimd-cost-model option.
* tree-vectorizer.h (unlimited_cost_model): Interface updated
to rely on the particular loop info.
* tree-vect-data-refs.c (vect_peeling_hash_insert): Ditto.
(vect_peeling_hash_choose_best_peeling): Ditto.
(vect_enhance_data_refs_alignment): Ditto.
* tree-vect-slp.c (vect_slp_analyze_bb_1): Ditto.
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Ditto
plus added openmp-simd warining.

gcc/c-family/
* c.opt (Wopenmp-simd): New.

gcc/fortran/
* lang.opt (Wopenmp-simd): New.

From-SVN: r205475

10 years agoDaily bump.
GCC Administrator [Thu, 28 Nov 2013 00:16:30 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r205471

10 years agoAlso handle REG_XXX notes in spill_pseudos
H.J. Lu [Wed, 27 Nov 2013 23:54:26 +0000 (23:54 +0000)]
Also handle REG_XXX notes in spill_pseudos

PR rtl-optimization/59311
* dwarf2cfi.c (dwf_regno): Assert reg isn't pseudo register.
* lra-spills.c (spill_pseudos): Handle REG_XXX notes.

From-SVN: r205468

10 years agore PR c/59310 (FAIL: gcc.dg/gomp/openmp-simd-1.c (test for excess errors))
Jakub Jelinek [Wed, 27 Nov 2013 23:42:48 +0000 (00:42 +0100)]
re PR c/59310 (FAIL: gcc.dg/gomp/openmp-simd-1.c (test for excess errors))

PR c/59310
* c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
to p_name before calling c_parser_omp_teams instead of after.
(c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
argument.  Remove unused p_name variable.

* parser.c (cp_parser_omp_target): Call keep_next_level only
if flag_openmp.

From-SVN: r205467

10 years agore PR middle-end/57393 (error: definition in block 4 follows the use / internal compi...
Jakub Jelinek [Wed, 27 Nov 2013 23:41:56 +0000 (00:41 +0100)]
re PR middle-end/57393 (error: definition in block 4 follows the use / internal compiler error: verify_ssa failed)

PR middle-end/57393
PR tree-optimization/58018
PR tree-optimization/58131
* gcc.dg/torture/pr57393-1.c: New test.
* gcc.dg/torture/pr57393-2.c: New test.
* gcc.dg/torture/pr57393-3.c: New test.
* gcc.dg/torture/pr58018.c: New test.
* gcc.dg/torture/pr58131.c: New test.
* gfortran.dg/pr57393-1.f90: New test.
* gfortran.dg/pr57393-2.f90: New test.

From-SVN: r205466

10 years agonan_7.f90: Disable for little endian PowerPC.
Bill Schmidt [Wed, 27 Nov 2013 23:36:22 +0000 (23:36 +0000)]
nan_7.f90: Disable for little endian PowerPC.

2013-11-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gfortran.dg/nan_7.f90: Disable for little endian PowerPC.

From-SVN: r205464

10 years agoop-4.h: Update from glibc.
Uros Bizjak [Wed, 27 Nov 2013 21:57:52 +0000 (22:57 +0100)]
op-4.h: Update from glibc.

* soft-fp/op-4.h: Update from glibc.

From-SVN: r205462

10 years agovar-tracking.c (track_expr_p): Do not track declarations for parts of tracked parameters.
Eric Botcazou [Wed, 27 Nov 2013 21:16:21 +0000 (21:16 +0000)]
var-tracking.c (track_expr_p): Do not track declarations for parts of tracked parameters.

* var-tracking.c (track_expr_p): Do not track declarations for parts
of tracked parameters.
(add_stores): Do not track values for tracked parameters passed in
multiple locations.
(vt_get_decl_and_offset): Handle PARALLEL.
(vt_add_function_parameter): Handle parameters with incoming PARALLEL.

From-SVN: r205461

10 years agotree-ssa-threadupdate.c (thread_through_all_blocks): Do not clobber the loop structur...
Jeff Law [Wed, 27 Nov 2013 18:47:43 +0000 (11:47 -0700)]
tree-ssa-threadupdate.c (thread_through_all_blocks): Do not clobber the loop structure thread_block was unsuccessful.

* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
clobber the loop structure thread_block was unsuccessful.  If
thread_block was unsuccessful, cleanup appropriately.

From-SVN: r205459

10 years agore PR target/56788 (_mm_frcz_sd and _mm_frcz_ss ignore their second argument)
Uros Bizjak [Wed, 27 Nov 2013 18:07:22 +0000 (19:07 +0100)]
re PR target/56788 (_mm_frcz_sd and _mm_frcz_ss ignore their second argument)

PR target/56788
* gcc.target/i386/xop-frczX.c: New test.

Co-Authored-By: Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
From-SVN: r205458

10 years agore PR tree-optimization/59014 (wrong code at -Os and above on x86_64-linux-gnu)
Jakub Jelinek [Wed, 27 Nov 2013 17:03:27 +0000 (18:03 +0100)]
re PR tree-optimization/59014 (wrong code at -Os and above on x86_64-linux-gnu)

PR tree-optimization/59014
* gcc.c-torture/execute/pr59014-2.c: New test.

From-SVN: r205454

10 years ago* config/score/score.h (REG_CLASS_FROM_LETTER): Delete.
Chen Liqin [Wed, 27 Nov 2013 16:49:21 +0000 (16:49 +0000)]
* config/score/score.h (REG_CLASS_FROM_LETTER): Delete.

From-SVN: r205453

10 years ago2013-11-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
Bernd Edlinger [Wed, 27 Nov 2013 16:33:01 +0000 (16:33 +0000)]
2013-11-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

reverted r205398 on request: Remove parameter keep_aligning from
get_inner_reference.

From-SVN: r205452

10 years agore PR rtl-optimization/57410 (ICE: in emit_spill_move, at lra-constraints.c:863 with...
Vladimir Makarov [Wed, 27 Nov 2013 16:30:48 +0000 (16:30 +0000)]
re PR rtl-optimization/57410 (ICE: in emit_spill_move, at lra-constraints.c:863 with -fpeel-loops and uninitialised variable)

2013-11-27  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/57410
* gcc.target/i386/pr57410.c: New.

From-SVN: r205451

10 years agoFix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9
Rainer Orth [Wed, 27 Nov 2013 16:15:35 +0000 (16:15 +0000)]
Fix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9

* testsuite/ext/random/hypergeometric_distribution/operators/values.cc:
Use dg-require-cmath instead.

From-SVN: r205450

10 years agore PR c++/58647 (ICE with function pointer)
Paolo Carlini [Wed, 27 Nov 2013 15:55:18 +0000 (15:55 +0000)]
re PR c++/58647 (ICE with function pointer)

/cp
2013-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58647
* semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
Handle function COMPONENT_REFs.

/testsuite
2013-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58647
* g++.dg/parse/crash66.C: New.

From-SVN: r205449

10 years agoc90-const-expr-8.c: Look for overflow on INT_MIN % -1.
Kenneth Zadeck [Wed, 27 Nov 2013 15:42:02 +0000 (15:42 +0000)]
c90-const-expr-8.c: Look for overflow on INT_MIN % -1.

2013-11-27  Kenneth Zadeck  <zadeck@naturalbridge.com>

* gcc.dg/c90-const-expr-8.c: Look for overflow on INT_MIN % -1.
* gcc.dg/c99-const-expr-8.c: Look for overflow on INT_MIN % -1.

2013-11-27  Kenneth Zadeck  <zadeck@naturalbridge.com>

* fold-const.c
(int_const_binop_1): Make INT_MIN % -1 return 0 with the overflow
bit set.

From-SVN: r205448

10 years agore PR middle-end/58723 (ICE in lto_output_edge, at lto-cgraph.c:300 for OpenMP's...
Richard Biener [Wed, 27 Nov 2013 15:18:23 +0000 (15:18 +0000)]
re PR middle-end/58723 (ICE in lto_output_edge, at lto-cgraph.c:300 for OpenMP's simd reduction)

2013-11-27  Richard Biener  <rguenther@suse.de>

PR middle-end/58723
* cgraphbuild.c (build_cgraph_edges): Do not build edges
for internal calls.
(rebuild_cgraph_edges): Likewise.
* ipa-inline-analysis.c (estimate_function_body_sizes):
Skip internal calls.
* tree-inline.c (estimate_num_insns): Estimate size of internal
calls as 0.
(gimple_expand_calls_inline): Do not try inline-expanding
internal calls.
* lto-streamer-in.c (input_cfg): Stream loop safelen,
force_vect and simduid.
(input_struct_function_base): Stream has_force_vect_loops
and has_simduid_loops.
(input_function): Adjust.
* lto-streamer-out.c (output_cfg): Stream loop safelen,
force_vect and simduid.
(output_struct_function_base): Stream has_force_vect_loops
and has_simduid_loops.

From-SVN: r205447

10 years agoFix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9
Rainer Orth [Wed, 27 Nov 2013 15:15:23 +0000 (15:15 +0000)]
Fix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9

* testsuite/ext/random/hypergeometric_distribution/operators/values.cc
(test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1.

From-SVN: r205446

10 years agowinnt.c (i386_pe_section_type_flags): Use const pointer cast.
Kai Tietz [Wed, 27 Nov 2013 13:25:51 +0000 (14:25 +0100)]
winnt.c (i386_pe_section_type_flags): Use const pointer cast.

* config/i386/winnt.c (i386_pe_section_type_flags): Use const
pointer cast.

From-SVN: r205445

10 years agotm.texi.in (TARGET_HAS_NO_HW_DIVIDE): Define.
Kugan Vivekanandarajah [Wed, 27 Nov 2013 12:17:05 +0000 (12:17 +0000)]
tm.texi.in (TARGET_HAS_NO_HW_DIVIDE): Define.

2013-11-27  Kugan Vivekanandarajah  <kuganv@linaro.org>

gcc/
* doc/tm.texi.in (TARGET_HAS_NO_HW_DIVIDE): Define.
* doc/tm.texi (TARGET_HAS_NO_HW_DIVIDE): Regenerate.

libgcc/
* libgcc2.c (__udivmoddi4): Define new implementation when
TARGET_HAS_NO_HW_DIVIDE is defined, for processors without any
divide instructions.

From-SVN: r205444

10 years agore PR sanitizer/59306 (ICE with -fsanitize=null: gimple check: expected gimple_call...
Marek Polacek [Wed, 27 Nov 2013 11:40:22 +0000 (11:40 +0000)]
re PR sanitizer/59306 (ICE with -fsanitize=null: gimple check: expected gimple_call(error_mark), have gimple_assign(addr_expr) in gimple_call_arg)

PR sanitizer/59306
* ubsan.c (instrument_null): Use gimple_store_p/gimple_assign_load_p
instead of walk_gimple_op.
(ubsan_pass): Adjust.  Call instrument_null only if SANITIZE_NULL.
testsuite/
* g++.dg/ubsan/pr59306.C: New test.

From-SVN: r205443