1. 04 Jul, 2019 30 commits
    • [Ada] Missing actual for generated initialization procedure · fa528281
      This patch fixes an issue whereby the use of an allocator with a
      composite type containing null-excluding components may lead to a
      compile time error due to incorrect code generation.
      
      2019-07-04  Justin Squirek  <squirek@adacore.com>
      
      gcc/ada/
      
      	* exp_ch3.adb (Build_Initialization_Call): Fixup
      	*_skip_null_excluding_check argument to handle new default.
      	(Init_Formals): Make *_skip_null_excluding_check formal default
      	to False
      	* exp_ch4.adb (Expand_N_Allocator): Add comment to note heavy
      	code duplication
      
      gcc/testsuite/
      
      	* gnat.dg/allocator.adb: New testcase.
      
      From-SVN: r273061
      Justin Squirek committed
    • [Ada] Do not create a master unless Tasking_Allowed · b27f2c40
      2019-07-04  Bob Duff  <duff@adacore.com>
      
      gcc/ada/
      
      	* sem_ch3.adb (Access_Definition): Do not create a master unless
      	Tasking_Allowed. Otherwise, this fails on restricted runtimes.
      
      From-SVN: r273060
      Bob Duff committed
    • [Ada] Assertion failure on Default_Initial_Condition · dd4d8a71
      This patch prevents the association of a Default_Initial_Condition with
      an incomplete type whose full view is the private type or private
      extension subject to the aspect/pragma.
      
      2019-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      gcc/ada/
      
      	* sem_util.adb (Propagate_DIC_Attributes): Do not propagate the
      	Default_Initial_Condition attributes to an incomplete type.
      
      gcc/testsuite/
      
      	* gnat.dg/default_initial_condition.adb,
      	gnat.dg/default_initial_condition_pack.adb,
      	gnat.dg/default_initial_condition_pack.ads: New testcase.
      
      From-SVN: r273059
      Hristian Kirtchev committed
    • [Ada] Spurious error on 'First in a generic context · 7cbdab5a
      This patch fixes a spurious error on an attribute reference within an
      aspect specification for an unconstrained array type when the
      corresponding type  declaration appears within a generic unit.
      
      2019-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* sem_attr.adb (Check_Array_Type): An array type attribute such
      	as 'First can be applied to an unconstrained array tyope when
      	the attribute reference appears within an aspect specification
      	and the prefix is a current instance, given that the prefix of
      	the attribute will become a formal of the subprogram that
      	implements the aspect (typically a predicate check).
      
      gcc/testsuite/
      
      	* gnat.dg/aspect2.adb, gnat.dg/aspect2.ads: New testcase.
      
      From-SVN: r273058
      Ed Schonberg committed
    • [Ada] Minor typo fixes · 965a269d
      2019-07-04  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* sem_util.adb (Yields_Synchronized_Object): Fix typos in
      	comments.
      
      From-SVN: r273057
      Piotr Trojanek committed
    • [Ada] Synchronized object definition in SPARK updated · 9193307b
      The definition of what types yield synchronized objected in SPARK has
      been updated to see through the privacy boundary.
      
      2019-07-04  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* sem_util.adb (Yields_Synchronized_Object): Adapt to new SPARK
      	rule.
      
      gcc/testsuite/
      
      	* gnat.dg/synchronized2.adb, gnat.dg/synchronized2.ads,
      	gnat.dg/synchronized2_pkg.ads: New testcase.
      
      From-SVN: r273056
      Yannick Moy committed
    • [Ada] Fix crash in SPARK ownership checking · 194dc648
      Analysis could crash on extended return of a non-deep type, now fixed.
      This has no impact on compilation.
      
      2019-07-04  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* sem_spark.adb (Check_Statement): Only check permission of
      	object in extended return when it is of a deep type.
      
      From-SVN: r273055
      Yannick Moy committed
    • [Ada] Hang on expansion of library-level instantiation · 7273107b
      This patch fixes an issue whereby instantiation of a generic at the
      library-level may cause a hang or crash during compilation due to
      inappropriate expansion of generic actuals.
      
      2019-07-04  Justin Squirek  <squirek@adacore.com>
      
      gcc/ada/
      
      	* sem_ch12.adb (Perform_Appropriate_Analysis): Added for
      	selecting which type of analysis based on wheither the
      	instantiation is a generic at the library-level. In which case
      	expansion during analysis.
      	(Preanalyze_Actuals): Modify calls to Analyze to use the new
      	routine.
      
      gcc/testsuite/
      
      	* gnat.dg/generic_inst4.adb, gnat.dg/generic_inst4_gen.ads,
      	gnat.dg/generic_inst4_inst.ads, gnat.dg/generic_inst4_typ.ads:
      	New testcase.
      
      From-SVN: r273054
      Justin Squirek committed
    • [Ada] Unnesting: handle conditional expressions · c3c41b29
      2019-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* exp_unst.adb: Handle conditional expressions.
      
      From-SVN: r273053
      Ed Schonberg committed
    • [Ada] Skip code not in SPARK for ownership analysis · 3d53efa6
      Ownership rules for pointer support should only apply to code marked in
      SPARK. There is no impact on compilation.
      
      2019-07-04  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* sem_spark.adb (Check_Package_Spec, Check_Package_Body): Only
      	analyze parts of the code marked in SPARK.
      
      From-SVN: r273052
      Yannick Moy committed
    • [Ada] Minor reformatting · bc1146e5
      2019-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      gcc/ada/
      
      	* erroutc.adb, exp_aggr.adb, inline.adb, opt.adb, sem_ch3.adb:
      	Minor reformatting.
      
      From-SVN: r273051
      Hristian Kirtchev committed
    • [Ada] Better error messages for ownership errors in SPARK · b04fe972
      When SPARK code does not follow the ownership rules of SPARK RM 3.10,
      the error message now points to a location explaining why the object has
      a more restricted permission than the expected one.
      
      There is no impact on compilation.
      
      2019-07-04  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* sem_spark.adb (Explanation, Get_Expl): New functions to get
      	the explanation for a permission mismatch.
      	(Perm_Error, Perm_Mismatch, Perm_Error_Loop_Exit): Take
      	explanation into account for issuing a more precise error
      	message.
      	(Set_Perm_Prefixes, Set_Perm_Extensions,
      	Set_Perm_Extensions_Move): Pass suitable argument for the
      	explanation node.
      
      From-SVN: r273050
      Yannick Moy committed
    • [Ada] CCG: reduce generated temporaries · 4ff5aa0c
      2019-07-04  Arnaud Charlet  <charlet@adacore.com>
      
      gcc/ada/
      
      	* exp_aggr.adb (In_Place_Assign_OK): Moved to top level and add
      	support for record aggregates.
      	(Component_Check): Use Is_CCG_Supported_Aggregate instead of a
      	similar local predicate.
      	(Convert_To_Assignments): Take advantage of In_Place_Assign_OK
      	predicate when possible.
      	(Is_CCG_Supported_Aggregate): Return False for records with
      	representation clauses and fix the logic for dealing with nested
      	aggregates.
      
      From-SVN: r273049
      Arnaud Charlet committed
    • [Ada] Keep assertions in internal units enabled for GNATprove · d8be36d2
      In GNATprove mode the assertion policy is now always enabled, even when
      analysing internal units. Otherwise, assertion expressions (e.g.
      Default_Initial_Condition) in internal units (e.g. Ada.Text_IO)
      disappear in the semantic analysis phase of the frontend and the
      GNATprove backend can't see them.
      
      No frontend test provided, because only the GNATprove backend is
      affected (and there appear to be no difference in the output with -gnatG
      switch, because the expansion of Default_Initial_Condition is not
      attached to the AST).
      
      2019-07-04  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* opt.adb (Set_Config_Switches): Keep assertions policy as
      	enabled when analysing internal units in GNATprove mode.
      
      From-SVN: r273048
      Piotr Trojanek committed
    • [Ada] CCG: restrict folding for boolean tests · a0766a82
      2019-07-04  Arnaud Charlet  <charlet@adacore.com>
      
      gcc/ada/
      
      	* exp_ch4.adb (Expand_Short_Circuit_Operator): Strip
      	N_Variable_Reference_Marker when checking for the presence of
      	actions.
      
      From-SVN: r273047
      Arnaud Charlet committed
    • [Ada] Reduce emitted code size in CCG for aggregate assignment · cd93d2d8
      2019-07-04  Arnaud Charlet  <charlet@adacore.com>
      
      gcc/ada/
      
      	* exp_aggr.adb (Check_Component): Take into account type
      	conversions.
      
      From-SVN: r273046
      Arnaud Charlet committed
    • [Ada] GNAT.Sockets: fix socket timeout on recent Windows versions · b7d5159e
      2019-07-04  Dmitriy Anisimkov  <anisimko@adacore.com>
      
      gcc/ada/
      
      	* doc/gnat_ugn/platform_specific_information.rst: Document
      	Windows socket timeout particularity.
      	* gnat_ugn.texi: Regenerate.
      	* gsocket.h: Include versionhelpers.h.
      	* socket.c (__gnat_minus_500ms): New function.
      	* libgnat/g-sothco.ads (Minus_500ms_Windows_Timeout): New
      	imported function.
      	* libgnat/g-socket.adb (Set_Socket_Option): Refactor to remove
      	500ms from the requested timeout only on old Windows version.
      
      From-SVN: r273045
      Dmitriy Anisimkov committed
    • [Ada] Get_Scos: Remove bogus, dead code · 1708a783
      The nonsensical snippet was found by Codepeer. No behavior change.
      
      2019-07-04  Thomas Quinot  <quinot@adacore.com>
      
      gcc/ada/
      
      	* get_scos.adb: Remove bogus, dead code.
      
      From-SVN: r273044
      Thomas Quinot committed
    • [Ada] Spurious dimensionality error on aggregate with "others" assoc. · dcd59a99
      This patch fixes a spurious dimensionality error on an array aggregate
      with a single "others' clause whose expression is a dimensioned entity,
      The expansion of the aggregate may create copies of the expression, and
      the dimensionality check must use the type of the expression to retrieve
      the proper dimension information to check against the dimensions of the
      array component type.
      
      2019-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* sem_dim.adb (Analyze_Dimension_Array_Aggregate): If the
      	component is an entity name, its dimensions are those of its
      	type.
      
      gcc/testsuite/
      
      	* gnat.dg/dimensions2.adb, gnat.dg/dimensions2_phys.ads,
      	gnat.dg/dimensions2_real_numbers.ads: New testcase.
      
      From-SVN: r273043
      Ed Schonberg committed
    • tree-ssa-sccvn.h (vn_reference_lookup): Add last_vuse_ptr argument. · ee7904e9
      2019-07-04  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.h (vn_reference_lookup): Add last_vuse_ptr
      	argument.
      	* tree-ssa-sccvn.c (last_vuse_ptr, vn_walk_kind): Move
      	globals into...
      	(struct vn_walk_cb_data): New callback data struct.
      	(vn_reference_lookup_2): Adjust.
      	(vn_reference_lookup_3): Likewise.
      	(vn_reference_lookup_pieces): Likewise.
      	(vn_reference_lookup): Likewise, get last_vuse_ptr argument.
      	(visit_reference_op_load): Adjust.
      
      From-SVN: r273042
      Richard Biener committed
    • re PR tree-optimization/91063 (ICE in set_vinfo_for_stmt, at tree-vectorizer.c:676) · 6f01ad76
      	PR tree-optimization/91063
      	* tree-vect-stmts.c (vect_init_vector): Call gsi_remove to remove
      	stmt from stmts sequence before calling vect_init_vector_1.
      	Formatting fix.
      
      	* gcc.dg/gomp/pr91063.c: New test.
      
      From-SVN: r273041
      Jakub Jelinek committed
    • re PR target/88833 ([SVE] Redundant moves for WHILELO-based loops) · 75da268e
      2019-07-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	PR target/88833
      	* fwprop.c (reg_single_def_p): New function.
      	(propagate_rtx_1): Add unconditional else inside RTX_EXTRA case.
      	(forward_propagate_into): New parameter reg_prop_only
      	with default value false.
      	Propagate def's src into loop only if SET_SRC and SET_DEST
      	of def_set have single definitions.
      	Likewise if reg_prop_only is set to true.
      	(fwprop): New param fwprop_addr_p.
      	Integrate fwprop_addr into fwprop.
      	(fwprop_addr): Remove.
      	(pass_rtl_fwprop_addr::execute): Call fwprop with arg set
      	to true.
      	(pass_rtl_fwprop::execute): Call fwprop with arg set to false.
      	* simplify-rtx.c (simplify_subreg): Add case for vector comparison.
      	* config/i386/sse.md (UNSPEC_BLENDV): Adjust pattern.
      
      testsuite/
      	* gfortran.dg/pr88833.f90: New test.
      
      From-SVN: r273040
      Prathamesh Kulkarni committed
    • re PR tree-optimization/91069 (Miscompare of 453.povray since r272843) · 6b150619
      	PR middle-end/91069
      	* gcc.dg/pr91069.c (v2df): Use 2 * sizeof (double) instead of
      	hardcoded 16 for better portability.
      	(v2di): Change from long vector to long long vector.  Use
      	2 * sizeof (long long) instead of hardcoded 16.
      
      From-SVN: r273039
      Jakub Jelinek committed
    • omp-low.c (lower_omp_scan): Call lower_omp on stmt's body in worksharing loop scans. · 62180052
      	* omp-low.c (lower_omp_scan): Call lower_omp on stmt's body
      	in worksharing loop scans.
      
      From-SVN: r273038
      Jakub Jelinek committed
    • re PR tree-optimization/91074 (c-c++-common/gomp/scan-3.c fails with ICE starting with r272958) · 6c96b432
      	PR tree-optimization/91074
      	* omp-low.c (lower_omp_for_scan): Set DECL_GIMPLE_REG_P on cplx
      	temporary.
      
      From-SVN: r273037
      Jakub Jelinek committed
    • re PR rtl-optimization/90756 (g++ ICE in convert_move, at expr.c:218 on i686 and s390x) · a59b2e42
      	PR rtl-optimization/90756
      	* explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it
      	for VECTOR_TYPE_P.
      
      	* gcc.dg/pr90756.c: New test.
      
      From-SVN: r273036
      Jakub Jelinek committed
    • compiler: optimize 0,1,2-case select statement · 0e68d70b
          
          For a select statement with zero-, one-, or two-case with a
          default case, we can generate simpler code instead of calling the
          generic selectgo. A zero-case select is just blocking the
          execution. A one-case select is mostly just executing the case. A
          two-case select with a default case is a non-blocking send or
          receive. We add these special cases for lowering a select
          statement.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/184998
      
      From-SVN: r273034
      Ian Lance Taylor committed
    • [MIPS][Testsuite] Specify msa-fmadd.c abis. · 9c5784fa
      gcc/testsuite/
      
              * gcc.target/mips/mips-fmadd.c: Rename to ... 
              * gcc.target/mips/mips-fmadd-o32.c: ... Here; add abi=32.
              * gcc.target/mips/mips-fmadd-n64.c: New.
      
      From-SVN: r273033
      Chenghua Xu committed
    • Daily bump. · c93d9e4f
      From-SVN: r273031
      GCC Administrator committed
  2. 03 Jul, 2019 10 commits
    • compiler: set varargs lowered for imported call expressions · 651c754c
          
          Fix compiler buglet: varargs lowering happens before inlinable
          function bodies are written out to export data, so set the "varargs
          lowered" flag on call expressions that we import.
          
          Fixes golang/go#32922
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/184919
      
      From-SVN: r273026
      Ian Lance Taylor committed
    • PR libstdc++/91067 fix missing exports for filesystem iterators · 67699bf6
      The copy assignment operator for recursive_directory_iterator was not
      exported despite being needed. The __shared_ptr default constructors are
      not needed when compiling with GCC but Clang requires them for -O1.
      
      	PR libstdc++/91067
      	* acinclude.m4 (libtool_VERSION): Bump to 6:27:0.
      	* configure: Regenerate.
      	* config/abi/pre/gnu.ver (GLIBCXX_3.4.27): Add new version. Export
      	missing symbols.
      	* testsuite/27_io/filesystem/iterators/91067.cc: New test.
      	* testsuite/util/testsuite_abi.cc: Add new symbol version.
      
      From-SVN: r273023
      Jonathan Wakely committed
    • [AArch64] Remove constraint strings from define_expand constructs · 1bbffb87
      A number of AArch64 define_expand patterns have specified constraints
      for their operands. But the constraint strings are ignored at expand
      time and are therefore redundant/useless. We now avoid specifying
      constraints in new define_expands, but we should clean up the existing
      define_expand definitions.
      
      For example, the constraint "=w" is removed in the following case:
      (define_expand "sqrt<mode>2"
          [(set (match_operand:GPF_F16 0 "register_operand" "=w")
      The "" marks with an empty constraint in define_expand are removed as well.
      
      2019-07-03  Dennis Zhang  <dennis.zhang@arm.com>
      
      gcc/
      	* config/aarch64/aarch64.md: Remove redundant constraints from
      	define_expand but keep some patterns untouched if they are
      	specially selected by TARGET_SECONDARY_RELOAD hook.
      	* config/aarch64/aarch64-sve.md: Likewise.
      	* config/aarch64/atomics.md: Remove redundant constraints from
      	define_expand.
      	* config/aarch64/aarch64-simd.md: Likewise.
      
      From-SVN: r273021
      Dennis Zhang committed
    • [Darwin] Revise pie,no-pie and rdynamic driver specs. · 03eddfb3
      Processing these early and pushing the corresponding Xlinker lines
      has the effect that the driver then supposes that there are linker
      inputs, and causes a link line to be created when it is not needed 
      
      The solution is to place these drive specs into the link spec and
      claim them at the end of that.
      
      2019-07-03  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.h (DRIVER_SELF_SPECS): Remove the linker cases.
      	(RDYNAMIC): Rename to, DARWIN_RDYNAMIC.
      	(DARWIN_PIE_SPEC, DARWIN_NOPIE_SPEC): Adjust to remove the Xlinker
      	clauses.
      	(LINK_COMMAND_SPEC_A): Add DARWIN_RDYNAMIC, DARWIN_PIE_SPEC and
      	DARWIN_NOPIE_SPEC.
      
      From-SVN: r273017
      Iain Sandoe committed
    • [Darwin] Some TLC for older Darwin versions. · 179c7ef5
      The library handling and some of the options for creating the crts for
      the older PPC Darwin versions had bit-rotted somewhat.  This adjusts the
      build criteria for the crts to avoid newer ld64 versions warnings about
      mismatches in build and object versions.
      
      Added to some of the comments that it's documented why the specs are as
      they are.
      
      2019-07-03  Iain Sandoe  <iain@sandoe.co.uk>
      
      gcc/
      
      	* config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin.
      	(STARTFILE_SPEC): Split crt3 into a separate spec.
      	(DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec.
      	(DARWIN_CRT2_SPEC): New.
      	(DARWIN_CRT3_SPEC): New.
      	(MIN_LD64_OMIT_STUBS): Revise to 62.1.
      	* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions.
      	(DARWIN_CRT3_SPEC): New.
      
      libgcc/
      
      2019-07-03  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config.host (powerpc-*-darwin*,powerpc64-*-darwin*): Revise crt
      	list.
      	* config/rs6000/t-darwin: Build crt3_2 for older systems.  Revise
      	mmacosx-version-min for crts to run across all system versions.
      	* config/rs6000/t-darwin64 (LIB2ADD): Remove.
      	* config/t-darwin: Revise mmacosx-version-min for crts to run across
      	system versions >= 10.4.
      
      From-SVN: r273016
      Iain Sandoe committed
    • altivec.md (altivec_mov<mode>, [...]): Change the RTL attribute "length" from… · 911c8df0
      altivec.md (altivec_mov<mode>, [...]): Change the RTL attribute "length" from "4" to "*" to allow the length attribute...
      
      2019-07-03  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/altivec.md (altivec_mov<mode>, VM2 iterator):
      	Change the RTL attribute "length" from "4" to "*" to allow the
      	length attribute to be adjusted automatically for prefixed load,
      	store, and add immediate instructions.
      	* config/rs6000/rs6000.md (extendhi<mode>2, EXTHI iterator):
      	Likewise.
      	(extendsi<mode>2, EXTSI iterator): Likewise.
      	(movsi_internal1): Likewise.
      	(movsi_from_sf): Likewise.
      	(movdi_from_sf_zero_ext): Likewise.
      	(mov<mode>_internal): Likewise.
      	(movcc_internal1, QHI iterator): Likewise.
      	(mov<mode>_softfloat, FMOVE32 iterator): Likewise.
      	(movsf_from_si): Likewise.
      	(mov<mode>_hardfloat32, FMOVE64 iterator): Likewise.
      	(mov<mode>_softfloat64, FMOVE64 iterator): Likewise.
      	(mov<mode>, FMOVE128 iterator): Likewise.
      	(movdi_internal64): Likewise.
      	* config/rs6000/vsx.md (vsx_le_permute_<mode>, VSX_TI iterator):
      	Likewise.
      	(vsx_le_undo_permute_<mode>, VSX_TI iterator): Likewise.
      	(vsx_mov<mode>_64bit, VSX_M iterator): Likewise.
      	(vsx_mov<mode>_32bit, VSX_M iterator): Likewise.
      	(vsx_splat_v4sf): Likewise.
      
      From-SVN: r273013
      Michael Meissner committed
    • Fix store merging tests on Arm · e5833b56
      Fix the failing store merging test on Arm.  Aligning variables fixes a
      few cases, otherwise disable the test on Arm.  All store merging tests
      now pass.  Committed as obvious.
      
          testsuite/
      	* gcc.dg/store_merging_27.c: Fix test for Arm.
      	* gcc.dg/store_merging_28.c: Likewise.
      	* gcc.dg/store_merging_29.c: Likewise.
      	* gcc.dg/tree-ssa/dump-6.c: Likewise.
      
      From-SVN: r273011
      Wilco Dijkstra committed
    • compiler: include transitive imports in the type descriptor list · a35d6e9f
          
          In CL 179598, we were using Gogo::packages_, when compiling the
          main package, as the list of packages of which we need to
          register the type descriptors. This is not complete. It only
          includes main's direct import and one-level indirect imports. It
          does not include all the packages transitively imported.
          
          To fix that, we need to track all the transitive imports. We
          have almost already done that, for init functions. However, there
          may be packages that don't need init functions but do need to
          register type descriptors. For them, we add a dummy init function
          to its export data. So when we compile the main package we will
          see all the transitive imports. The dummy init functions are not
          real functions and are not called.
          
          Fixes golang/go#32901.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/184717
      
      From-SVN: r273009
      Ian Lance Taylor committed
    • PR debug/90981 Empty .debug_addr crashes -gdwarf-5 -gsplit-dwarf · 6c47a87b
      Even if there was no, or an empty address list we would try to generate
      a header for the .debug_addr section with -gdwarf-5 and -gsplit-dwarf.
      The skeleton DIE would also get a (dangling) DW_AT_addr_base in that case.
      
      	PR debug/90981
      	* dwarf2out.c (add_top_level_skeleton_die_attrs): Only add
      	DW_AT_addr_base if there is actually a .debug_addr section with
      	addresses.
      	(output_addr_table): Add DWARF5 table header generation here after
      	checking there are actually any addresses from...
      	(dwarf2out_finish): ...here.
      	* testsuite/g++.dg/pr90981.C: New test.
      
      From-SVN: r273008
      Mark Wielaard committed
    • re PR tree-optimization/91069 (Miscompare of 453.povray since r272843) · cc49641a
      2019-07-03  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/91069
      	* match.pd (vec_perm -> bit_insert): Fix element read from
      	first vector.
      
      	* gcc.dg/pr91069.c: New testcase.
      
      From-SVN: r273007
      Richard Biener committed