1. 21 Nov, 2018 13 commits
    • re PR bootstrap/88133 (Build fails with host GCC < 4.3) · 566422e0
      2018-11-21  Richard Biener  <rguenther@suse.de>
      
      	PR bootstrap/88133
      	* bitmap.c (bitmap_last_set_bit): Refactor to avoid warning.
      	* Makefile.in (bitmap.o-warn): Remove again.
      
      From-SVN: r266344
      Richard Biener committed
    • re PR tree-optimization/88069 (ICE in check_loop_closed_ssa_def, at tree-ssa-loop-manip.c:709) · 0f9657f3
      2018-11-20  Jeff Law  <law@redhat.com>
      
      	PR tree-optimization/88069
      	* tree-ssa-dom.c (record_equivalences_from_phis): Propagate away
      	degenerate virtual PHIs.
      
      From-SVN: r266343
      Jeff Law committed
    • x86: Add pmovzx/pmovsx patterns with memory operands · ff8e1022
      Many x86 pmovzx/pmovsx instructions with memory operands are modeled in
      a wrong way.  For example:
      
      (define_insn "sse4_1_<code>v8qiv8hi2<mask_name>"
        [(set (match_operand:V8HI 0 "register_operand" "=Yr,*x,v")
          (any_extend:V8HI
            (vec_select:V8QI
              (match_operand:V16QI 1 "nonimmediate_operand" "Yrm,*xm,vm")
              (parallel [(const_int 0) (const_int 1)
                     (const_int 2) (const_int 3)
                     (const_int 4) (const_int 5)
                     (const_int 6) (const_int 7)]))))]
      
      should be defind for memory operands as:
      
      (define_insn "sse4_1_<code>v8qiv8hi2<mask_name>"
        [(set (match_operand:V8HI 0 "register_operand" "=Yr,*x,v")
          (any_extend:V8HI
            (match_operand:V8QI "memory_operand" "m,m,m")))]
      
      This patch updates them to
      
      (define_insn "sse4_1_<code>v8qiv8hi2<mask_name>"
        [(set (match_operand:V8HI 0 "register_operand" "=Yr,*x,v")
      	(any_extend:V8HI
      	  (vec_select:V8QI
      	    (match_operand:V16QI 1 "register_operand" "Yr,*x,v")
      	    (parallel [(const_int 0) (const_int 1)
      		       (const_int 2) (const_int 3)
      		       (const_int 4) (const_int 5)
      		       (const_int 6) (const_int 7)]))))]
      
      (define_insn "*sse4_1_<code>v8qiv8hi2<mask_name>_1"
        [(set (match_operand:V8HI 0 "register_operand" "=Yr,*x,v")
      	(any_extend:V8HI
      	  (match_operand:V8QI "subreg_memory_operand" "m,m,m")))]
      
      with a splitter:
      
      (define_insn_and_split "*sse4_1_<code>v8qiv8hi2<mask_name>_2"
        [(set (match_operand:V8HI 0 "register_operand")
              (any_extend:V8HI
                (vec_select:V8QI
                  (subreg:V16QI
                    (vec_concat:V2DI
                      (match_operand:DI 1 "memory_operand")
                      (const_int 0)) 0)
                  (parallel [(const_int 0) (const_int 1)
                             (const_int 2) (const_int 3)
                             (const_int 4) (const_int 5)
                             (const_int 6) (const_int 7)]))))]
        "TARGET_SSE4_1
         && <mask_avx512bw_condition>
         && <mask_avx512vl_condition>
        "&& can_create_pseudo_p ()"
        "#"
        "&& 1"
        [(set (match_dup 0)
              (any_extend:V8HI (match_dup 1)))]
        "operands[1] = adjust_address_nv (operands[1], V8QImode, 0);")
      
      This patch requires updating apply_subst_iterator to handle
      define_insn_and_split.
      
      gcc/
      
      	PR target/87317
      	* config/i386/sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Replace
      	nonimmediate_operand with register_operand.
      	(avx2_<code>v8qiv8si2<mask_name>): Likewise.
      	(sse4_1_<code>v4qiv4si2<mask_name>): Likewise.
      	(sse4_1_<code>v4hiv4si2<mask_name>): Likewise.
      	(sse4_1_<code>v2qiv2di2<mask_name>): Likewise.
      	(avx512f_<code>v8qiv8di2<mask_name>): Likewise.
      	(avx2_<code>v4qiv4di2<mask_name>): Likewise.
      	(avx2_<code>v4hiv4di2<mask_name>): Likewise.
      	(sse4_1_<code>v2hiv2di2<mask_name>): Likewise.
      	(sse4_1_<code>v2siv2di2<mask_name>): Likewise.
      	(*sse4_1_<code>v8qiv8hi2<mask_name>_1): New pattern.
      	(*sse4_1_<code>v8qiv8hi2<mask_name>_2): Likewise.
      	(*avx2_<code>v8qiv8si2<mask_name>_1): Likewise.
      	(*avx2_<code>v8qiv8si2<mask_name>_2): Likewise.
      	(*sse4_1_<code>v4qiv4si2<mask_name>_1): Likewise.
      	(*sse4_1_<code>v4qiv4si2<mask_name>_2): Likewise.
      	(*sse4_1_<code>v4hiv4si2<mask_name>_1): Likewise.
      	(*sse4_1_<code>v4hiv4si2<mask_name>_2): Likewise.
      	(*avx512f_<code>v8qiv8di2<mask_name>_1): Likewise.
      	(*avx512f_<code>v8qiv8di2<mask_name>_2): Likewise.
      	(*avx2_<code>v4qiv4di2<mask_name>_1): Likewise.
      	(*avx2_<code>v4qiv4di2<mask_name>_2): Likewise.
      	(*avx2_<code>v4hiv4di2<mask_name>_1): Likewise.
      	(*avx2_<code>v4hiv4di2<mask_name>_2): Likewise.
      	(*sse4_1_<code>v2hiv2di2<mask_name>_1): Likewise.
      	(*sse4_1_<code>v2hiv2di2<mask_name>_2): Likewise.
      	(*sse4_1_<code>v2siv2di2<mask_name>_1): Likewise.
      	(*sse4_1_<code>v2siv2di2<mask_name>_2): Likewise.
      
      gcc/testsuite/
      
      	PR target/87317
      	* gcc.target/i386/pr87317-1.c: New file.
      	* gcc.target/i386/pr87317-2.c: Likewise.
      	* gcc.target/i386/pr87317-3.c: Likewise.
      	* gcc.target/i386/pr87317-4.c: Likewise.
      	* gcc.target/i386/pr87317-5.c: Likewise.
      	* gcc.target/i386/pr87317-6.c: Likewise.
      	* gcc.target/i386/pr87317-7.c: Likewise.
      	* gcc.target/i386/pr87317-8.c: Likewise.
      	* gcc.target/i386/pr87317-9.c: Likewise.
      	* gcc.target/i386/pr87317-10.c: Likewise.
      	* gcc.target/i386/pr87317-11.c: Likewise.
      	* gcc.target/i386/pr87317-12.c: Likewise.
      	* gcc.target/i386/pr87317-13.c: Likewise.
      
      From-SVN: r266342
      H.J. Lu committed
    • apply_subst_iterator: Handle define_split/define_insn_and_split · 12404d15
      	* read-rtl.c (apply_subst_iterator): Handle define_split and
      	define_insn_and_split.
      
      From-SVN: r266341
      H.J. Lu committed
    • re PR rtl-optimization/87817 (gcc.target/i386/bmi2-bzhi-2.c execution test) · f259abd2
      	PR rtl-optimization/87817
      	* config/i386/i386.md (bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3,
      	*bmi2_bzhi_<mode>3_1, *bmi2_bzhi_<mode>3_1_ccz): Use IF_THEN_ELSE
      	in the pattern to avoid triggering UB when operands[2] is zero.
      	(tbm_bextri_<mode>): New expander.  Renamed the old define_insn to ...
      	(*tbm_bextri_<mode>): ... this.
      
      From-SVN: r266340
      Jakub Jelinek committed
    • [libbacktrace] Factor out read_string · 17112570
      Factor out new function read_string in dwarf.c.
      
      Bootstrapped and reg-tested on x86_64.
      
      2018-11-21  Tom de Vries  <tdevries@suse.de>
      
      	* dwarf.c (read_string): Factor out of ...
      	(read_attribute, read_line_header, read_line_program): ... here.
      
      From-SVN: r266339
      Tom de Vries committed
    • [driver] Ensure --help=params lines end with period · 25baeeb3
      Ensure that gcc --help=params lines end with a period by:
      - fixing the help message of param HOT_BB_COUNT_FRACTION, and
      - adding a test-case.
      
      Build and tested on x86_64.
      
      2018-11-21  Tom de Vries  <tdevries@suse.de>
      
      	PR driver/79855
      	* params.def (HOT_BB_COUNT_FRACTION): Terminate help message with
      	period.
      
      	* lib/options.exp (check_for_options_with_filter): New proc.
      	* gcc.misc-tests/help.exp: Check that --help=params lines end with
      	period.
      
      From-SVN: r266338
      Tom de Vries committed
    • lang.opt (fdec-include): New option. · 7c74e813
      	* lang.opt (fdec-include): New option.
      	* options.c (set_dec_flags): Set also flag_dec_include.
      	* scanner.c (include_line): Change return type from bool to int.
      	In fixed form allow spaces in between include keyword letters.
      	For -fdec-include, allow in fixed form 0 in column 6.  With
      	-fdec-include return -1 if the parsed line is not full include
      	statement and it could be successfully completed on continuation
      	lines.
      	(include_stmt): New function.
      	(load_file): Adjust include_line caller.  If it returns -1, keep
      	trying include_stmt until it stops returning -1 whenever adding
      	further line of input.
      
      	* gfortran.dg/include_10.f: New test.
      	* gfortran.dg/include_10.inc: New file.
      	* gfortran.dg/include_11.f: New test.
      	* gfortran.dg/include_12.f: New test.
      	* gfortran.dg/include_13.f90: New test.
      	* gfortran.dg/gomp/include_1.f: New test.
      	* gfortran.dg/gomp/include_1.inc: New file.
      	* gfortran.dg/gomp/include_2.f90: New test.
      
      Co-Authored-By: Mark Eggleston <mark.eggleston@codethink.com>
      
      From-SVN: r266337
      Jakub Jelinek committed
    • S/390: Support vector load/store alignment hints · b8923037
      The IBM z14 POP adds an optional alignment operand to the vl, vst,
      vlm, and vstm instruction (vector loads and stores). Vectors residing
      on 8 or 16 byte boundaries might get loaded or stored faster on some
      models given the instruction uses the proper hint operand.  A wrong
      hint will hurt performance though.
      
      The attached testcase align-1 currently fails due to:
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88085
      
      gcc/ChangeLog:
      
      2018-11-21  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* configure.ac: Add check for Binutils to determine whether vector
      	load/store alignments hints are being supported.
      	* config.in: Regenerate.
      	* configure: Regenerate.
      	* config/s390/s390.c (print_operand): Support new output
      	modifier A.
      	* config/s390/s390.md ("movti"): Append alignment hint output
      	using the new output modifier 'A'.
      	* config/s390/vector.md ("mov<mode>", "*vec_tf_to_v1tf")
      	("*vec_ti_to_v1ti"): Likewise.
      
      gcc/testsuite/ChangeLog:
      
      2018-11-21  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/vector/align-1.c: New test.
      	* gcc.target/s390/vector/align-2.c: New test.
      
      From-SVN: r266336
      Andreas Krebbel committed
    • c-parser.c (c_parser_has_attribute_expression): New function. · 98f08eb8
      
      gcc/c/ChangeLog:
      
      	* c-parser.c (c_parser_has_attribute_expression): New function.
      	(c_parser_attribute): New function.
      	(c_parser_attributes): Move code into c_parser_attribute.
      	(c_parser_unary_expression): Handle RID_HAS_ATTRIBUTE_EXPRESSION.
      
      gcc/c-family/ChangeLog:
      
      	* c-attribs.c (type_for_vector_size): New function.
      	(type_valid_for_vector_size): Same.
      	(handle_vector_size_attribute): Move code to the functions above
      	and call them.
      	(validate_attribute, has_attribute): New functions.
      	* c-common.h (has_attribute): Declare.
      	(rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
      	* c-common.c (c_common_resword): Same.
      
      gcc/cp/ChangeLog:
      
      	* cp-tree.h (cp_check_const_attributes): Declare.
      	* decl2.c (cp_check_const_attributes): Declare extern.
      	* parser.c (cp_parser_has_attribute_expression): New function.
      	(cp_parser_unary_expression): Handle RID_HAS_ATTRIBUTE_EXPRESSION.
      	(cp_parser_gnu_attribute_list): Add argument.
      
      gcc/ChangeLog:
      
      	* doc/extend.texi (Other Builtins): Add __builtin_has_attribute.
      
      gcc/testsuite/ChangeLog:
      
      	* c-c++-common/builtin-has-attribute-2.c: New test.
      	* c-c++-common/builtin-has-attribute-3.c: New test.
      	* c-c++-common/builtin-has-attribute-4.c: New test.
      	* c-c++-common/builtin-has-attribute.c: New test.
      	* gcc.dg/builtin-has-attribute.c: New test.
      	* gcc/testsuite/gcc.target/i386/builtin-has-attribute.c: New test.
      
      From-SVN: r266335
      Martin Sebor committed
    • re PR lto/84044 (Spurious -Wodr warning with -flto) · 48d1f31d
      
      	PR lto/84044
      	* ipa-devirt.c (odr_types_equivalent_p): Use operand_equal_p to
      	compare ENUM values.
      	* g++.dg/lto/odr-4_0.C: New testcase.
      	* g++.dg/lto/odr-4_1.C: New testcase.
      
      From-SVN: r266334
      Jan Hubicka committed
    • re PR go/88060… · d3d684c6
      re PR go/88060 (../../../gcc-8.2.0/libgo/go/syscall/libcall_linux_utimesnano.go:17:18: error: reference to undefined name ‘_AT_FDCWD’)
      
      	PR go/88060
          syscall: always define _AT_FDCWD and IPv6MTUInfo
          
          They aren't defined by old versions of glibc, but are required by the
          code in syscall_linux.go.
          
          Reviewed-on: https://go-review.googlesource.com/c/150697
      
      From-SVN: r266333
      Ian Lance Taylor committed
    • Daily bump. · dc1a3df4
      From-SVN: r266332
      GCC Administrator committed
  2. 20 Nov, 2018 27 commits
    • re PR c++/88110 (ICE (segfault) with -std=C++2a in cxx_eval_constant_expression… · 6a3ebcc6
      re PR c++/88110 (ICE (segfault) with -std=C++2a in cxx_eval_constant_expression when trying to evaluate nonoverridden "virtual ... = 0" function of a base class)
      
      	PR c++/88110
      	* constexpr.c (cxx_eval_constant_expression) <case OBJ_TYPE_REF>: Punt
      	if get_base_address of ADDR_EXPR operand is not a DECL_P.
      
      	* g++.dg/cpp2a/constexpr-virtual13.C: New test.
      
      From-SVN: r266329
      Jakub Jelinek committed
    • re PR tree-optimization/87895 (ICE in purge_dead_edges, at cfgrtl.c:3246) · 260a9933
      	PR tree-optimization/87895
      	* omp-simd-clone.c (ipa_simd_modify_function_body): When removing
      	or replacing GIMPLE_RETURN, set EDGE_FALLTHRU on the edge to EXIT.
      	(simd_clone_adjust): Don't set EDGE_FALLTHRU here. In a loop that
      	redirects edges to EXIT to edges to incr_bb, iterate while EXIT
      	has any preds and always use EDGE_PRED (, 0).
      
      	* gcc.dg/gomp/pr87895-1.c: New test.
      	* gcc.dg/gomp/pr87895-2.c: New test.
      	* gcc.dg/gomp/pr87895-3.c: New test.
      
      From-SVN: r266328
      Jakub Jelinek committed
    • re PR target/88070 (ICE in create_pre_exit, at mode-switching.c:438) · 59730cc5
      	PR target/88070
      	* mode-switching.c (create_pre_exit): After reload, always split the
      	fallthrough edge to the exit block.
      
      testsuite/ChangeLog:
      
      	PR target/88070
      	* gcc.target/i386/pr88070.c: New test.
      
      From-SVN: r266326
      Uros Bizjak committed
    • ipa-devirt.c (add_type_duplicate): Do not ICE on incomplete enums. · 012b51cf
      
      	* ipa-devirt.c (add_type_duplicate): Do not ICE on incomplete enums.
      	* tree.c (build_array_type_1): Forward declare.
      	(fld_type_variant_equal_p): Add INNER_TYPE parameter.
      	(fld_type_variant): Likewise.
      	(fld_simplified_types): New hash.
      	(fld_process_array_type): New function.
      	(fld_incomplete_type_of): Handle array and enumeration types.
      	(fld_simplified_type): Handle simplification of arrays.
      	(free_lang_data): Allocate and free simplified types hash.
      
      From-SVN: r266325
      Jan Hubicka committed
    • Fix missing commit log. · 5702bb94
      From-SVN: r266323
      Jan Hubicka committed
    • re PR ipa/87957 (ICE tree check: expected tree that contains ‘decl minimal’… · 7656fa3e
      re PR ipa/87957 (ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519)
      
      
      	PR lto/87957
      	* ipa-devirt.c (odr_subtypes_equivalent_p): Report ODR violation
      	when sybtype already violates ODR.
      	(get_odr_type): Do not ICE when insert is false and type duplicate
      	is not registered yet.
      	(register_odr_type): Be sure to register subtypes first.
      
      From-SVN: r266322
      Jan Hubicka committed
    • S/390: Fix flogr RTX. · 33f3393a
      The flogr instruction uses a 64 bit register pair target operand.  In
      the RTX we model this as a write to a TImode register.  Unfortunately
      the RTX's being assigned to the two parts of the target operand were
      swapped.  This is no problem if in the end the flogr instruction will
      be emitted since the instruction still does what the clzdi expander
      expects.  However, a problem arises when the RTX is used to optimize
      CLZ for a constant input operand.  Even then it matters only if the
      expression couldn't be folded on tree level already.
      
      In the testcase this happened thanks to loop unrolling on RTL level.
      The iteration variable is used as an argument to the clz
      builtin. Due to the loop unrolling it becomes a constant and after
      folding the broken RTX leads to a wrong assumption.
      
      gcc/ChangeLog:
      
      2018-11-20  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.md ("clztidi2"): Swap the RTX's written to the
      	DImode parts of the target operand.
      
      gcc/testsuite/ChangeLog:
      
      2018-11-20  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/flogr-1.c: New test.
      
      From-SVN: r266321
      Andreas Krebbel committed
    • re PR ipa/87706 (Inlined functions trigger invalid -Wmissing-profile warning) · 84bfc732
      
      	PR ipa/87706
      	* ipa-fnsummary.c (pass_ipa_fnsummary): Do not remove functions
      	* ipa.c (possible_inline_candidate_p): Break out from ..
      	(process_references): ... here ; drop before_inlining_p;
      	cleanup handling of alises.
      	(walk_polymorphic_call_targets): Likewise.
      	(symbol_table::remove_unreachable_nodes): Likewise.
      	* passes.c (pass_data_ipa_remove_symbols): New structure.
      	(pass_ipa_remove_symbols): New pass.
      	(make_pass_ipa_remove_symbols): New function.
      	* tree-pass.h (make_pass_ipa_remove_symbols): Declare.
      	* passes.def (pass_ipa_remove_symbols): Schedule after early passes.
      
      From-SVN: r266320
      Jan Hubicka committed
    • re PR tree-optimization/87926 (bad array-index warning breaks --disable-checking bootstrap) · 0b680832
      	PR 87926
      	* Makefile.in (bitmap.o-warn): Use -Wno-error=array-bounds.
      
      From-SVN: r266319
      Nathan Sidwell committed
    • re PR lto/87997 (ICE in cp_var_mod_type_p at gcc/cp/cp-objcp-common.c:107 since r265870) · 375c3b86
      
      	PR lto/87997
      	* tree.c (free_lang_data_in_cgraph): Add argument fld; break out
      	type checking to...
      	(free_lang_data) ... here; update call of free_lang_data_in_cgraph.
      
      From-SVN: r266316
      Jan Hubicka committed
    • re PR ipa/87706 (Inlined functions trigger invalid -Wmissing-profile warning) · 12485662
      
      	PR ipa/87706
      	* ipa-fnsummary.c (pass_ipa_fnsummary): Do not remove functions
      	* ipa.c (possible_inline_candidate_p): Break out from ..
      	(process_references): ... here ; drop before_inlining_p;
      	cleanup handling of alises.
      	(walk_polymorphic_call_targets): Likewise.
      	(symbol_table::remove_unreachable_nodes): Likewise.
      	* passes.c (pass_data_ipa_remove_symbols): New structure.
      	(pass_ipa_remove_symbols): New pass.
      	(make_pass_ipa_remove_symbols): New functoin.
      	* passes.def (pass_ipa_remove_symbols): Schedule after early passes.
      
      From-SVN: r266315
      Jan Hubicka committed
    • tree-vect-stmts.c (vectorizable_condition): Do not get at else_clause vect def… · 8c944c97
      tree-vect-stmts.c (vectorizable_condition): Do not get at else_clause vect def for EXTRACT_LAST_REDUCTION.
      
      2018-11-20  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-stmts.c (vectorizable_condition): Do not get
      	at else_clause vect def for EXTRACT_LAST_REDUCTION.  Remove
      	pointless vect_is_simple_use calls.
      
      From-SVN: r266314
      Richard Biener committed
    • re PR tree-optimization/88074 (g++ hangs on math expression) · c1d21cd1
      2018-11-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88074
      	* tree-ssa-dom.c (pass_dominator::execute): Do not walk
      	backedges.
      
      	* gcc.dg/pr88074.c: New testcase.
      
      From-SVN: r266313
      Richard Biener committed
    • Move some i386 C++ tests into g++.target/i386. · b6137408
      2018-11-20  Martin Liska  <mliska@suse.cz>
      
      	* pr57362.C: Move to g++.target/i386 folder.
      	* pr57548.C: Likewise.
      	* pr59492.C: Likewise.
      	* pr82625.C: Likewise.
      	* pr85329-2.C: Likewise.
      	* pr85329.C: Likewise.
      
      From-SVN: r266312
      Martin Liska committed
    • Housekeeping for the effective targets of optional's tests. · 47df7e19
      * testsuite/20_util/optional/77288.cc: Adjust.
      * testsuite/20_util/optional/84601.cc: Likewise.
      * testsuite/20_util/optional/assignment/1.cc: Likewise.
      * testsuite/20_util/optional/assignment/2.cc: Likewise.
      * testsuite/20_util/optional/assignment/3.cc: Likewise.
      * testsuite/20_util/optional/assignment/4.cc: Likewise.
      * testsuite/20_util/optional/assignment/5.cc: Likewise.
      * testsuite/20_util/optional/assignment/6.cc: Likewise.
      * testsuite/20_util/optional/assignment/7.cc: Likewise.
      * testsuite/20_util/optional/assignment/8.cc: Likewise.
      * testsuite/20_util/optional/cons/77727.cc: Likewise.
      * testsuite/20_util/optional/cons/copy.cc: Likewise.
      * testsuite/20_util/optional/cons/deduction.cc: Likewise.
      * testsuite/20_util/optional/cons/default.cc: Likewise.
      * testsuite/20_util/optional/cons/move.cc: Likewise.
      * testsuite/20_util/optional/cons/trivial.cc: Likewise.
      * testsuite/20_util/optional/cons/value.cc: Likewise.
      * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
      * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
      * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
      * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
      * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
      * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
      * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
      * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
      * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
      * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
      * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
      * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
      * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
      * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
      * testsuite/20_util/optional/in_place.cc: Likewise.
      * testsuite/20_util/optional/make_optional.cc: Likewise.
      * testsuite/20_util/optional/nullopt.cc: Likewise.
      * testsuite/20_util/optional/observers/1.cc: Likewise.
      * testsuite/20_util/optional/observers/2.cc: Likewise.
      * testsuite/20_util/optional/observers/3.cc: Likewise.
      * testsuite/20_util/optional/observers/4.cc: Likewise.
      * testsuite/20_util/optional/observers/5.cc: Likewise.
      * testsuite/20_util/optional/observers/6.cc: Likewise.
      * testsuite/20_util/optional/relops/1.cc: Likewise.
      * testsuite/20_util/optional/relops/2.cc: Likewise.
      * testsuite/20_util/optional/relops/3.cc: Likewise.
      * testsuite/20_util/optional/relops/4.cc: Likewise.
      * testsuite/20_util/optional/relops/5.cc: Likewise.
      * testsuite/20_util/optional/relops/6.cc: Likewise.
      * testsuite/20_util/optional/relops/7.cc: Likewise.
      * testsuite/20_util/optional/requirements.cc: Likewise.
      * testsuite/20_util/optional/swap/1.cc: Likewise.
      * testsuite/20_util/optional/swap/2.cc: Likewise.
      * testsuite/20_util/optional/typedefs.cc: Likewise.
      
      From-SVN: r266310
      Ville Voutilainen committed
    • re PR bootstrap/88106 (Bootstrap failure on mingw32) · 72d3bb76
      	PR bootstrap/88106
      	* config/mingw32/affinity-fmt.c: New file.
      
      From-SVN: r266309
      Jakub Jelinek committed
    • re PR tree-optimization/88069 (ICE in check_loop_closed_ssa_def, at tree-ssa-loop-manip.c:709) · b34ac019
      2018-11-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88069
      	* tree-ssa-sccvn.c (visit_phi): Do not value-number to unvisited
      	virtual PHI arguments.
      
      	* gcc.dg/pr88069.c: New testcase.
      
      From-SVN: r266308
      Richard Biener committed
    • Add -fomit-frame-pointer to a test-case (PR ipa/88093). · 48c4096c
      2018-11-20  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/88093
      	* gcc.target/i386/ipa-stack-alignment.c: Add
      	-fomit-frame-pointer.
      
      From-SVN: r266307
      Martin Liska committed
    • S/390: Skip LT(G) peephole when literal pool is involved · 34a249bc
      By the time peephole optimizations run, we've already made up our mind
      whether to use base-register or relative addressing for literal pool
      entries.  LT(G) supports only base-register addressing, and so it is
      too late to convert L(G)RL + compare to LT(G).  This change should not
      make the code worse unless building with e.g. -fno-dce, since comparing
      literal pool entries to zero should be optimized away during earlier
      passes.
      
      gcc/ChangeLog:
      
      2018-11-20  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	PR target/88083
      	* config/s390/s390.md: Skip LT(G) peephole when literal pool is
      	involved.
      	* rtl.h (contains_constant_pool_address_p): New function.
      	* rtlanal.c (contains_constant_pool_address_p): Likewise.
      
      gcc/testsuite/ChangeLog:
      
      2018-11-20  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	PR target/88083
      	* gcc.target/s390/pr88083.c: New test.
      
      From-SVN: r266306
      Ilya Leoshkevich committed
    • re PR middle-end/83215 (C++: struct with char-array assumed to alias with everything) · dc3221e1
      2018-11-20  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/83215
      	* alias.c (component_uses_parent_alias_set_from): Remove
      	alias-set zero and TYPE_TYPELESS_STORAGE case both already
      	handled in other ways.
      
      	* g++.dg/tree-ssa/pr83215.C: New testcase.
      
      From-SVN: r266305
      Richard Biener committed
    • re PR rtl-optimization/85925 (compilation of masking with 257 goes wrong in combine at -02) · 643427d7
      	PR rtl-optimization/85925
      	* rtl.h (word_register_operation_p): New predicate.
      	* combine.c (record_dead_and_set_regs_1): Only apply specific handling
      	for WORD_REGISTER_OPERATIONS targets to word_register_operation_p RTX.
      	* rtlanal.c (nonzero_bits1): Likewise.  Adjust couple of comments.
      	(num_sign_bit_copies1): Likewise.
      
      From-SVN: r266302
      Eric Botcazou committed
    • re PR lto/88087 (ICE in execute at tree-ssa-pre.c:4220 since r266183) · 07b9f1de
      2018-11-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88087
      	* tree-ssa-pre.c (create_expression_by_pieces): Re-materialize
      	call fntype.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_call): Remember
      	call fntype.
      
      	* gcc.dg/tree-ssa/pr88087.c: New testcase.
      
      From-SVN: r266301
      Richard Biener committed
    • re PR bootstrap/88089 (build failure with GCC 4.9 on SPARC/Solaris) · 14b6a721
      2018-11-20  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/88089
      	* tree-data-ref.c (lambda_matrix_right_hermite): Use abs_hwi.
      
      From-SVN: r266300
      Richard Biener committed
    • align-3.c: Skip if pdp11. · 6b3be1b4
      	    * gcc.c-torture/execute/align-3.c: Skip if pdp11.
      	    * gcc.c-torture/execute/pr23467.c: Ditto.
      	    * gcc.c-torture/execute/pr36093.c: Ditto.
      	    * gcc.c-torture/execute/pr43783.c: Ditto.
      	    * gcc.dg/const-elim-2.c: Xfail if pdp11.
      	    * gcc.dg/torture/pr36400.c: Ditto.
      	    * gcc.dg/tree-ssa/loop-1.c: Xfail for pdp11.  Add pdp11 to check
      	    for jsr.
      
      From-SVN: r266299
      Paul Koning committed
    • target-supports.exp (check_weak_available): Return "no" for pdp11. · 327eaaf9
      	* lib/target-supports.exp (check_weak_available): Return "no" for
      	pdp11.
      
      From-SVN: r266297
      Paul Koning committed
    • Daily bump. · 9012e65b
      From-SVN: r266293
      GCC Administrator committed
    • PR81878: fix --disable-bootstrap --enable-languages=ada · f4c53af1
      gnattools build machinery uses just-build xgcc and xg++ as $(CC) and
      $(CXX) in native builds.  However, if C and C++ languages are not
      enabled, it won't find them.  So, enable C and C++ if Ada is enabled.
      Most of the time, this is probably no big deal: C is always enabled
      anyway, and C++ is already enabled for bootstraps.
      
      We need not enable those for cross builds, however.  At first I just
      took the logic from gnattools/configure, but found it to be lacking:
      it would use the just-built tools even in cross-back settings, whose
      tools just built for the host would not run on the build machine.  So
      I've narrowed down the test to rely on autoconf-detected cross-ness
      (build->host only), but also to ensure that host matches build, and
      that target matches host.
      
      I've considered sourcing ada/config-lang.in from within
      gnattools/configure, and testing lang_requires as set by it, so as to
      avoid a duplication of tests that ought to remain in sync, but decided
      it would be too fragile, as ada/config-lang.in does not expect srcdir
      to refer to gnattools.
      
      for  gcc/ada/ChangeLog
      
      	PR ada/81878
      	* gcc-interface/config-lang.in (lang_requires): Set to "c c++"
      	when gnattools wants it.
      
      for  gnattools/ChangeLog
      
      	PR ada/81878
      	* configure.ac (default_gnattools_target): Do not mistake
      	just-built host tools as native in cross-back toolchains.
      	* configure: Rebuilt.
      
      From-SVN: r266290
      Alexandre Oliva committed