1. 16 Nov, 2018 20 commits
    • re PR rtl-optimization/87475 (ICE in patch_jump_insn, at cfgrtl.c:1275) · a09ad347
      	PR rtl-optimization/87475
      	* cfgrtl.c (patch_jump_insn): Allow redirection failure for
      	CROSSING_JUMP_P insns.
      	(cfg_layout_redirect_edge_and_branch): Don't ICE if ret is NULL.
      
      	* g++.dg/opt/pr87475.C: New test.
      
      From-SVN: r266219
      Jakub Jelinek committed
    • re PR target/88051 (internal compiler error: in add_clobbers, at config/i386/sync.md:1762) · b4183573
      	PR target/88051
      	* config/i386/i386.md (floatunsdidf2): Allow only 64bit AVX512F targets.
      	* config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC.
      	(movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec.
      
      From-SVN: r266218
      Uros Bizjak committed
    • re PR middle-end/87854 (gcc.c-torture/compile/pr46534.c ICE for 16-bit size_t) · 258b3854
      	PR middle-end/87854
      	* c-common.c (fix_string_type): Reject string literals larger than
      	TYPE_MAX_VALUE (ssizetype) bytes.
      
      From-SVN: r266217
      Jakub Jelinek committed
    • re PR middle-end/88032 (ICE in operand_subword_force, at emit-rtl.c:1793) · 7f46559c
      	PR middle-end/88032
      	* optabs.c (expand_binop): For op0_mode use GET_MODE (op0), unless it
      	is VOIDmode, in which case use int_mode.  Similarly for op1_mode.
      
      From-SVN: r266216
      Jakub Jelinek committed
    • When running the testsuite on boards that can't report an error status DejaGNU... · fe5d1296
      When running the testsuite on boards that can't report an error status
      DejaGNU uses a special wrapper to print the exit code on stdout and
      parses stdout to find whether an execution failed or passed.
      
      In testcases that use "freopen (..., ..., stdout)" this special line is
      printed to the alternate location described in the freopen call and
      DejaGNU can't find the error code.
      
      This results in DejaGNU using a default return status of 2 and the test
      failing.
      
      This patch skips the two testcases that use freopen on stdout when
      testing a board that requires this wrapper.
      
      
      Testing done by running these two tests on arm-none-eabi cross build and
      observing that they are unsupported.
      
      gcc/testsuite/ChangeLog:
      
      2018-11-16  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	* gcc.c-torture/execute/printf-2.c: Skip on wrapped boards.
      	* gcc.c-torture/execute/user-printf.c: Likewise.
      
      From-SVN: r266214
      Matthew Malcomson committed
    • tree-switch-conversion.h (switch_decision_tree::emit_case_nodes): Add location_t parameter. · 4359b631
      	* tree-switch-conversion.h (switch_decision_tree::emit_case_nodes): Add
      	location_t parameter.
      	(switch_decision_tree::emit_cmp_and_jump_insns): Likewise.
      	(switch_decision_tree::do_jump_if_equal): Likewise.
      	* tree-switch-conversion.c (switch_decision_tree::emit): Pass location
      	of switch statement to emit_case_nodes.
      	(switch_decision_tree::emit_cmp_and_jump_insns): Add LOC parameter and
      	set it on the newly built GIMPLE comparison statement.
      	(switch_decision_tree::do_jump_if_equal): Likewise.
      	(switch_decision_tree::emit_case_nodes): Add LOC parameter and pass it
      	in calls to do_jump_if_equal as well as recursive calls.
      
      From-SVN: r266213
      Eric Botcazou committed
    • Remove ovl_used, it is no longer needed · 83044e4f
      	Remove ovl_used, it is no longer needed
      	* cp-tree.h (OVL_USED_P): Delete.
      	(lookup_keep): Delete.
      	* friend.c (add_friend): Don't call it.
      	* parser.c (lookup_literal_operator): Likewise.
      	(cp_parser_primary_expression): Likewise.
      	* semantics.c (perform_koenig_lookup): Likewise.
      	* pt.c (tsubst_copy <OVERLOAD>): Don't assert OVL_USED_P.
      	* tree.c (ovl_copy): Delete.
      	(ovl_insert): Remove OVL_USED_P checks.
      	(ovl_iterator::reveal_node): Likewise.
      	(ovl_iterator::remove__node): Likewise.
      	(ovl_used, lookup_keep): Delete.
      
      From-SVN: r266212
      Nathan Sidwell committed
    • Allow memory operands for PTWRITE · 81292845
      The earlier PTWRITE builtin definition was unnecessarily restrictive,
      only allowing register input to PTWRITE. The instruction actually
      supports memory operands too, so allow that too.
      
      gcc/:
      
      2018-11-16  Andi Kleen  <ak@linux.intel.com>
      
      	* config/i386/i386.md: Allow memory operands to ptwrite.
      
      From-SVN: r266211
      Andi Kleen committed
    • [PR c++/87269] Mark string operator overload in template defn. · b1fe8605
      https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01458.html
      	PR c++/87269
      	* parser.c (lookup_literal_operator): Mark overload for keeping
      	when inside template.  Refactor.
      
      	* g++.dg/lookup/pr87269.C: New.
      
      From-SVN: r266210
      Nathan Sidwell committed
    • [Patch][libstdc++.exp] Update the usage of cached result. · ac28df7e
      This patch replaces the usage of cached results with a global dictionary.
      
      Additionally, check_v3_target_namedlocale is updated to check on every variant.
      Originally, it is only checked once.
      
      
      gcc/libstdc++-v3/:
      2018-11-16  Renlin Li  <renlin.li@arm.com>
      	    Tejas Belagod  <tejas.belagod@arm.com>
      
      	testsuite/lib/libstdc++.exp (check_v3_target_prop_cached): New proc.
      	(check_v3_target): Use check_v3_target_prop_cached.
      
      
      Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
      
      From-SVN: r266209
      Renlin Li committed
    • Don't use %z printf length specifier · a0b48080
      	* system.h (PRsa): New macro.
      	(SIZE_AMOUNT): Cast number to uint64_t.
      	* alloc-pool.h (pool_usage::dump): Don't use %zu but PRsa.
      	(pool_usage::dump_footer): Likewise and also use PRIu64.
      	* bitmap.h (bitmap_usage::dump): Likewise.
      	* ggc-common.c (ggc_usage::dump): Likewise.
      	* ggc-page.c (ggc_print_statistics): Likewise.
      	* input.c (dump_line_table_statistics): Likewise.
      	* mem-stats.h (mem_usage::dump): Likewise.
      	(mem_usage::dump_footer): Likewise.
      	* rtl.c (dump_rtx_statistics): Likewise.
      	* tree-cfg.c (dump_cfg_stats): Likewise.
      	* tree-dfa.c (dump_dfa_stats): Likewise.
      	* tree-phinodes.c (phinodes_print_statistics): Likewise.
      	* tree-ssanames (ssanames_print_statistics): Likewise.
      	* vec.c (vec_usage::dump): Likewise.
      	(vec_usage::dump_footer): Likewise.
      
      From-SVN: r266208
      Michael Matz committed
    • Fix ICE in lto_symtab_merge_symbols_1 (PR lto/88004). · 12eac232
      2018-11-16  Martin Liska  <mliska@suse.cz>
      
      	PR lto/88004
      	* lto-symtab.c (lto_symtab_merge_symbols_1): Do not call
      	lto_symtab_symbol_p as it does checking of transparent alias.
      	These needs to be also merged in the function.
      
      From-SVN: r266207
      Martin Liska committed
    • re PR testsuite/88053 (g++.dg/lto/pr54625-1.C fails with r266194) · f6dee9fe
      2018-11-16  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/88053
      	* g++.dg/lto/pr54625-2_0.c: Add -w.
      
      From-SVN: r266206
      Richard Biener committed
    • re PR tree-optimization/88011 (r266028 causes a bunch of go failures) · cf74a8d5
      2018-11-16  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88011
      	* tree-vrp.c (extract_range_from_binary_expr): Fix error in
      	replacing set_value_range_to_undefined and
      	set_value_range_to_varying with method calls.
      
      From-SVN: r266205
      Richard Biener committed
    • S/390: Add a new pattern for r{o,x}sbg · b9789752
      Fixes rXsbg_mode_sXl test failures.
      
      Combine used to give us
      
      (set (reg:SI 65)
          (ior:SI (lshiftrt:SI (reg:SI 3 %r3 [ bD.2238 ])
                  (const_int 2 [0x2]))
              (reg:SI 2 %r2 [ aD.2237 ])))
      
      but now we get
      
      (set (reg:SI 65)
          (ior:SI (subreg:SI (zero_extract:DI (reg:DI 69)
                      (const_int 32 [0x20])
                      (const_int 30 [0x1e])) 4)
              (subreg:SI (reg:DI 68) 4)))
      
      or
      
      (set (reg:SI 65)
          (ior:SI (subreg:SI (and:DI (lshiftrt:DI (reg:DI 69)
                          (const_int 2 [0x2]))
                      (const_int 4294967295 [0xffffffff])) 4)
              (subreg:SI (reg:DI 68) 4)))
      
      with an extra subreg, which appears because pseudos, unlike hard
      registers, can be accessed only using their natural mode.
      
      This patch adds a special case for that.  Also, it performs r*sbg
      bit index computations during gcc run, so that expectations do not
      depend on which concrete pattern was matched.
      
      gcc/ChangeLog:
      
      2018-11-16  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* config/s390/s390.md
      	(*r<noxa>sbg_<mode>_srl_bitmask): Do not delegate arithmetic to
      	assembler.
      	(*r<noxa>sbg_<mode>_sll): Likewise.
      	(*r<noxa>sbg_<mode>_srl): Likewise.
      	(*r<noxa>sbg_sidi_srl): New pattern.
      
      gcc/testsuite/ChangeLog:
      
      2018-11-16  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* gcc.target/s390/md/rXsbg_mode_sXl.c: Do not use arithmetic in
      	r{o,x}sbg expectations.
      	* gcc.target/s390/risbg-ll-2.c: Likewise.
      
      From-SVN: r266203
      Ilya Leoshkevich committed
    • re PR testsuite/88053 (g++.dg/lto/pr54625-1.C fails with r266194) · 43c6ad43
      2018-11-16  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/88053
      	* g++.dg/lto/pr54625-1_0.c: Add -w.
      
      From-SVN: r266202
      Richard Biener committed
    • Allow target overrides of ctors/dtors support advertisement on VxWorks · 7f37b31d
      2018-11-16  Jerome Lambourg  <lambourg@adacore.com>
      
              * config/vxworks.h (TARGET_VXWORKS_HAVE_CTORS_DTORS): New macro.
              Default to TARGET_VXWORKS_RTP.
              (SUPPORTS_INIT_PRIORITY): Use TARGET_VXWORKS_HAVE_CTORS_DTORS instead
              of TARGET_VXWORKS_RTP.
              * config/vxworksae.h: Also define TARGET_VXWORKS_HAVE_CTORS_DTORS.
              * config/vxworks.c: Use TARGET_VXWORKS_HAVE_CTORS_DTORS instead
              of TARGET_VXWORKS_RTP to set targetm.have_ctors_dtors.
      
      From-SVN: r266201
      Jerome Lambourg committed
    • linux-unwind.h (sc_pt_regs): Update for kernel. · ff641ae1
      2018-11-15  Xianmiao Qu  <xianmiao_qu@c-sky.com>
      
      	libgcc/
      	* config/csky/linux-unwind.h (sc_pt_regs): Update for kernel. 
      	(sc_pt_regs_lr): Update for kernel.
      	(sc_pt_regs_tls): Update for kernel.
      
      From-SVN: r266200
      Xianmiao Qu committed
    • re PR c++/25759 (Documentation not clear, attribute packed on class in C++) · 88c8c5a0
      2018-11-15  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR c++/25759
      
      	gcc/
      	* doc/extend.texi (Common Type Attributes): Make it explicit
      	that attribute "packed" can apply to C++ classes.
      
      From-SVN: r266199
      Sandra Loosemore committed
    • Daily bump. · e6c6b179
      From-SVN: r266198
      GCC Administrator committed
  2. 15 Nov, 2018 20 commits
    • PR c++/87541 - ICE using a constant decl as an attribute alloc_size argument · 1d249509
      PR c++/87541 - ICE using a constant decl as an attribute alloc_size argument
      PR c++/87542 - bogus error on attribute format with a named constant argument
      
      gcc/ChangeLog:
      
      	PR c++/87541
      	PR c++/87542
      	* tree.c (type_argument_type): New function.
      	* tree.h (type_argument_type): Declare it.
      	* gcc/doc/extend.texi (alloc_align): Update and clarify.
      	(alloc_size, nonnull, sentinel): Same.
      
      gcc/c-family/ChangeLog:
      
      	PR c++/87541
      	PR c++/87542
      	* c-attribs.c (positional_argument): New function.
      	(handle_alloc_size_attribute): Use it and simplify.
      	(handle_alloc_align_attribute): Same.
      	(handle_assume_aligned_attribute): Same.
      	(handle_nonnull_attribute): Same.
      	* c-common.c (check_function_arguments): Pass fntype to
      	check_function_format.
      	* c-common.h (check_function_format): Add an argument.
      	(PosArgFlags, positional_argument): Declare new type and function.
      	* c-format.c (decode_format_attr): Add arguments.
      	(check_format_string, get_constant): Same.
      	(convert_format_name_to_system_name): Adjust.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/87541
      	PR c++/87542
      	* g++.dg/ext/attr-alloc_size.C: New test.
      	* c-c++-common/pr71574.c: Adjust diagnostics.
      	* c-c++-common/attributes-1.c: Same.
      	* gcc.dg/attr-alloc_align-2.c: Same.
      	* gcc.dg/attr-alloc_align-4.c: New test.
      	* gcc.dg/attr-alloc_size-2.c: Adjust diagnostics.
      	* gcc.dg/attr-alloc_size.c: Same.
      	* gcc.dg/attr-assume_aligned-4.c: New test.
      	* gcc.dg/format/attr-3.c: Adjust diagnostics.
      	* gcc.dg/nonnull-2.c: Same.
      	* gcc.dg/torture/pr80612.c: Same.
      	* obj-c++.dg/attributes/method-format-1.mm: Same.
      	* obj-c++.dg/attributes/method-nonnull-1.mm: Same.
      	* objc.dg/attributes/method-format-1.m: same.
      	* objc.dg/attributes/method-nonnull-1.m: Same.
      
      From-SVN: r266195
      Martin Sebor committed
    • PR c/83656 - missing -Wbuiltin-declaration-mismatch on declaration without prototype · cd5da983
      gcc/c/ChangeLog:
      
      	PR c/83656
      	* c-decl.c (header_for_builtin_fn): Declare.
      	(diagnose_mismatched_decls): Diagnose declarations of built-in
      	functions without a prototype.
      	* c-typeck.c (maybe_warn_builtin_no_proto_arg): New function.
      	(convert_argument): Same.
      	(convert_arguments): Factor code out into convert_argument.
      	Detect mismatches between built-in formal arguments in calls
      	to built-in without prototype.
      	(build_conditional_expr): Same.
      	(type_or_builtin_type): New function.
      	(convert_for_assignment): Add argument.  Conditionally issue
      	warnings instead of errors for mismatches.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/83656
      	* gcc.dg/20021006-1.c
      	* gcc.dg/Wbuiltin-declaration-mismatch.c: New test.
      	* gcc.dg/Wbuiltin-declaration-mismatch-2.c: New test.
      	* gcc.dg/Wbuiltin-declaration-mismatch-3.c: New test.
      	* gcc.dg/Wbuiltin-declaration-mismatch-4.c: New test.
      	* gcc.dg/Walloca-16.c: Adjust.
      	* gcc.dg/Wrestrict-4.c: Adjust.
      	* gcc.dg/Wrestrict-5.c: Adjust.
      	* gcc.dg/atomic/stdatomic-generic.c: Adjust.
      	* gcc.dg/atomic/stdatomic-lockfree.c: Adjust.
      	* gcc.dg/initpri1.c: Adjust.
      	* gcc.dg/pr15698-1.c: Adjust.
      	* gcc.dg/pr69156.c: Adjust.
      	* gcc.dg/pr83463.c: Adjust.
      	* gcc.dg/redecl-4.c: Adjust.
      	* gcc.dg/tls/thr-init-2.c: Adjust.
      	* gcc.dg/torture/pr55890-2.c: Adjust.
      	* gcc.dg/torture/pr55890-3.c: Adjust.
      	* gcc.dg/torture/pr67741.c: Adjust.
      	* gcc.dg/torture/stackalign/sibcall-1.c: Adjust.
      	* gcc.dg/torture/tls/thr-init-1.c: Adjust.
      	* gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Adjust.
      
      From-SVN: r266194
      Martin Sebor committed
    • [PR c++/86246] ICE tsubst explicit operator call · 2a4030ef
      https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01405.html
      	PR c++/86246
      	PR c++/87989
      	* typeck.c (finish_class_member_access_expr): Conversion operator
      	to dependent type is dependent.
      
      	* g++.dg/template/pr86246.C: New.
      	* g++.dg/template/pr87989.C: New.
      
      From-SVN: r266193
      Nathan Sidwell committed
    • constexpr.c (ensure_literal_type_for_constexpr_object): Use DECL_SOURCE_LOCATION in error_at calls. · f2935576
      /cp
      2018-11-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* constexpr.c (ensure_literal_type_for_constexpr_object): Use
      	DECL_SOURCE_LOCATION in error_at calls.
      
      /testsuite
      2018-11-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/constexpr-diag3.C: Check locations too.
      	* g++.dg/cpp0x/constexpr-ice19.C: Likewise.
      	* g++.dg/cpp0x/constexpr-nonlit2.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda15.C: Likewise.
      	* g++.dg/ext/constexpr-vla5.C: Likewise.
      	* g++.dg/gomp/pr85134.C: Likewise.
      
      From-SVN: r266192
      Paolo Carlini committed
    • Handle vectors that don't fit in an integer. · 1ec7f492
      GCN vector sizes range between 64 and 512 bytes, none of which have
      correspondingly sized integer modes.  This breaks a number of assumptions
      throughout the compiler, but I don't really want to create modes just for this
      purpose.
      
      Instead, this patch fixes up the cases that I've found, so far, such that the
      compiler tries something else, or fails to optimize, rather than just ICE.
      
      2018-11-15  Andrew Stubbs  <ams@codesourcery.com>
                  Kwok Cheung Yeung  <kcy@codesourcery.com>
      
      	gcc/
      	* tree-vect-stmts.c (vectorizable_store): Don't ICE when
      	int_mode_for_size fails.
      	(vectorizable_load): Likewise.
      
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      
      From-SVN: r266190
      Andrew Stubbs committed
    • [C++ DR 2336] virtual dtors, exception specs & abstract classes · 2bd652d2
      https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01389.html
      	DR 2336
      	* cp-tree.h (enum special_function_kind): Add sfk_virtual_destructor.
      	* method.c (type_has_trivial_fn): Add it.
      	(SFK_DTOR_P): Likewise.
      	(synthesized_method_base_walk): Don't check access of vbases of
      	abstract classes when sfk_virtual_destructor.
      	(synthesized_method_walk): Skip vbases of abstract classes except
      	when sfk_virtual_destructor.
      	(get_defaulted_eh_spec): Set sfk_virtual_destructor as needed.
      
      	* g++.dg/cpp1y/pr79393-3.C: New.
      
      From-SVN: r266188
      Nathan Sidwell committed
    • doc/ux.texi: auto_diagnostic_group now does something · 1a50c428
      As of r266186, auto_diagnostic_group is now user-visible
      (via -fdiagnostics-format=json), so update the diagnostic
      guidelines accordingly.
      
      gcc/ChangeLog:
      	* doc/ux.texi (Group logically-related diagnostics): Move
      	discussion of auto_diagnostic_group into this new subsection.
      	Give an example of where this grouping is used.
      
      From-SVN: r266187
      David Malcolm committed
    • Machine-readable diagnostic output (PR other/19165) · 478dd60d
      This patch implements a -fdiagnostics-format=json option which
      converts the diagnostics to be output to stderr in a JSON format;
      see the documentation in invoke.texi.
      
      Logically-related diagnostics are nested at the JSON level, using
      the auto_diagnostic_group mechanism.
      
      gcc/ChangeLog:
      	PR other/19165
      	* Makefile.in (OBJS): Move json.o to...
      	(OBJS-libcommon): ...here and add diagnostic-format-json.o.
      	* common.opt (fdiagnostics-format=): New option.
      	(diagnostics_output_format): New enum.
      	* diagnostic-format-json.cc: New file.
      	* diagnostic.c (default_diagnostic_final_cb): New function, taken
      	from start of diagnostic_finish.
      	(diagnostic_initialize): Initialize final_cb to
      	default_diagnostic_final_cb.
      	(diagnostic_finish): Move "being treated as errors" messages to
      	default_diagnostic_final_cb.  Call any final_cb.
      	(default_diagnostic_finalizer): Add diagnostic_t param.
      	(diagnostic_report_diagnostic): Pass "orig_diag_kind" to
      	diagnostic_finalizer callback.
      	* diagnostic.h (enum diagnostics_output_format): New enum.
      	(diagnostic_finalizer_fn): Reimplement, adding diagnostic_t param.
      	(struct diagnostic_context): Add "final_cb".
      	(default_diagnostic_finalizer): Add diagnostic_t param.
      	(diagnostic_output_format_init): New decl.
      	* doc/invoke.texi (-fdiagnostics-format): New option.
      	* dwarf2out.c (gen_producer_string): Ignore
      	OPT_fdiagnostics_format_.
      	* gcc.c (driver_handle_option): Handle OPT_fdiagnostics_format_.
      	* lto-wrapper.c (append_diag_options): Ignore it.
      	* opts.c (common_handle_option): Handle it.
      
      gcc/c-family/ChangeLog:
      	PR other/19165
      	* c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
      
      gcc/fortran/ChangeLog:
      	PR other/19165
      	* error.c (gfc_diagnostic_finalizer): Add diagnostic_t param.
      
      gcc/jit/ChangeLog:
      	PR other/19165
      	* dummy-frontend.c (jit_begin_diagnostic): Add diagnostic_t param.
      
      gcc/testsuite/ChangeLog:
      	PR other/19165
      	* c-c++-common/diagnostic-format-json-1.c: New test.
      	* c-c++-common/diagnostic-format-json-2.c: New test.
      	* c-c++-common/diagnostic-format-json-3.c: New test.
      	* c-c++-common/diagnostic-format-json-4.c: New test.
      	* c-c++-common/diagnostic-format-json-5.c: New test.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(custom_diagnostic_finalizer): Add diagnostic_t param.
      	* gcc.dg/plugin/location_overflow_plugin.c
      	(verify_unpacked_ranges): Likewise.
      	(verify_no_columns): Likewise.
      	* gfortran.dg/diagnostic-format-json-1.F90: New test.
      	* gfortran.dg/diagnostic-format-json-2.F90: New test.
      	* gfortran.dg/diagnostic-format-json-3.F90: New test.
      
      From-SVN: r266186
      David Malcolm committed
    • graphite: add missing dump_enabled_p checks (PR tree-optimization/88015) · ef190c93
      gcc/ChangeLog:
      	PR tree-optimization/88015
      	* graphite-isl-ast-to-gimple.c
      	(translate_isl_ast_to_gimple::scop_to_isl_ast): Add missing check
      	for dump_enabled_p.
      	* graphite-sese-to-poly.c (build_poly_scop): Likewise.
      
      From-SVN: r266184
      David Malcolm committed
    • re PR tree-optimization/88029 (ICE in execute_todo, at passes.c:1974) · 0e02fb26
      2018-11-15  Richard Biener  <rguenther@suse.de>
      
              PR middle-end/88029
              * gimple.c (gimple_call_flags): Union flags from decl, type
              and call fntype.
              * trans-mem.c (is_tm_pure_call): Simplify.
      
              * gcc.dg/tree-ssa/pr88029.c: New testcase.
      
      From-SVN: r266183
      Richard Biener committed
    • re PR tree-optimization/88031 (ICE in vectorizable_reduction, at tree-vect-loop.c:6953) · 22692f3c
      2018-11-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88031
      	* tree-vect-loop.c (vectorizable_reduction): Move check
      	for multiple types earlier so we get the expected dump.
      	Simplify calls to vectorizable_condition.
      	* tree-vect-stmts.h (vectorizable_condition): Update prototype.
      	* tree-vect-stmts.c (vectorizable_condition): Instead of
      	reduc_def and reduc_index take just a flag.  Simplify
      	code-generation now that we can rely on the defs being set up.
      	(vectorizable_comparison): Remove unused argument.
      
      	* gcc.dg/pr88031.c: New testcase.
      
      From-SVN: r266182
      Richard Biener committed
    • [C++ DR 2336] Clean up synth walkers first · 3f5a0fde
      https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01376.html
      	* cp-tree.h (enum special_function_kind): Reorder and comment.
      	* method.c (SFK_CTOR_P, SFK_DTOR_P, SFK_ASSIGN_P, SFK_COPY_P)
      	(SFK_MOVE_P): New predicates.
      	(walk_field_subobs, synthesized_method_base_walk): Drop
      	copy_arg_p, move_p, assign_p args.  Use new SFK predicates.  Order
      	parameters consistently.
      	(synthesized_method_walk): Drop ctor_p, copy_arg_p, move_p,
      	assign_p calculations.  Use new SFK predicates.  Adjust calls to
      	worker functions.
      
      From-SVN: r266180
      Nathan Sidwell committed
    • Fix spaces in PR62178 test · e99d38d0
      Fix spaces in scan assembler tests.
      
          testsuite/
      	* gcc.target/aarch64/pr62178.c: Fix spaces.
      
      From-SVN: r266179
      Wilco Dijkstra committed
    • misc.c (gnat_init_gcc_eh): Do not override the switch -fnon-call-exceptions… · 5f3040ed
      misc.c (gnat_init_gcc_eh): Do not override the switch -fnon-call-exceptions passed on the command line in...
      
      	* gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the switch
      	-fnon-call-exceptions passed on the command line in -gnatp mode.
      
      From-SVN: r266176
      Eric Botcazou committed
    • re PR tree-optimization/88030 (ICE in calc_dfs_tree, at dominance.c:458) · bca7138a
      2018-11-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88030
      	* tree-complex.c (need_eh_cleanup): New global.
      	(update_complex_assignment): Mark blocks that need EH update.
      	(expand_complex_comparison): Likewise.
      	(tree_lower_complex): Allocate and deallocate need_eh_cleanup,
      	perform EH cleanup and schedule CFG cleanup if that did anything.
      
      	* gcc.dg/tsan/pr88030.c: New testcase.
      
      From-SVN: r266175
      Richard Biener committed
    • re PR rtl-optimization/88018 (ICE in insert_insn_on_edge at cfgrtl.c:1952 since r255066) · 3df45f17
      	PR rtl-optimization/88018
      	* cfgrtl.c (fixup_abnormal_edges): Guard moving insns to fallthru edge
      	on the presence of fallthru edge, rather than if it is a USE or not.
      
      	* g++.dg/tsan/pr88018.C: New test.
      
      From-SVN: r266174
      Jakub Jelinek committed
    • re PR tree-optimization/87917 (ICE in initialize_matrix_A at gcc/tree-data-ref.c:3150) · ef0519fd
      2018-11-15  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/87917
      	* tree-data-ref.c (analyze_miv_subscript): Guard calls to
      	analyze_subscript_affine_affine properly.
      
      	* gcc.dg/tree-ssa/pr87917.c: New testcase.
      
      From-SVN: r266173
      Richard Biener committed
    • csky-linux-elf.h (LINUX_DYNAMIC_LINKER): Remove. · 28209372
      2018-11-15  Xianmiao Qu  <xianmiao_qu@c-sky.com>
      
      	gcc/
      	* config/csky/csky-linux-elf.h (LINUX_DYNAMIC_LINKER): Remove.
      	(GLIBC_DYNAMIC_LINKER): Define.
      	(LINUX_TARGET_LINK_SPEC): Update the dynamic linker's name.
      
      	libgcc/
      	* config/csky/linux-unwind.h: Fix coding style.
      
      From-SVN: r266172
      Xianmiao Qu committed
    • re PR tree-optimization/84648 (Missed optimization : loop not removed.) · a81e2c62
      
      	PR tree-optimization/84648
      	* tree-ssa-loop-niter.c (adjust_cond_for_loop_until_wrap): New.
      	(number_of_iterations_cond): Adjust exit cond for loop-until-wrap case
      	by calling adjust_cond_for_loop_until_wrap.
      
      	gcc/testsuite
      	* gcc.dg/tree-ssa/pr84648.c: New test.
      	* gcc.dg/pr68317.c: Add warning check on overflow.
      
      From-SVN: r266171
      Bin Cheng committed
    • re PR other/56334 (__attribute__((aligned)) documentation is misleading) · d8fdf280
      2018-11-15  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR other/56334
      
      	gcc/
      	* doc/extend.texi (Common Function Attributes): Clarify linker
      	restrictions on "aligned" attribute.
      	(Common Variable Attributes): Likewise.  Mention that linker
      	restrictions don't apply to stack-allocated variables.
      
      From-SVN: r266170
      Sandra Loosemore committed