1. 28 Mar, 2017 8 commits
    • [ARC] Define _REENTRANT when -pthread is passed. · 0dee55fe
      The compiler is supposed to have the builtin defined _REENTRANT defined
      when -pthread is passed, which wasn't done on the ARC architecture.
      
      When _REENTRANT is not passed, the C library will not use reentrant
      functions, and the latest version of ax_pthread.m4 from the
      autoconf-archive will no longer detect that thread support is
      available (see https://savannah.gnu.org/patch/?8186).
      
      gcc/
      2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
      	    Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      
      	* config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec.
      	(EXTRA_SPECS): Define.
      	(SUBTARGET_EXTRA_SPECS): Likewise.
      	(SUBTARGET_CPP_SPEC): Likewise.
      	* config/arc/elf.h (EXTRA_SPECS): Renamed to
      	SUBTARGET_EXTRA_SPECS.
      	* config/arc/linux.h (SUBTARGET_CPP_SPEC): Define.
      
      Co-Authored-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      
      From-SVN: r246524
      Claudiu Zissulescu committed
    • [ARC] Update ARC SIMD patterns. · d1ab0a32
      vec_select expects in selection a list of subparts. The old ARC SIMD
      extension instructions were not up-to-date.
      
      gcc/
      2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/simdext.md (vst64_insn): Update pattern.
      	(vld32wh_insn): Likewise.
      	(vld32wl_insn): Likewise.
      	(vld64_insn): Likewise.
      	(vld32_insn): Likewise.
      
      From-SVN: r246523
      Claudiu Zissulescu committed
    • re PR sanitizer/80067 (ICE in fold_comparison with -fsanitize=undefined) · 72785f26
      	PR sanitizer/80067
      	* fold-const.c (fold_comparison): Use protected_set_expr_location
      	instead of SET_EXPR_LOCATION.
      
      	* c-c++-common/ubsan/shift-10.c: New test.
      
      From-SVN: r246521
      Marek Polacek committed
    • PR libstdc++/80229 restore support for shared_ptr<function type> · b1bd9158
      	PR libstdc++/80229
      	* include/bits/shared_ptr_base.h
      	(__shared_ptr::_M_enable_shared_from_this_with): Change parameters to
      	non-const and then use remove_cv to get unqualified type.
      	* testsuite/20_util/enable_shared_from_this/members/const.cc: Don't
      	cast away constness on object created const.
      	* testsuite/20_util/shared_ptr/cons/80229.cc: New test.
      
      From-SVN: r246520
      Jonathan Wakely committed
    • Avoid name lookup warning · a292245e
      /home/markus/gcc/gcc/tree.c: In function ‘void inchash::add_expr(const_tree, inchash::hash&, unsigned int)’:
      /home/markus/gcc/gcc/tree.c:8013:11: warning: name lookup of ‘i’ changed
            for (i = TREE_OPERAND_LENGTH (t) - 1; i >= 0; --i)
                 ^
      /home/markus/gcc/gcc/tree.c:7773:7: warning:   matches this ‘i’ under ISO standard rules
         int i;
             ^
      /home/markus/gcc/gcc/tree.c:7869:16: warning:   matches this ‘i’ under old rules
             for (int i = 0; i < TREE_VEC_LENGTH (t); ++i)
                      ^
      
      From-SVN: r246519
      Markus Trippelsdorf committed
    • Fix PR# in last commit · 4dbf1eee
      From-SVN: r246518
      Jeff Law committed
    • re PR target/80162 (ICE on invalid code (address of register variable)) · 86516987
              PR tree-optimization/80162
      	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in
      	function name.  Limit recursion depth.
      	(record_temporary_equivalences): Corresponding changes.
      
      	PR tree-optimization/80162
      	* gcc.c-torture/compile/pr80216.c: New test.
      
      From-SVN: r246517
      Jeff Law committed
    • Daily bump. · 98099983
      From-SVN: r246516
      GCC Administrator committed
  2. 27 Mar, 2017 20 commits
    • Restructure -Wno-narrowing documentation · 7810f87a
      	* doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
      	covered first.
      
      From-SVN: r246513
      Jonathan Wakely committed
    • re PR target/80162 (ICE on invalid code (address of register variable)) · a9e4a1a5
      	PR middle-end/80162
      c-family/
      	* c-common.c (c_common_mark_addressable_vec): Don't set
      	TREE_ADDRESSABLE on DECL_HARD_REGISTER.
      c/
      	* c-tree.h (c_mark_addressable): Add array_ref_p argument.
      	* c-typeck.c (c_mark_addressable): Likewise.  Look through
      	VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
      	to ARRAY_TYPE.
      	(build_array_ref): Pass true as array_ref_p to c_mark_addressable.
      cp/
      	* cp-tree.h (cxx_mark_addressable): Add array_ref_p argument.
      	* typeck.c (cxx_mark_addressable): Likewise.  Look through
      	VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
      	to ARRAY_TYPE.
      	(cp_build_array_ref): Pass true as array_ref_p to cxx_mark_addressable.
      testsuite/
      	* c-c++-common/pr80162-1.c: New test.
      	* c-c++-common/pr80162-2.c: New test.
      	* c-c++-common/pr80162-3.c: New test.
      
      From-SVN: r246512
      Jakub Jelinek committed
    • re PR target/80102 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2330) · aade772d
      	PR target/80102
      	* reg-notes.def (REG_CFA_NOTE): Define.  Use it for CFA related
      	notes.
      	* cfgcleanup.c (reg_note_cfa_p): New array.
      	(insns_have_identical_cfa_notes): New function.
      	(old_insns_match_p): Don't cross-jump in between /f
      	and non-/f instructions.  If both i1 and i2 are frame related,
      	verify all CFA notes, their order and content.
      
      	* g++.dg/opt/pr80102.C: New test.
      
      From-SVN: r246511
      Jakub Jelinek committed
    • * de.po, fr.po: Update. · e298b56a
      From-SVN: r246510
      Joseph Myers committed
    • re PR target/78543 (ICE in push_reload, at reload.c:1349 on powerpc64le-linux-gnu) · d89f355e
      [gcc]
      2017-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78543
      	* config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap
      	HImode and SImode with zero extend to DImode to one insn.
      	(bswap<mode>2_extenddi): Likewise.
      	(bswapsi2_extenddi): Likewise.
      	(bswaphi2_extendsi): Likewise.
      	(bswaphi2): Combine bswap HImode and SImode into one insn.
      	Separate memory insns from swapping register.
      	(bswapsi2): Likewise.
      	(bswap<mode>2): Likewise.
      	(bswaphi2_internal): Delete, no longer used.
      	(bswapsi2_internal): Likewise.
      	(bswap<mode>2_load): Split bswap HImode/SImode into separate load,
      	store, and gpr<-gpr swap insns.
      	(bswap<mode>2_store): Likewise.
      	(bswaphi2_reg): Register only splitter, combine with the splitter.
      	(bswaphi2 splitter): Likewise.
      	(bswapsi2_reg): Likewise.
      	(bswapsi2 splitter): Likewise.
      	(bswapdi2): If we have the LDBRX and STDBRX instructions, split
      	the insns into load, store, and register/register insns.
      	(bswapdi2_ldbrx): Likewise.
      	(bswapdi2_load): Likewise.
      	(bswapdi2_store): Likewise.
      	(bswapdi2_reg): Likewise.
      
      [gcc/testsuite]
      2017-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78543
      	* gcc.target/powerpc/pr78543.c: New test.
      
      From-SVN: r246508
      Michael Meissner committed
    • list_read.c: Insert /* Fall through. · b6749273
      2017-03-27  Dominique d'Humieres  <dominiq@lps.ens.fr>
      
      	* io/list_read.c: Insert /* Fall through. */ in the macro
      	CASE_SEPARATORS in order to silence warnings.
      
      From-SVN: r246507
      Dominique d'Humieres committed
    • system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case. · 34c66326
      	* system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case.
      	(HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise.
      
      From-SVN: r246506
      Gunther Nikl committed
    • re PR target/80103 (ICE in output_1144, at config/rs6000/vsx.md:2298) · 79c4d73b
      gcc/testsuite/ChangeLog:
      
      2017-03-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/80103
      	* gcc.target/powerpc/pr80103-1.c: New test.
      
      gcc/ChangeLog:
      
      2017-03-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/80103
      	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and
      	add comments.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
      	special handling for target option conflicts between dform
      	options (-mpower9-dform, -mpower9-dform-vector,
      	-mpower9-dform-scalar) and -mno-direct-move.
      
      From-SVN: r246505
      Kelvin Nilsen committed
    • cplus_demangle_fill_component: Handle DEMANGLE_COMPONENT_RVALUE_REFERENCE · 7a312bbd
      This patch almost a decade ago:
      
      ...
          2007-08-31  Douglas Gregor  <doug.gregor@gmail.com>
      
              * cp-demangle.c (d_dump): Handle
              DEMANGLE_COMPONENT_RVALUE_REFERENCE.
              (d_make_comp): Ditto.
      ...
      
      ... missed doing the same change to cplus_demangle_fill_component that
      was done to d_make_comp.  I.e., teach it to only validate that we're
      not passing in a "right" subtree.  GDB has recently (finally) learned
      about rvalue references, and a change to make it use
      cplus_demangle_fill_component more ran into an assertion because of
      this.
      
      (GDB is the only user of cplus_demangle_fill_component in both the gcc
      and binutils-gdb trees.)
      
      libiberty/ChangeLog:
      2017-03-27  Pedro Alves  <palves@redhat.com>
      
      	* cp-demint.c (cplus_demangle_fill_component): Handle
      	DEMANGLE_COMPONENT_RVALUE_REFERENCE.
      
      From-SVN: r246502
      Pedro Alves committed
    • re PR tree-optimization/80181 (ICE in set_lattice_value, at tree-ssa-ccp.c:505) · 819df781
      2017-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80181
      	* tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
      
      	* gcc.dg/torture/pr80181.c: New testcase.
      
      From-SVN: r246500
      Richard Biener committed
    • [ARC] Fix move_double_src_operand predicate. · e5dcff3e
      Durring compilation process, (subreg (mem ...) ...) can occur. Hence,
      we need to check if the address of mem is a valid one. This patch is
      fixing this check by directly calling the address_operand, instead of
      calling move_double_src_operand, as the latter is always checking
      against the original mode, thus, returning false when the inner and
      outer modes are different.
      
      gcc/
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/predicates.md (move_double_src_operand): Replace the
      	call to move_double_src_operand with a call to address_operand.
      
      From-SVN: r246499
      Claudiu Zissulescu committed
    • [ARC] Fix divdf3 emulation for arcem. · c4192ad7
      libgcc/
      2017-02-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/ieee-754/divdf3.S (__divdf3): Use __ARCEM__.
      
      From-SVN: r246498
      Claudiu Zissulescu committed
    • [ARC] Disable TP register when building for bare metal. · 81b98ef7
      gcc/
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define.
      	* config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise.
      	* config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT.
      
      From-SVN: r246497
      Claudiu Zissulescu committed
    • [ARC] Fix detection of long immediate for load/store operands. · ac255185
      ARC can use scaled offsets when loading (i.e. ld.as rA,[base,
      offset]).  Where base and offset can be a register or an immediate
      operand.  The scaling only applies on the offset part of the
      instruction.  The compiler can accept an address like this:
      
      (plus:SI (mult:SI (reg:SI 2 r2 [orig:596 _2129 ] [596])
      	          (const_int 4 [0x4]))
      	 (const_int 60 [0x3c]))
      
      Hence, to emit this instruction we place the (const_int 60) into base
      and the register into offset to take advantage of the scaled offset
      facility of the load instruction.  As a result the length of the load
      instruction is 8 bytes.  However, the long_immediate_loadstore_operand
      predicate used for calculating the length attribute doesn't recognize
      this address and returns a wrong decision leading to a wrong length
      computation for a load instruction using the above address.
      
      gcc/
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/predicates.md (long_immediate_loadstore_operand):
      	Consider scaled addresses cases.
      
      From-SVN: r246496
      Claudiu Zissulescu committed
    • [ARC] Save/restore blink when in ISR. · 84804c5b
      gcc/
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_epilogue_uses): BLINK should be also
      	restored when in interrupt.
      	* config/arc/arc.md (simple_return): ARCv2 rtie instruction
      	doesn't have delay slot.
      
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* testsuite/gcc.target/arc/interrupt-4.c: New file.
      
      From-SVN: r246495
      Claudiu Zissulescu committed
    • re PR ipa/79776 (ICE on valid code in insert_vi_for_tree, at tree-ssa-structalias.c:2807) · c5e5f5f6
      2017-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/79776
      	* tree-ssa-structalias.c (associate_varinfo_to_alias): Skip
      	inlined thunk clones.
      
      	* g++.dg/ipa/pr79776.C: New testcase.
      
      From-SVN: r246494
      Richard Biener committed
    • re PR sanitizer/80168 (ICE in make_decl_rtl, at varasm.c:1311 w/ VLA and -fsanitize=address) · 7cd200f6
      	PR sanitizer/80168
      	* asan.c (instrument_derefs): Copy over last operand from
      	original COMPONENT_REF to the new COMPONENT_REF with
      	DECL_BIT_FIELD_REPRESENTATIVE.
      	* ubsan.c (instrument_object_size): Likewise.
      
      	* gcc.dg/asan/pr80168.c: New test.
      
      From-SVN: r246492
      Jakub Jelinek committed
    • re PR tree-optimization/80170 (SLP vectorization creates aligned access) · 79f512ff
      2017-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80170
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make
      	sure DR/SCEV didnt fold in constants we do not see when looking
      	at the reference base alignment.
      
      	* gcc.dg/pr80170.c: New testcase.
      
      From-SVN: r246491
      Richard Biener committed
    • re PR tree-optimization/80171 (ICE (Segmentation fault) with optimization) · 672d9f8e
      2017-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/80171
      	* gimple-fold.c (fold_ctor_reference): Properly guard against
      	NULL return value from canonicalize_constructor_val.
      
      	* g++.dg/torture/pr80171.C: New testcase.
      
      From-SVN: r246490
      Richard Biener committed
    • Daily bump. · fbede6f9
      From-SVN: r246489
      GCC Administrator committed
  3. 26 Mar, 2017 4 commits
  4. 25 Mar, 2017 6 commits
    • re PR fortran/78881 ([F03] reading from string with DTIO procedure does not work properly) · 1f10d710
      2017-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/78881
      	* io/io.h (st_parameter_dt): Rename unused component last_char to
      	child_saved_iostat. Move comment to gfc_unit.
      	* io/list_read.c (list_formatted_read_scalar): After call to
      	child READ procedure, save the returned iostat value for later
      	check. (finish_list_read): Only finish READ if child_saved_iostat
      	was OK.
      	* io/transfer.c (read_sf_internal): If there is a saved character
      	in last character, seek back one. Add a new check for EOR
      	condition. (read_sf): If there is a saved character
      	in last character, seek back one. (formatted_transfer_scalar_read):
      	Initialize last character before invoking child procedure.
      	(data_transfer_init): If child dtio, set advance
      	status to nonadvancing. Move update of size and check for EOR
      	condition to before child dtio return.
      
      	* gfortran.dg/dtio_26.f90: New test.
      
      From-SVN: r246478
      Jerry DeLisle committed
    • re PR fortran/80156 (Generic DTIO interface reported missing if public statement… · 41036686
      re PR fortran/80156 (Generic DTIO interface reported missing if public statement preceeds the interface block)
      
      2017-03-25  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/80156
      	PR fortran/79382
      	* decl.c (access_attr_decl): Remove the error for an absent
      	generic DTIO interface and ensure that symbol has the flavor
      	FL_PROCEDURE.
      
      2017-03-25  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/80156
      	PR fortran/79382
      	* gfortran.dg/dtio_23.f90 : Remove the dg-error and add the
      	testcase for PR80156. Add a main programme that tests that
      	the typebound generic is accessible.
      
      From-SVN: r246476
      Paul Thomas committed
    • re PR target/80180 (Incorrect codegen from rdseed intrinsic use (CVE-2017-11671)) · 59ba4493
      	PR target/80180
      	* config/i386/i386.c (ix86_expand_builtin)
      	<IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
      	flags reg setting and flags reg using instructions.
      	<IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto.  Use non-flags reg
      	clobbering instructions to zero extend op2.
      
      From-SVN: r246475
      Uros Bizjak committed
    • install.texi (Configuration): Update link to AIX ld. · 7d437dc1
      	* doc/install.texi (Configuration) <--with-aix-soname>:
      	Update link to AIX ld.
      
      From-SVN: r246474
      Gerald Pfeifer committed
    • re PR target/80160 (operand has impossible constraints) · 5da906ca
      	PR rtl-optimization/80160
      	PR rtl-optimization/80159
      	* lra-assigns.c (must_not_spill_p): Tighten new test to also take
      	reg_alternate_class into account.
      
      	* gcc.target/i386/pr80160.c: New test.
      
      From-SVN: r246473
      Bernd Schmidt committed
    • Daily bump. · 199855f6
      From-SVN: r246472
      GCC Administrator committed
  5. 24 Mar, 2017 2 commits