1. 16 Jan, 2019 20 commits
    • Fix failing filesystem tests on mingw targets · edfe833a
      	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add exports for fstream
      	constructors and open members taking wide strings. Fix patterns for
      	filesystem::path members to match wstring_view parameters. Add
      	exports for shared_ptr members used by directory iterators.
      	* src/c++17/fs_ops.cc (remove(const path&, error_code&)): Clear the
      	error code parameter if the file doesn't exist.
      	* src/filesystem/ops.cc (remove(const path&, error_code&)):
      	Likewise.
      	* testsuite/27_io/filesystem/operations/canonical.cc: Fix expected
      	values for mingw targets, where "/" is not an absolute path. Do not
      	test symlinks on mingw targets.
      	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
      	* testsuite/27_io/filesystem/operations/copy.cc: Do not test symlinks
      	on mingw targets.
      	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
      	* testsuite/27_io/filesystem/operations/create_directories.cc: Check
      	that each component of the path is created.
      	* testsuite/experimental/filesystem/operations/create_directories.cc:
      	Likewise.
      	* testsuite/27_io/filesystem/operations/exists.cc: Do not test
      	permissions on mingw targets.
      	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
      	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
      	* testsuite/27_io/filesystem/operations/permissions.cc: XFAIL for
      	mingw targets.
      	* testsuite/experimental/filesystem/operations/permissions.cc:
      	Likewise.
      	* testsuite/27_io/filesystem/operations/remove.cc: Do not test
      	symlinks or permissions on mingw targets.
      	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
      	* testsuite/27_io/filesystem/operations/remove_all.cc: Do not test
      	symlinks on mingw targets.
      	* testsuite/experimental/filesystem/operations/remove_all.cc:
      	Likewise.
      	* testsuite/27_io/filesystem/operations/status.cc: Do not test
      	permissions on mingw targets.
      	* testsuite/27_io/filesystem/operations/weakly_canonical.cc: Do not
      	test symlinks on mingw targets.
      	* testsuite/experimental/filesystem/operations/space.cc: Fix test
      	for mingw targets.
      
      From-SVN: r267991
      Jonathan Wakely committed
    • syscall: mark C syscall functions noescape · a6804ea9
          
          Many C syscall functions take pointer arguments. The pointers
          don't escape in the C functions. Mark the C functions noescape so
          calling them doesn't need allocation.
          
          Reviewed-on: https://go-review.googlesource.com/c/158158
      
      From-SVN: r267989
      Ian Lance Taylor committed
    • [libbacktrace] Factor out read_referenced_name_from_attr · 07e1534f
      Factor out the common handling of DW_AT_abstract_origin and
      DW_AT_specification from read_function_entry and read_referenced_name.
      
      2019-01-16  Tom de Vries  <tdevries@suse.de>
      
      	* dwarf.c (read_referenced_name_from_attr): New function.  Factor out
      	of ...
       	(read_referenced_name): ... here, and ...
      	(read_function_entry): ... here.
      
      From-SVN: r267986
      Tom de Vries committed
    • [D] Fix failing EH execution test on i386. · e42589bd
      Turn off partitioning unless it was explicitly requested, as it doesn't
      work with D exception chaining, where personality routines use LSDA to
      determine whether two thrown exceptions are in the same context.
      
      The following distills what was failing in the D testsuite.
      ```
      try {
        try {
          fn();  // throws "1"
        }
        finally {
          throw new Exception("2");
        }
      }
      catch (Exception e) {
        assert(e.msg == "1");
        assert(e.next.msg == "2");
      }
      ```
      
      gcc/d/ChangeLog:
      
      	PR d/87824
      	* d-lang.cc (d_post_options): Disable implicit
      	-forder-blocks-and-partition.
      
      From-SVN: r267985
      Iain Buclaw committed
    • Fix ICE due to "combine" creating unreachable EH blocks (PR target/88861) · 15b93db9
      PR target/88861 reports an ICE in "ce2" due to an unreachable
      basic block.
      
      The block becomes unreachable in "combine" when delete_noop_moves
      deletes an insn with a REG_EH_REGION, deleting the EH edge, the
      only edge leading to the basic block.
      
      Normally, rest_of_handle_combine would call cleanup_cfg, deleting
      unreachable blocks, if combine_instructions returns true, and
      combine_instructions does return true for some cases of edge-removal,
      but it doesn't for this case, leading to the ICE.
      
      This patch updates delete_noop_moves so that it returns true if
      it deletes any edges, and passes that through to combine_instructions,
      so that it too will return true if any edges were deleted, ensuring that
      cleanup_cfg will be called by rest_of_handle_combine for this case,
      deleting the now-unreachable block, and fixing the ICE.
      
      gcc/ChangeLog:
      	PR target/88861
      	* combine.c (delete_noop_moves): Convert to "bool" return,
      	returning true if any edges are eliminated.
      	(combine_instructions): Also return true if delete_noop_moves
      	returns true.
      
      gcc/testsuite/ChangeLog:
      	PR target/88861
      	* g++.dg/torture/pr88861.C: New test.
      
      From-SVN: r267984
      David Malcolm committed
    • aarch64-builtins.c (aarch64_simd_expand_args): Use correct max nunits for endian swap. · 33b5a38c
      2019-01-16  Tamar Christina  <tamar.christina@arm.com>
      
      	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use
      	correct max nunits for endian swap.
      	(aarch64_expand_fcmla_builtin): Correct subreg code.
      	* config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
      	aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>): Correct
      	lane endianness.
      
      From-SVN: r267983
      Tamar Christina committed
    • Fix PR88046 on AArch64 and Arm bare metal targets. · 4e7cbff5
      gcc/testsuite/ChangeLog:
      
      	PR debug/88046
      	* g++.dg/lto/pr88046_0.C: Check for shared and fPIC.
      
      From-SVN: r267980
      Tamar Christina committed
    • decl.c (grokdeclarator): Use locations[ds_storage_class] in error messages about… · 59ec4914
      decl.c (grokdeclarator): Use locations[ds_storage_class] in error messages about ill-formed uses of mutable.
      
      /cp
      2019-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (grokdeclarator): Use locations[ds_storage_class] in
      	error messages about ill-formed uses of mutable.
      
      /testsuite
      2019-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/other/pr33558.C: Test location too.
      	* g++.dg/other/pr33558-2.C: Likewise.
      	* g++.dg/parse/crash4.C: Likewise.
      	* g++.old-deja/g++.brendan/err-msg11.C: Likewise.
      	* g++.old-deja/g++.mike/p7635.C: Likewise.
      	* g++.old-deja/g++.other/decl6.C: Likewise.
      
      From-SVN: r267978
      Paolo Carlini committed
    • PR c++/78244 - narrowing conversion in template not detected. · 2ea2a74d
      	* call.c (perform_implicit_conversion_flags): Set
      	IMPLICIT_CONV_EXPR_BRACED_INIT.
      	* cp-tree.h (IMPLICIT_CONV_EXPR_BRACED_INIT): New.
      	* pt.c (tsubst_copy_and_build): Use it.
      
      	* g++.dg/cpp0x/Wnarrowing13.C: New test.
      	* g++.dg/cpp0x/Wnarrowing14.C: New test.
      
      From-SVN: r267976
      Marek Polacek committed
    • alpha.c (alpha_gimplify_va_arg): Handle split indirect COMPLEX_TYPE arguments. · 647c5e3e
      	* config/alpha/alpha.c (alpha_gimplify_va_arg):
      	Handle split indirect COMPLEX_TYPE arguments.
      
      From-SVN: r267973
      Uros Bizjak committed
    • __builtin_<add/sub>_overflow issues on AArch64 (redux) (cont) · 638b5fca
      And the ChangeLog for PR target/86891 fix.
      
      From-SVN: r267972
      Richard Earnshaw committed
    • __builtin_<add/sub>_overflow issues on AArch64 (redux) · f7343f20
      Further investigation showed that my previous patch for this issue was
      still incomplete.
      
      The problem stemmed from what I suspect was a mis-understanding of the
      way overflow is calculated on aarch64 when values are subtracted (and
      hence in comparisons).  In this case, unlike addition, the carry flag
      is /cleared/ if there is overflow (technically, underflow) and set
      when that does not happen.  This patch clears up this issue by using
      CCmode for all subtractive operations (this can fully describe the
      normal overflow conditions without anything particularly fancy);
      clears up the way we express normal unsigned overflow using CC_Cmode
      (the result of a sum is less than one of the operands) and adds a new
      mode, CC_ADCmode to handle expressing overflow of an add-with-carry
      operation, where the standard idiom is no-longer sufficient to
      describe the overflow condition.
      
      	PR target/86891
      	* config/aarch64/aarch64-modes.def: Add comment about how the carry
      	bit is set by add and compare.
      	(CC_ADC): New CC_MODE.
      	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables
      	to cache the code and mode of X.  Adjust the shape of a CC_Cmode
      	comparison.  Add detection for CC_ADCmode.
      	(aarch64_get_condition_code_1): Update code support for CC_Cmode.  Add
      	CC_ADCmode.
      	* config/aarch64/aarch64.md (uaddv<mode>4): Use LTU with CCmode.
      	(uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU.
      	(add<mode>3_compareC_cconly_imm): Delete.  Merge into...
      	(add<mode>3_compareC_cconly): ... this.  Restructure the comparison
      	to eliminate the need for zero-extending the operands.
      	(add<mode>3_compareC_imm): Delete.  Merge into ...
      	(add<mode>3_compareC): ... this.  Restructure the comparison to
      	eliminate the need for zero-extending the operands.
      	(add<mode>3_carryin): Use LTU for the overflow detection.
      	(add<mode>3_carryinC): Use CC_ADCmode for the result of the carry out.
      	Reexpress comparison for overflow.
      	(add<mode>3_carryinC_zero): Update for change to add<mode>3_carryinC.
      	(add<mode>3_carryinC): Likewise.
      	(add<mode>3_carryinV): Use LTU for carry between partials.
      	* config/aarch64/predicates.md (aarch64_carry_operation): Update
      	handling of CC_Cmode and add CC_ADCmode.
      	(aarch64_borrow_operation): Likewise.
      
      From-SVN: r267971
      Richard Earnshaw committed
    • re PR c/51628 (__attribute__((packed)) is unsafe in some cases (i.e. add… · e964d9b2
      re PR c/51628 (__attribute__((packed)) is unsafe in some cases (i.e. add -Waddress-of-packed-member, etc.))
      
      	PR c/51628
      	PR target/88682
      	* c-c++-common/pr51628-10.c (unaligned_int128_t): Add
      	may_alias attribute.
      
      From-SVN: r267970
      Jakub Jelinek committed
    • Fix Arm big-endian regressions. · ee8045e5
      gcc/ChangeLog:
      
      	* config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode.
      	* config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise.
      	* config/arm/neon.md (neon_vcmla_lane<rot><mode>, neon_vcmla_laneq<rot><mode>,
      	neon_vcmlaq_lane<rot><mode>): Remove endianness conversion.
      
      From-SVN: r267969
      Tamar Christina committed
    • Extend locations where to seach for Fortran pre-include. · 99b1b1fa
      2019-01-16  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR
      	for GCC driver.
      	* config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as
      	a new argument.
      	* gcc.c (add_sysrooted_hdrs_prefix): New function.
      	(path_prefix_reset): Move up in the source file.
      	(find_fortran_preinclude_file): Make complex search for the
      	fortran header files.
      
      From-SVN: r267967
      Martin Liska committed
    • Add self to maintainers list. · 0684a816
      2019-01-16  Kewen Lin  <linkw@gcc.gnu.org>
      
          * MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r267965
      Kewen Lin committed
    • PR libstdc++/88738 treat shared_ptr and unique_ptr more like plain old pointers · ec0d5371
              PR libstdc++/88738
              Warn about unused comparisons of shared_ptr/unique_ptr
              * include/bits/c++config [_GLIBCXX_NODISCARD]: Define.
              * include/bits/shared_ptr.h: Use it for operator ==, !=,
              <, <=, >, >= for shared_ptr.
              * include/bits/unique_ptr.h: Likewise for unique_ptr.
      
      From-SVN: r267964
      Ulrich Drepper committed
    • [libbacktrace] Unify function name preference handling · df1de064
      Both read_function_entry and read_referenced_name implement a priority scheme
      for names.  The priorities are:
      - 1st: DW_AT_linkage_name
      - 2nd: Name from DW_AT_abstract_origin or DW_AT_specification
      - 3rd: DW_AT_name.
      
      Ensure both functions fully adhere to it.
      
      2019-01-16  Tom de Vries  <tdevries@suse.de>
      
      	* dwarf.c (read_referenced_name): Don't allow DW_AT_name to override any
      	name.
      	(read_function_entry): Same.  Don't allow name found via
      	DW_AT_abstract_origin or case DW_AT_specification to override linkage
      	name.
      
      From-SVN: r267963
      Tom de Vries committed
    • Add myself · 9a603611
      From-SVN: r267962
      Xiong Hu Luo committed
    • Daily bump. · c6cdc1eb
      From-SVN: r267961
      GCC Administrator committed
  2. 15 Jan, 2019 20 commits
    • godump.c (go_output_typedef): When outputting a typedef... · 5686a6b7
      gcc/:
              * godump.c (go_output_typedef): When outputting a typedef, refer
      	to the underlying type by its name and not its structure.
      gcc/testsuite:
              * gcc.misc-tests/godump-1.c: Add test case for typedef before
      	struct.
      
      From-SVN: r267958
      Nikhil Benesch committed
    • Fix ICE on class-template argument deduction (PR c++/88795) · 1abb44f8
      PR c++/88795 reports an ICE building a function_type for a deduction guide
      when the substitution into the function signature fails, due to an
      error_mark_node being returned from tsubst_arg_types but not being checked
      for.  This error_mark_node gets used as the TYPE_ARG_TYPES, leading to
      ICEs in various places that assume this is a TREE_LIST.
      
      This patch checks the result of tsubst_arg_types and propagates the failure
      if it returns error_mark_node.  It also adds an assertion to
      build_function_type, to fail faster if passed in error_mark_node.
      
      gcc/cp/ChangeLog:
      	PR c++/88795
      	* pt.c (build_deduction_guide): Bail out if tsubst_arg_types
      	fails.
      
      gcc/testsuite/ChangeLog:
      	PR c++/88795
      	* g++.dg/template/pr88795.C: New test.
      
      gcc/ChangeLog:
      	PR c++/88795
      	* tree.c (build_function_type): Assert that arg_types is not
      	error_mark_node.
      
      From-SVN: r267957
      David Malcolm committed
    • runtime: add padding to FFI type of struct ending with zero-sized field · b7ec44e8
          
          CL 157557 changes the compiler to add one byte padding to
          non-empty struct ending with a zero-sized field. Add the same
          padding to the FFI type, so reflect.Call works.
          
          This fixes test/fixedbugs/issue26335.go in the main repo.
          
          Reviewed-on: https://go-review.googlesource.com/c/158018
      
      From-SVN: r267956
      Ian Lance Taylor committed
    • [D] Move building of typeof(null) values to a common function. · 5e95646e
      gcc/d/ChangeLog:
      
      	* d-codegen.cc (build_typeof_null_value): New function.
      	* d-tree.h (build_typeof_null_value): Declare.
      	* d-convert.cc (convert_expr): Use build_typeof_null_value.
      	* expr.cc (ExprVisitor::visit(NullExp)): Likewise.
      
      From-SVN: r267955
      Iain Buclaw committed
    • re PR fortran/43136 (Excess copy-in/copy-out with character argument) · 37879e01
      2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/43136
      	* resolve.c (resolve_array_ref): Add equal_length argument; set it
      	if the length of the substring equals that of the orignal
      	variable.
      	(resolve_ref): Remove the substring if it is equal in length to
      	the original variable, unless it is an EXPR_SUBSTRING).
      
      2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/43136
      	* gfortran.dg/actual_array_substr_3.f90: New test.
      
      From-SVN: r267954
      Thomas Koenig committed
    • re PR fortran/43072 (unneeded temporary (s=s+f(a))) · 0335cc37
      2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/43072
      	* resolve.c (resolve_array_ref): Add equal_length argument; set it
      	if the length of the substring equals that of the orignal
      	variable.
      	(resolve_ref): Remove the substring if it is equal in length to
      	the original variable, unless it is an EXPR_SUBSTRING).
      
      2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/43072
      	* gfortran.dg/actual_array_substr_3.f90: New test.
      
      From-SVN: r267953
      Thomas Koenig committed
    • compiler, runtime: panic on uncomparable map key, even if map is empty · 6a0c8e77
          
          This ports https://golang.org/cl/155918 from the master repo.
          
              runtime: panic on uncomparable map key, even if map is empty
          
              Reorg map flags a bit so we don't need any extra space for the extra flag.
          
          This is a pre-req for updating libgo to the Go 1.12beta2 release.
          
          Reviewed-on: https://go-review.googlesource.com/c/157858
      
      From-SVN: r267950
      Ian Lance Taylor committed
    • re PR fortran/81849 (Size of automatic array argument specified by host-associated variable.) · a81a6d58
      2019-01-15  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/81849
      	* resolve.c (resolve_symbol): Host associated varaibles can appear
      	in the specification statement of a RESULT array.
      
      2019-01-15  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/81849
      	* gfortran.dg/pr81849.f90: New test.
      
      From-SVN: r267948
      Steven G. Kargl committed
    • trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs that are indirect references; ie. · 92f3a180
      2019-01-15  Paul Thomas  <pault@gcc.gnu.org>
      
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs
      	that are indirect references; ie. dummy arguments.
      
      2019-01-15  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.dg/ISO_Fortran_binding_2.c : Change reference to
      	ISO_Fortran_binding_2.h.
      
      From-SVN: r267946
      Paul Thomas committed
    • re PR c++/88866 (g++.dg/cpp0x/variadic126.C fails with -std=c++2a) · 51177d3d
      	PR c++/88866
      	* g++.dg/cpp0x/variadic126.C: Tweak dg-error.
      
      From-SVN: r267944
      Marek Polacek committed
    • * g++.dg/ext/utf-cvt-char8_t.C: Pass -fsigned-char. · f60026c5
      From-SVN: r267942
      Jason Merrill committed
    • PR inline-asm/52813 revisited · 99063eee
      The original patch for this PR made it an error to list the stack
      pointer in the clobber list of an inline asm.  However, the general
      feeling seemed to be that going straight to a hard error was too harsh,
      since there's quite a bit of existing code that has the clobber.
      
      This patch implements the compromise discussed on IRC of making it
      a -Wdeprecated warning instead.
      
      2019-01-15  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	PR inline-asm/52813
      	* doc/extend.texi: Document that listing the stack pointer in the
      	clobber list of an asm is a deprecated feature.
      	* common.opt (Wdeprecated): Moved from c-family/c.opt.
      	* cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated
      	warning instead of an error for clobbers of the stack pointer.
      	Add a note explaining why.
      
      gcc/c-family/
      	PR inline-asm/52813
      	* c.opt (Wdeprecated): Move documentation and variable to common.opt.
      
      gcc/d/
      	PR inline-asm/52813
      	* lang.opt (Wdeprecated): Reference common.opt instead of c.opt.
      
      gcc/testsuite/
      	PR inline-asm/52813
      	* gcc.target/i386/pr52813.c (test1): Turn the diagnostic into a
      	-Wdeprecated warning and expect a following note:.
      
      From-SVN: r267941
      Richard Sandiford committed
    • re PR debug/88046 (ICE in add_data_member_location_attribute at… · 17f78160
      re PR debug/88046 (ICE in add_data_member_location_attribute at gcc/dwarf2out.c:19237 since r261885)
      
      2019-01-15  Richard Biener  <rguenther@suse.de>
      
      	PR debug/88046
      	* dwarf2out.c (gen_member_die): Do not generate inheritance
      	DIEs late.
      
      	* g++.dg/lto/pr88046_0.C: New testcase.
      
      From-SVN: r267940
      Richard Biener committed
    • re PR tree-optimization/88855 (ICE: verify_ssa failed (error:… · 41bc37ba
      re PR tree-optimization/88855 (ICE: verify_ssa failed (error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set))
      
      2019-01-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88855
      	* tree-if-conv.c (combine_blocks): Collect
      	SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.
      
      	* gcc.dg/pr88855.c: New testcase.
      
      From-SVN: r267939
      Richard Biener committed
    • Update value of __cpp_lib_shared_ptr_arrays macro · 10ddff67
      	* include/bits/shared_ptr_base.h (__cpp_lib_shared_ptr_arrays): Define
      	as 201611L, because P0497R0 changes are supported.
      	* include/std/version (__cpp_lib_shared_ptr_arrays): Likewise.
      
      From-SVN: r267938
      Jonathan Wakely committed
    • Fix more missing or incorrect feature test macros · 6e3dd211
      	* include/bits/erase_if.h [__cplusplus > 201703L]
      	(__cpp_lib_erase_if): Only define for C++2a.
      	* include/std/iterator [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
      	(__cpp_lib_null_iterators): Define.
      	* include/std/version [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
      	(__cpp_lib_null_iterators): Define.
      	[__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Define.
      
      From-SVN: r267937
      Jonathan Wakely committed
    • Fix missing or incorrect feature test macros · 56a9eaf9
      	* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
      	status.
      	* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
      	Define.
      	* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
      	changes are supported.
      	* include/std/optional (__cpp_lib_optional): Likewise.
      	* include/std/variant (__cpp_lib_variant): Likewise.
      	* include/std/version [!__STRICT_ANSI__]
      	(__cpp_lib_uncaught_exceptions): Define as long integer.
      	[__cplusplus >= 201703L] (__cpp_lib_any)
      	(__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions)
      	(__cpp_lib_variant): Define for C++17.
      	[__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define
      	as long integer.
      	* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
      	integer.
      
      From-SVN: r267936
      Jonathan Wakely committed
    • [nvptx] Handle assignment to gang-level reduction variable · d41d952c
      2019-01-15  Tom de Vries  <tdevries@suse.de>
      
      	PR target/80547
      	* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
      	lhs == NULL_TREE for gang-level reduction.
      
      	* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
      	New test.
      
      From-SVN: r267934
      Tom de Vries committed
    • re PR ipa/88788 (Infinite loop in malloc_candidate_p_1 since r264838) · 4882e5ba
      2019-01-15  Richard Biener  <rguenther@suse.de>
      	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	PR ipa/88788
      	* ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
      	return true if SSA_NAME is already marked in visited bitmap.
      	(malloc_candidate_p): Pass visited to malloc_candidate_p_1.
      
      Co-Authored-By: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
      
      From-SVN: r267933
      Richard Biener committed