1. 21 Jun, 2017 19 commits
    • Fix warning in gcc.dg/tree-prof/comp-goto-1.c · 5433db45
      2017-06-21  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/tree-prof/comp-goto-1.c: Fix 'return type defaults to int'
      	warning.
      
      From-SVN: r249452
      Tom de Vries committed
    • Rework cold and hot label attributes in predict.c. · 93c18375
      2017-06-21  Martin Liska  <mliska@suse.cz>
      
      	* gimplify.c (gimplify_label_expr): Insert GIMPLE_PREDICT
      	statements on cold and hot labels.
      	* predict.c (tree_estimate_probability_bb): Remove the
      	prediction from this place.
      2017-06-21  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/tree-ssa/attr-hotcold-2.c: Update scanned patterns.
      
      From-SVN: r249451
      Martin Liska committed
    • Make early return predictor more precise. · e59a1c22
      2017-06-21  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/79489
      	* gimplify.c (maybe_add_early_return_predict_stmt): New
      	function.
      	(gimplify_return_expr): Call the function.
      	* predict.c (tree_estimate_probability_bb): Remove handling
      	of early return.
      	* predict.def: Update comment about early return predictor.
      	* gimple-predict.h (is_gimple_predict): New function.
      	* predict.def: Change default value of early return to 66.
      	* tree-tailcall.c (find_tail_calls): Skip GIMPLE_PREDICT
      	statements.
      	* passes.def: Put pass_strip_predict_hints to the beginning of
      	IPA passes.
      
      From-SVN: r249450
      Martin Liska committed
    • DWARF: make it possible to emit debug info for declarations only · ff9baa5f
      The DWARF back-end used to systematically ignore file-scope function and
      variable declarations.  While this is justified in language like C/C++,
      where such declarations can appear in several translation units and thus
      bloat uselessly the debug info, this behavior is counter-productive in
      languages with a well-defined module system.  Specifically, it prevents
      the description of imported entities, that belong to foreign languages,
      making them unavailable from debuggers.
      
      Take for instance:
      
          package C_Binding is
              function My_C_Function (I : Integer) return Integer;
              pragma Import (C, My_C_Function, "my_c_function");
          end C_Binding;
      
      This makes available for Ada programs the C function "my_c_function"
      under the following name: C_Binding.My_C_Function.  When GCC compiles
      it, though, it is represented as a FUNCTION_DECL node with DECL_EXTERNAL
      set and a null DECL_INITIAL, which used to be discarded unconditionally
      in the DWARF back-end.
      
      This patch moves such filter from the DWARF back-end to the relevant
      callers: passes.c:rest_of_decl_compilation and
      godump.c:go_early_global_decl. It also This patch also updates the Ada
      front-end to call debug hooks for functions such as in the above
      example, so that we do generate debugging information for them.
      
      gcc/
      	* dwarf2out.c (gen_decl_die): Remove the guard to skip file-scope
      	FUNCTION_DECL declarations.
      	(dwarf2out_early_global_decl): Remove the guard to skip FUNCTION_DECL
      	declarations.
      	(dwaf2out_decl): Likewise.
      	* godump.c (go_early_global_decl): Skip call to the real debug hook
      	for FUNCTION_DECL declarations.
      	* passes.c (rest_of_decl_compilation): Skip call to the
      	early_global_decl debug hook for FUNCTION_DECL declarations, unless
      	-fdump-go-spec is passed.
      
      gcc/ada/
      	* gcc-interface/ada-tree.h (DECL_FUNCTION_IS_DEF): Update copyright
      	notice.  New macro.
      	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Tag the subprogram
      	as a definition.
      	(Compilation_Unit_to_gnu): Tag the elaboration procedure as a
      	definition.
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Tag declarations of
      	imported subprograms for the current compilation unit as
      	definitions.  Disable debug info for references to variables.
      	* gcc-interface/gigi.h (create_subprog_decl): Update declaration.
      	* gcc-interface/utils.c (gnat_pushdecl): Add external DECLs that are
      	not built-in functions to their binding scope.
      	(create_subprog_decl): Add a DEFINITION parameter.  If it is true, tag
      	the function as a definition.  Update all callers.
      	(gnat_write_global_declarations): Emit debug info for imported
      	functions.  Filter out external variables for which debug info
      	is disabled.
      
      gcc/testsuite/
      	* gnat.dg/debug11_pkg.adb, gnat.dg/debug11_pkg.ads,
      	gnat.dg/debug11_pkg2.ads: New testcase.
      
      From-SVN: r249449
      Pierre-Marie de Rodat committed
    • [i386] __builtin_ia32_stmxcsr could be pure · a23ba8cc
      2017-06-21  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* config/i386/i386.c (struct builtin_isa): New field pure_p.
      	Reorder for compactness.
      	(def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
      	(def_builtin_pure, def_builtin_pure2): New functions.
      	(ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.
      
      gcc/testsuite/
      	* gcc.target/i386/getround.c: New file.
      
      From-SVN: r249448
      Marc Glisse committed
    • NOP conversions in X+CST+CST · ed73f46f
      2017-06-21  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* match.pd (nop_convert): New predicate.
      	((A +- CST1) +- CST2): Allow some NOP conversions.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/addadd.c: Un-XFAIL.
      	* gcc.dg/tree-ssa/addadd-2.c: New file.
      
      From-SVN: r249447
      Marc Glisse committed
    • line-map.c (location_adhoc_data_update): Perform addition in uintptr_t type… · 6d522731
      line-map.c (location_adhoc_data_update): Perform addition in uintptr_t type rather than char * type.
      
      	* line-map.c (location_adhoc_data_update): Perform addition in
      	uintptr_t type rather than char * type.  Read *data using
      	ptrdiff_t type instead of int64_t.
      	(get_combined_adhoc_loc): Change offset type to ptrdiff_t from
      	int64_t.
      
      From-SVN: r249446
      Jakub Jelinek committed
    • re PR c++/81130 (ICE OpenMP shared clause in gimplify_var_or_parm_decl, at gimplify.c:2584) · d54d1fc3
      	PR c++/81130
      	* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
      	with ctors/dtors if GOVD_SHARED is set.
      
      	* testsuite/libgomp.c++/pr81130.C: New test.
      
      From-SVN: r249445
      Jakub Jelinek committed
    • Emit SIMD moves as mov · 9fe9816b
      SIMD moves are currently emitted as ORR.  Change this to use the MOV
      pseudo instruction just like integer moves (the ARM-ARM states MOV is the
      preferred disassembly), improving readability of -S output.
      
          gcc/
      	* config/aarch64/aarch64.md (movti_aarch64):
      	Emit mov rather than orr.
      	(movtf_aarch64): Likewise.
      	* config/aarch64/aarch64-simd.md (aarch64_simd_mov):
      	Emit mov rather than orr.
      
      From-SVN: r249444
      Wilco Dijkstra committed
    • Improve dup pattern · dca19fe1
      Improve the dup pattern to prefer vector registers.  When doing a dup
      after a load, the register allocator thinks the costs are identical
      and chooses an integer load.  However a dup from an integer register
      includes an int->fp transfer which is not modelled.  Adding a '?' to
      the integer variant means the cost is increased slightly so we prefer
      using a vector register.  This improves the following example:
      
      #include <arm_neon.h>
      void f(unsigned *a, uint32x4_t *b)
      {
        b[0] = vdupq_n_u32(a[1]);
        b[1] = vdupq_n_u32(a[2]);
      }
      
      to:
              ldr     s0, [x0, 4]
              dup     v0.4s, v0.s[0]
              str     q0, [x1]
              ldr     s0, [x0, 8]
              dup     v0.4s, v0.s[0]
              str     q0, [x1, 16]
              ret
      
          gcc/
      	* config/aarch64/aarch64-simd.md (aarch64_simd_dup):
      	Swap alternatives, make integer dup more expensive.
      
      From-SVN: r249443
      Wilco Dijkstra committed
    • Mark symbols as constant · f28e54bd
      Aarch64_legitimate_constant_p currently returns false for symbols,
      eventhough they are always valid constants.  This means LOSYM isn't
      CSEd correctly.  If we return true CSE works better, resulting in
      smaller/faster code (0.3% smaller code on SPEC2006).  Avoid this
      for TLS symbols since their sequence is complex.
      
          gcc/
      	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
      	Return true for non-tls symbols.
      
      From-SVN: r249442
      Wilco Dijkstra committed
    • [Patch AArch64] Add initial tuning support for Cortex-A55 and Cortex-A75 · 9a85b75f
      This patch adds support for the ARM Cortex-A75 and
      Cortex-A55 processors through the -mcpu/-mtune values cortex-a55 and
      cortex-a75, and an ARM DynamIQ big.LITTLE configuration of these two
      processors through the -mcpu/-mtune value cortex-a75.cortex-a55
      
      The ARM Cortex-A75 is ARM's latest and highest performance applications
      processor. For the initial tuning provided in this patch, I have chosen to
      share the tuning structure with its predecessor, the Cortex-A73.
      
      The ARM Cortex-A55 delivers the best combination of power efficiency
      and performance in its class. For the initial tuning provided in this patch,
      I have chosen to share the tuning structure with its predecessor, the
      Cortex-A53.
      
      Both Cortex-A55 and Cortex-A75 support ARMv8-A with the ARM8.1-A and
      ARMv8.2-A extensions, along with the cryptography extension, and
      the RCPC extensions from ARMv8.3-A. This is reflected in the patch,
      -mcpu=cortex-a75 is treated as equivalent to passing -mtune=cortex-a75
      -march=armv8.2-a+rcpc .
      
      2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>
      
      	* config/aarch64/aarch64-cores.def (cortex-a55): New.
      	(cortex-a75): Likewise.
      	(cortex-a75.cortex-a55): Likewise.
      	* config/aarch64/aarch64-tune.md: Regenerate.
      	* doc/invoke.texi (-mtune): Document new values for -mtune.
      
      From-SVN: r249441
      James Greenhalgh committed
    • Add dg-add-options feature stack_size · 6b92ab17
      2017-06-21  Tom de Vries  <tom@codesourcery.com>
      
      	* doc/sourcebuild.texi (Add Options, Features for dg-add-options): Add
      	stack_size feature.
      	(Effective-Target Keywords, Other attributes): Suggest using
      	dg-add-options stack_size feature to get stack limit in stack_size
      	effective target documentation.
      
      	* lib/target-supports.exp (add_options_for_stack_size): New proc.
      	* gcc.c-torture/execute/920501-7.c: Use dg-add-options stack_size.
      	* gcc.c-torture/compile/20080806-1.c: Same.
      	* gcc.c-torture/compile/920723-1.c: Same.
      	* gcc.c-torture/compile/930621-1.c: Same.
      	* gcc.c-torture/compile/991214-2.c: Same.
      	* gcc.c-torture/compile/bcopy.c: Same.
      	* gcc.c-torture/compile/memtst.c: Same.
      	* gcc.c-torture/compile/msp.c: Same.
      	* gcc.c-torture/compile/stuct.c: Same.
      	* gcc.c-torture/execute/20011008-3.c: Same.
      	* gcc.c-torture/execute/20030209-1.c: Same.
      	* gcc.c-torture/execute/20031012-1.c: Same.
      	* gcc.c-torture/execute/20040805-1.c: Same.
      	* gcc.c-torture/execute/920410-1.c: Same.
      	* gcc.c-torture/execute/921113-1.c: Same.
      	* gcc.c-torture/execute/921202-1.c: Same.
      	* gcc.c-torture/execute/921208-2.c: Same.
      	* gcc.c-torture/execute/930106-1.c: Same.
      	* gcc.c-torture/execute/930406-1.c: Same.
      	* gcc.c-torture/execute/950221-1.c: Same.
      	* gcc.c-torture/execute/960521-1.c: Same.
      	* gcc.c-torture/execute/980605-1.c: Same.
      	* gcc.c-torture/execute/comp-goto-1.c: Same.
      	* gcc.c-torture/execute/comp-goto-2.c: Same.
      	* gcc.c-torture/execute/memcpy-1.c: Same.
      	* gcc.c-torture/execute/multi-ix.c: Same.
      	* gcc.c-torture/execute/nestfunc-4.c: Same.
      	* gcc.c-torture/execute/pr20621-1.c: Same.
      	* gcc.c-torture/execute/pr23135.c: Same.
      	* gcc.c-torture/execute/pr28982b.c: Same.
      	* gcc.dg/loop-3.c: Same.
      	* gcc.dg/struct-ret-3.c: Same.
      	* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
      	* gcc.dg/tree-prof/comp-goto-1.c: Same.
      	* gcc.dg/tree-prof/pr44777.c: Same.
      
      From-SVN: r249440
      Tom de Vries committed
    • PR libstdc++/81092 Regenerate configure for libtool_VERSION change · ed39d22d
      	PR libstdc++/81092
      	* configure: Regenerate.
      
      From-SVN: r249438
      Jonathan Wakely committed
    • configure.ac: Add AC_SYS_LARGEFILE. · e91a2ddc
      2017-06-21  Richard Biener  <rguenther@suse.de>
      
      	* configure.ac: Add AC_SYS_LARGEFILE.
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      
      From-SVN: r249436
      Richard Biener committed
    • re PR gcov-profile/81080 (target libgcov not built with large file support) · a51a76e5
      2017-06-21  Richard Biener  <rguenther@suse.de>
      
      	PR gcov-profile/81080
      	* configure.ac: Add AC_SYS_LARGEFILE.
      	* libgcov.h: Include auto-target.h before tsystem.h to pick
      	up _FILE_OFFSET_BITS which might differ for multilibs.
      	* config.in: Regenerate.
      	* configure: Likewise.
      
      From-SVN: r249435
      Richard Biener committed
    • Update the ChangeLog to include config/arm/cortex-a53.md · e2bb0ed0
      	and config/arm/exynos-m1.md modifications
      
      From-SVN: r249434
      Naveen H.S committed
    • * config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi) · a2074e9c
      	(aarch64_crypto_pmullv2di): Change type attribute to crypto_pmull.
      	* config/aarch64/thunderx2t99.md (thunderx2t99_pmull): New
      	reservation.
      	* config/arm/cortex-a57.md (cortex_a57_neon_type): Add crypto_pmull to
      	attribute type list for neon_multiply.
      	* config/arm/crypto.md (crypto_vmullp64): Change type to crypto_pmull.
      	* config/arm/types.md (crypto_pmull): Add.
      	* config/arm/xgene1.md (xgene1_neon_pmull): Add crypto_pmull to
      	attribute type list.
      
      
      Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@cavium.com>
      
      From-SVN: r249433
      Julian Brown committed
    • Daily bump. · 12d0fd3f
      From-SVN: r249432
      GCC Administrator committed
  2. 20 Jun, 2017 21 commits
    • config.gcc (armv6*-*-freebsd*): Change the target_cpu_cname to arm1176jzf-s. · b5e204dc
      2017-06-20  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * config.gcc (armv6*-*-freebsd*): Change the target_cpu_cname to
          arm1176jzf-s.
      
      From-SVN: r249428
      Andreas Tobler committed
    • Fix -Werror=class-memaccess failures in jit testsuite (PR jit/81144) · 191578a5
      gcc/testsuite/ChangeLog:
      	PR jit/81144
      	* jit.dg/test-operator-overloading.cc (make_test_quadratic): Replace
      	memset call with zero-initialization.
      	* jit.dg/test-quadratic.cc (make_test_quadratic): Likewise.
      
      From-SVN: r249427
      David Malcolm committed
    • ira-costs.c (find_costs_and_classes): Initialize cost_classes later to make sure… · 0dc7d7cc
      ira-costs.c (find_costs_and_classes): Initialize cost_classes later to make sure not to dereference a NULL...
      
      	* ira-costs.c (find_costs_and_classes): Initialize cost_classes later
      	to make sure not to dereference a NULL cost_classes_ptr pointer.
      
      From-SVN: r249426
      Jakub Jelinek committed
    • pr80732.c: Include fma4-check.h. · 8a259e30
      	* gcc.target/i386/pr80732.c: Include fma4-check.h.
      	(main): Renamed to ...
      	(fma4_test): ... this.
      
      From-SVN: r249425
      Uros Bizjak committed
    • rs6000-c.c (altivec_overloaded_builtins): Add ALTIVEC_BUILTIN_VMULESW... · 1259ccfc
      gcc/ChangeLog:
      
      2017-06-20  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
      	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
      	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
      	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
      	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
      	VMULOSW): New enum "unspec" values.
      	(vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
      	vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si,
      	altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
      	altivec_vmulosw): New patterns.
      	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
      	VMULOSW): Add definitions.
      
      From-SVN: r249424
      Carl Love committed
    • Fix rounding pattern similar to PR73350. · b6837e04
      gcc/
      	* config/i386/i386.c: Fix rounding expand for new pattern.
      	* config/i386/subst.md: Fix pattern (parallel -> unspec).
      gcc/testsuite/
      	* gcc.target/i386/pr73350-2.c: New test.
      
      From-SVN: r249423
      Julia Koval committed
    • Support multi-tool sum files in dg-cmp-results.sh · afc474f8
      2017-06-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          contrib/
          * dg-cmp-results.sh: Keep test result lines rather than throwing
          header and summary to support sum files with multiple tools.
      
      From-SVN: r249422
      Thomas Preud'homme committed
    • PR c++/80972 - C++17 ICE with attribute packed. · d276da0c
      	* call.c (build_over_call): Allow a TARGET_EXPR from reference
      	binding.
      
      From-SVN: r249420
      Jason Merrill committed
    • cp-tree.h (CPTI_NELTS_IDENTIFIER): Delete. · 1e5d2102
      	* cp-tree.h (CPTI_NELTS_IDENTIFIER): Delete.
      	(nelts_identifier): Delete.
      	* decl.c (initialize_predefined_identifiers): Remove nelts.
      
      From-SVN: r249419
      Nathan Sidwell committed
    • baseline_symbols.txt: Update. · 32639794
      	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r249418
      Uros Bizjak committed
    • [Patch AArch64] Add rcpc extension · 78295eff
      gcc/
      
      	* config/aarch64/aarch64-option-extensions.def (rcpc): New.
      	* config/aarch64/aarch64.h (AARCH64_FL_RCPC): New.
      
      From-SVN: r249414
      James Greenhalgh committed
    • [Patch AArch64 obvious] Fix expected string for fp16 extensions · 849ef9ca
      gcc/
      
      	* config/aarch64/aarch64-option-extensions.def (fp16): Fix expected
      	feature string.
      
      From-SVN: r249411
      James Greenhalgh committed
    • [Patch AArch64 obvious] Rearrange the processors in aarch64-cores.def · 27b9e8dc
      gcc/
      
      	* config/aarch64/aarch64-cores.def: Rearrange to sort by
      	architecture, then by implementer ID.
      	* config/aarch64/aarch64-tune.md: Regenerate.
      
      From-SVN: r249410
      James Greenhalgh committed
    • Always check for target i?86 and x86_64 · 67ea3f4e
      	libstdc++-v3:
      	* testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and
      	lp64 targets.
      
      	gcc/testsuite:
      	* c-c++-common/fold-masked-cmp-1.c: Allow for i?86-*-* target.
      	* c-c++-common/fold-masked-cmp-2.c: Likewise.
      	* c-c++-common/fold-masked-cmp-3.c: Likewise.
      	* g++.dg/cpp0x/alignas4.C: Allow for i?86-*-* target, don't
      	restrict to x86_64-*-*-gnu.
      	Skip scan-assembler on *-*-darwin*.
      	* g++.dg/vect/pr70944.cc: Allow for i?86-*-* target.
      	* gcc.dg/loop-invariant.c: Likewise.
      	* gcc.dg/lto/pr70955_0.c: Likewise.
      	* gcc.dg/tree-ssa/pr69196-1.c: Likewise.
      	* gcc.dg/tree-ssa/pr79803.c: Likewise.
      	* gfortran.dg/pr68078.f90: Allow for i?86-*-linux*.
      
      	* g++.dg/debug/dwarf2/const2b.C: Allow for x86_64-*-* target.
      	* gcc.dg/attr-ms_struct-1.c: Allow for all i?86-*-*, x86_64-*-*
      	targets.
      	* gcc.dg/attr-ms_struct-2.c: Likewise.
      	* gcc.dg/attr-ms_struct-packed1.c: Likewise.
      	* gcc.dg/bf-ms-layout.c: Likewise.
      	* gcc.dg/bf-ms-layout-2.c: Likewise.
      	* gcc.dg/pic-macro-define.c: Remove target restrictions.
      	Require fpic support.
      	* gcc.target/i386/bitfield1.c: Allow for all i?86-*-*, x86_64-*-*
      	targets.
      	* gcc.target/i386/bitfield2.c: Likewise.
      	* gcc.target/i386/darwin-fpmath.c: Allow for x86_64-*-darwin*
      	targets.
      	* gfortran.dg/fmt_pf.f90: Remove i?86-*-solaris2.9* from xfail.
      
      From-SVN: r249409
      Rainer Orth committed
    • PR c++/67074 - namespace aliases · 71bbbd13
      	PR c++/67074 - namespace aliases
      	* decl.c (duplicate_decls): Don't error here on mismatched
      	namespace alias.
      	* name-lookup.c (name_lookup::add_value): Matching namespaces are
      	not ambiguous.
      	(diagnose_name_conflict): Namespaces are never redeclarations.
      	(update_binding): An alias can match a real namespace.
      
      	PR c++/67074
      	* g++.dg/lookup/pr67074.C: New.
      	* g++.dg/parse/namespace-alias-1.C: Adjust.
      
      From-SVN: r249408
      Nathan Sidwell committed
    • re PR sanitizer/81097 (UBSAN: false positive for not existing negation operator… · 531f0b38
      re PR sanitizer/81097 (UBSAN: false positive for not existing negation operator and a bogus message)
      
      2017-06-20  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/81097
      	* fold-const.c (split_tree): Fold to type before negating.
      
      	* c-c++-common/ubsan/pr81097.c: New testcase.
      
      From-SVN: r249407
      Richard Biener committed
    • Prevent fix-it hints from affecting more than one line · c7a980b8
      Attempts to apply a removal or replacement fix-it hint to a source
      range that covers multiple lines currently lead to nonsensical
      results from the printing code in diagnostic-show-locus.c.
      
      We were already filtering them out in edit-context.c (leading
      to -fdiagnostics-generate-patch not generating any output for
      the whole TU).
      
      Reject attempts to add such fix-it hints within rich_location,
      fixing the diagnostic-show-locus.c issue.
      
      gcc/ChangeLog:
      	* diagnostic-show-locus.c
      	(selftest::test_fixit_deletion_affecting_newline): New function.
      	(selftest::diagnostic_show_locus_c_tests): Call it.
      
      libcpp/ChangeLog:
      	* include/line-map.h (class rich_location): Document that attempts
      	to delete or replace a range *affecting* multiple lines will fail.
      	* line-map.c (rich_location::maybe_add_fixit): Implement this
      	restriction.
      
      From-SVN: r249403
      David Malcolm committed
    • re PR target/80970 (internal compiler error in find_reloads, at reload.c:4077) · ad2f2a35
      PR target/80970
      * config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d"
      instead of "+d".
      
      From-SVN: r249401
      Andreas Schwab committed
    • pr65947-9.c: Adjust. · d47d7438
      2017-06-20  Richard Biener  <rguenther@suse.de>
      
      	* gcc.dg/vect/pr65947-9.c: Adjust.
      
      From-SVN: r249400
      Richard Biener committed
    • [ARM] Implement __ARM_FEATURE_COPROC coprocessor intrinsic feature macro · b5c7b957
      2017-06-20  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
      
          gcc/
          * config/arm/arm-c.c (arm_cpu_builtins): New block to define
          __ARM_FEATURE_COPROC according to support.
      
          gcc/testsuite/
          * gcc.target/arm/acle/cdp.c: Add feature macro bitmap test.
          * gcc.target/arm/acle/cdp2.c: Likewise.
          * gcc.target/arm/acle/ldc.c: Likewise.
          * gcc.target/arm/acle/ldc2.c: Likewise.
          * gcc.target/arm/acle/ldc2l.c: Likewise.
          * gcc.target/arm/acle/ldcl.c: Likewise.
          * gcc.target/arm/acle/mcr.c: Likewise.
          * gcc.target/arm/acle/mcr2.c: Likewise.
          * gcc.target/arm/acle/mcrr.c: Likewise.
          * gcc.target/arm/acle/mcrr2.c: Likewise.
          * gcc.target/arm/acle/mrc.c: Likewise.
          * gcc.target/arm/acle/mrc2.c: Likewise.
          * gcc.target/arm/acle/mrrc.c: Likewise.
          * gcc.target/arm/acle/mrrc2.c: Likewise.
          * gcc.target/arm/acle/stc.c: Likewise.
          * gcc.target/arm/acle/stc2.c: Likewise.
          * gcc.target/arm/acle/stc2l.c: Likewise.
          * gcc.target/arm/acle/stcl.c: Likewise.
      
      From-SVN: r249399
      Thomas Preud'homme committed
    • tree-chkp.c (chkp_get_hard_register_var_fake_base_address): Rewritten to avoid… · 0e36bb52
      tree-chkp.c (chkp_get_hard_register_var_fake_base_address): Rewritten to avoid overflow for > 32-bit pointers.
      
      	* tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
      	Rewritten to avoid overflow for > 32-bit pointers.
      
      From-SVN: r249398
      Jakub Jelinek committed