1. 24 May, 2019 3 commits
    • Darwin, x86, testsuite - Adjust test labels. · 4ef1d2e2
      A couple of the i386.exp tests fail because the label spelling used
      is different between ELF and Mach-O targets. Adjusted here.
      
      2019-05-24  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/pr67985-2.c: Adjust label checks for
      	Darwin.
      	* gcc.target/i386/pr77881.c: Likewise.
      
      From-SVN: r271590
      Iain Sandoe committed
    • Darwin, x86, testsuite - Disable tests that cannot pass. · 3d61c31f
      A few of the i386.exp target tests cannot pass on Darwin
      because either the port doesn't support a feature, or the
      ABI demands sufficiently different codegen that matching
      the output with scan-asms would require a different test.
      
      Disabling those tests here.
      
      2019-05-24  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/falign-functions-2.c: Skip for Darwin.
      	* gcc.target/i386/pr70738-7.c: Likewise.
      	* gcc.target/i386/pr24414.c: Likewise.
      
      From-SVN: r271589
      Iain Sandoe committed
    • Daily bump. · a2c8ea56
      From-SVN: r271588
      GCC Administrator committed
  2. 23 May, 2019 31 commits
    • Fix testsuite bugs · 5f303216
      One of the static assertions in 20_util/function_objects/invoke/1.cc was
      wrong, but didn't fail because by default it was compiled with
      -std=gnu++14 which didn't use that static assertion. Split out the C++17
      parts to a new file that always runs with -std=gnu++17, so those checks
      are always done.
      
      The 23_containers/unordered_set/allocator/ext_ptr.cc test is supposed to
      be a run-time test but was unintentionally compile-only.
      
      	* testsuite/20_util/function_objects/invoke/1.cc: Move C++17-specific
      	tests to ...
      	* testsuite/20_util/function_objects/invoke/3.cc: New test.
      	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
      	"compile" test to "run".
      
      From-SVN: r271584
      Jonathan Wakely committed
    • LWG 2996 add rvalue overloads for shared_ptr aliasing and casting · fb3fc4bd
      	* doc/xml/manual/intro.xml: Document LWG DR 2996 change.
      	* doc/html/*: Regenerate.
      	* include/bits/shared_ptr.h (shared_ptr(shared_ptr&&, T*)): Add
      	rvalue aliasing constructor.
      	(static_pointer_cast, const_pointer, dynamic_pointer_cast)
      	(reinterpret_pointer_cast): Add overloads taking rvalues.
      	* include/bits/shared_ptr_base.h (__shared_ptr(__shared_ptr&&, T*)):
      	Add rvalue aliasing constructor.
      	* testsuite/20_util/shared_ptr/casts/1.cc: Change "compile" test to
      	"run" and check return values as well as types.
      	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
      	* testsuite/20_util/shared_ptr/casts/rval.cc: New test.
      	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: New test.
      	* testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused return
      	values.
      
      From-SVN: r271583
      Jonathan Wakely committed
    • LWG 2921 remove packaged_task constructors taking allocators · 9a0af7e3
      	* doc/xml/manual/evolution.xml: Document LWG DR 2921 change.
      	* doc/xml/manual/intro.xml: Likewise.
      	* include/std/future (__create_task_state): Add default arguments
      	to make providing an allocator optional.
      	(packaged_task::packaged_task(F&&)): Call __create_task_state directly
      	instead of delegating to another constructor.
      	(packaged_task::packaged_task(allocator_arg_t, const A&, ...)): Do not
      	define allocator-extended constructors for C++17 and later.
      	* testsuite/30_threads/packaged_task/cons/alloc.cc: Only run test for
      	C++11 and C++14.
      	* testsuite/30_threads/packaged_task/cons/alloc2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/alloc_min.cc: Likewise.
      	* testsuite/30_threads/packaged_task/uses_allocator.cc: Likewise.
      
      From-SVN: r271582
      Jonathan Wakely committed
    • darwin, x86 - disable '-mfentry' for the port. · aa992ce7
      This can't work without special support because placing
      the call directly after the function label breaks the
      ABI requirement that call sites are 16byte aligned.
      
      gcc/
      
      2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
      
             * config/i386/darwin.h: Reject -mfentry*.
             * doc/sourcebuild.texi: Document mfentry target support.
      
      gcc/testsuite/
      
      2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
      
             * lib/target-supports.exp (check_effective_target_mfentry): New.
             * gcc.target/i386/fentry-override.c: Require effective target mfentry.
             * gcc/testsuite/gcc.target/i386/fentry.c: Likewise
             * gcc.target/i386/fentryname1.c: Likewise
             * gcc.target/i386/fentryname2.c: Likewise
             * gcc.target/i386/fentryname3.c: Likewise
             * gcc.target/i386/nop-mcount.c: Likewise
             * gcc.target/i386/pr82699-2.c: Likewise
             * gcc.target/i386/pr82699-4.c: Likewise
             * gcc.target/i386/pr82699-5.c: Likewise
             * gcc.target/i386/pr82699-6.c: Likewise
             * gcc.target/i386/returninst1.c: Likewise
             * gcc.target/i386/returninst2.c: Likewise
             * gcc.target/i386/returninst3.c : Likewise
      
      From-SVN: r271580
      Iain Sandoe committed
    • rs6000.c (rs6000_global_entry_point_needed_p): Rename to… · 99f84323
      rs6000.c (rs6000_global_entry_point_needed_p): Rename to rs6000_global_entry_point_prologue_needed_p.
      
      [gcc]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p):
      	Rename to rs6000_global_entry_point_prologue_needed_p.  Return
      	false for PC-relative functions.
      	(rs6000_output_function_prologue): Change called function name to
      	rs6000_global_entry_point_prologue_needed_p.  Emit ".localentry
      	name,1" for PC-relative functions.
      	(rs6000_elf_declare_function_name): Change called function name to
      	rs6000_global_entry_point_prologue_needed_p.
      
      [gcc/testsuite]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* gcc.target/powerpc/localentry-1.c: New file.
      
      From-SVN: r271577
      Bill Schmidt committed
    • re PR target/90552 (attribute((optimize(3))) not overriding -Os) · 103d91c7
      	PR target/90552
      	* config/i386/i386.c (gen_rtx_cost):
      	Use ix86_tune_cost instead of ix86_cost.
      
      testsuite/ChangeLog:
      
      	PR target/90552
      	* gcc.target/i386/pr90552.c: New test.
      
      From-SVN: r271576
      Uros Bizjak committed
    • rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Add OPTION_MASK_PCREL. · 91117603
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      	    Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Add
      	OPTION_MASK_PCREL.
      	(POWERPC_MASKS): Add OPTION_MASK_PCREL.
      	* config/rs6000/rs6000-protos.h (rs6000_pcrel_p): New prototype.
      	(rs6000_fndecl_pcrel_p): Likewise.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Report
      	error if -mpcrel is requested without -mcpu=future.
      	(rs6000_opt_masks): Add entry for pcrel.
      	(rs6000_fndecl_pcrel_p): New function.
      	(rs6000_pcrel_p): Likewise.
      	* config/rs6000/rs6000.opt (mpcrel): New option.
      	* doc/invoke.texi: Document -mpcrel and -mno-pcrel.
      
      
      Co-Authored-By: Michael Meissner <meissner@linux.ibm.com>
      Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
      
      From-SVN: r271575
      Bill Schmidt committed
    • From what I understand of the libstdc++/83237 thread at · 0ce91914
      <https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00573.html>, the
      high numbers are not arbitrary, so it seems wrong to try
      lowering them, or we'd just waste cycles testing nothing, or
      worse, ending up with a bogus error indication.  Better to just
      plain disable this part of the test for simulator targets; I
      assume the results should be the same on any IEEE-float target,
      i.e. no target-specific things going on here that'd raise a need
      to cover it everywhere.
      
      With this part of the test disabled, I saw the test finishing in
      (time) "124.74s user" where it was before "1120.26s user"
      running the cris-elf-run simulator on a "i7-4770K CPU @ 3.50GHz"
      host.  Most certainly that indidates that the remainder of the
      test is still too much for *some* host+simulator combos, but I'm
      happy with the runtime lowered to 1/5 of the timeout (10
      minutes) on this particular combination, and I'd think this
      fixes timeouts for many other simulator combos too.
      
      This construct (disabling or lowering limits for simulators) is
      used elsewhere in the libstdc++ test-suite and in particular the
      SIMULATOR_TEST macro is used in the testsuite machinery (though
      AFAICT not in testDiscreteDist).
      
              * testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
              Don't run the libstdc++/83237 part on simulator targets.
      
      From-SVN: r271574
      Hans-Peter Nilsson committed
    • fmt_f_default_field_width_1.f90: Hide REAL(16) behind __GFC_REAL_16__. · f58be48c
      2019-05-23  Mark Eggleston  <mark.eggleston@codethink.com>
      
      	* gfortran.dg/fmt_f_default_field_width_1.f90: Hide REAL(16) behind
      	__GFC_REAL_16__.  Add -cpp to dg-options.
      	* gfortran.dg/fmt_f_default_field_width_2.f90: Ditto.
      	* gfortran.dg/fmt_f_default_field_width_3.f90: Ditto.
      	* gfortran.dg/fmt_g_default_field_width_1.f90: Ditto.
      	* gfortran.dg/fmt_g_default_field_width_2.f90: Ditto.
      	* gfortran.dg/fmt_g_default_field_width_3.f90: Ditto.
      
      From-SVN: r271573
      Mark Eggleston committed
    • re PR tree-optimization/90576 (SPEC CPU2006 450.soplex miscompiled with -Os -flto after r271413) · a44ae258
      	PR tree-optimization/90576
      	* tree-ssa-alias.c (compare_sizes): Remove dead calls to
      	poly_int_tree_p.
      	(aliasing_component_refs_p): Fix three way size compare conditional;
      	give up earlier in case we can not decide on equivalence.
      
      Co-Authored-By: Martin Liska <mliska@suse.cz>
      
      From-SVN: r271572
      Jan Hubicka committed
    • Add missing feature test macro to C++17 status table · 1a4f7c1b
      	* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
      	P0040R3.
      	* doc/html/*: Regenerate.
      
      From-SVN: r271571
      Jonathan Wakely committed
    • Add infrastructure to support -mcpu=future to represent a future · 5fa3b3cb
      architecture level, as yet unnamed.
      
      [gcc]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      	    Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* config.gcc: Add future cpu.
      	* config/rs6000/driver-rs6000.c (asm_names): Add future cpu.
      	* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): New
      	#define.
      	(POWERPC_MASKS): Add OPTION_MASK_FUTURE.
      	(RS6000_CPU): New instantiation for future cpu.
      	* config/rs6000/rs6000-opts.h (enum processor_type): Add
      	PROCESSOR_FUTURE.
      	* config/rs6000/rs6000-string.c (expand_compare_loop): Treat
      	PROCESSOR_FUTURE like PROCESSOR_POWER9 for now.
      	* config/rs6000/rs6000-tables.opt: Regenerate.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Treat
      	PROCESSOR_FUTURE similarly to PROCESSOR_POWER9 for now.
      	(rs6000_machine_from_flags): Handle future cpu.
      	(rs6000_reassociation_width): Treat PROCESSOR_FUTURE like
      	PROCESSOR_POWER9 for now.
      	(rs6000_adjust_cost): Likewise.
      	(rs6000_issue_rate): Likewise.
      	(rs6000_register_move_cost): Likewise.
      	(rs6000_opt_mask): Add entry for future.
      	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add future cpu.
      	(MASK_FUTURE): New #define.
      	* config/rs6000/rs6000.md (define_attr "cpu"): Add future cpu.
      	* config/rs6000/rs6000.opt (mfuture): New target option.
      	* doc/invoke.texi (mcpu): Add future cpu.
      
      [gcc/testsuite]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* gcc.target/powerpc/cpu-future.c: New test.
      
      
      Co-Authored-By: Michael Meissner <meissner@linux.ibm.com>
      Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
      
      From-SVN: r271567
      Bill Schmidt committed
    • Make any_cast compare typeinfo as well as function pointers · aa573a6a
      It's possible for the function pointer comparison to fail even though
      the type is correct, because the function could be defined multiple
      times with different addresses when shared libraries are in use.
      
      Retain the function pointer check for the common case where the check
      succeeds, but compare typeinfo (if RTTI is enabled) if the first check
      fails.
      
      	* include/experimental/any (__any_caster): Use RTTI if comparing
      	addresses fails, to support non-unique addresses in shared libraries.
      	* include/std/any (__any_caster): Likewise.
      
      From-SVN: r271557
      Jonathan Wakely committed
    • PR libstdc++/90220 fix experimental::any_cast for non-object types · 7dbab5dc
      This corresponds to the fixes done for std::any_cast, but has to be done
      without if-constexpr. The dummy specialization of _Manager_internal<_Op>
      is used to avoid instantiating the real _Manager_internal<T>::_S_manage
      function just to compare its address.
      
      	PR libstdc++/90220
      	* include/experimental/any (__any_caster): Constrain to only be
      	callable for object types. Use remove_cv_t instead of decay_t.
      	If the type decays or isn't copy constructible, compare the manager
      	function to a dummy specialization.
      	(__any_caster): Add overload constrained for non-object types.
      	(any::_Manager_internal<_Op>): Add dummy specialization.
      	* testsuite/experimental/any/misc/any_cast.cc: Test function types
      	and array types.
      
      From-SVN: r271556
      Jonathan Wakely committed
    • Do not use tree_to_wide_ref that point to a temporary (PR c++/90587). · 56a4e074
      2019-05-23  Martin Liska  <mliska@suse.cz>
      
      	PR c++/90587
      	* tree-ssa-uninit.c (value_sat_pred_p): The result of &
      	operation points to a temporary (pointed via tree_to_wide_ref)
      	that is out of scope after the &.
      
      From-SVN: r271555
      Martin Liska committed
    • PR c++/90592 add missing word "scope" to __func__ docs · 16f8992e
      	PR c++/90592
      	* doc/extend.texi (Function Names): Add missing word.
      
      From-SVN: r271554
      Jonathan Wakely committed
    • re PR tree-optimization/88440 (size optimization of memcpy-like code) · 5879ab5f
      2019-05-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88440
      	* opts.c (default_options_table): Enable -ftree-loop-distribute-patterns
      	at -O[2s]+.
      	* tree-loop-distribution.c (generate_memset_builtin): Fold the
      	generated call.
      	(generate_memcpy_builtin): Likewise.
      	(distribute_loop): Pass in whether to only distribute patterns.
      	(prepare_perfect_loop_nest): Also allow size optimization.
      	(pass_loop_distribution::execute): When optimizing a loop
      	nest for size allow pattern replacement.
      
      	* gcc.dg/tree-ssa/ldist-37.c: New testcase.
      	* gcc.dg/tree-ssa/ldist-38.c: Likewise.
      	* gcc.dg/vect/vect.exp: Add -fno-tree-loop-distribute-patterns.
      	* gcc.dg/tree-ssa/ldist-37.c: Adjust.
      	* gcc.dg/tree-ssa/ldist-38.c: Likewise.
      	* g++.dg/tree-ssa/pr78847.C: Likewise.
      	* gcc.dg/autopar/pr39500-1.c: Likewise.
      	* gcc.dg/autopar/reduc-1char.c: Likewise.
      	* gcc.dg/autopar/reduc-7.c: Likewise.
      	* gcc.dg/tree-ssa/ivopts-lt-2.c: Likewise.
      	* gcc.dg/tree-ssa/ivopts-lt.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-1.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-2.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-3.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-4.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-7.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-8.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-9.c: Likewise.
      	* gcc.dg/tree-ssa/scev-11.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Likewise.
      	* gcc.target/i386/pr30970.c: Likewise.
      	* gcc.target/i386/vect-double-1.c: Likewise.
      	* gcc.target/i386/vect-double-2.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-28.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
      	* gfortran.dg/vect/vect-5.f90: Likewise.
      	* gfortran.dg/vect/vect-8.f90: Likewise.
      
      From-SVN: r271553
      Richard Biener committed
    • re PR target/90568 (stack protector should use cmp or sub, not xor, to allow macro-fusion on x86) · 32d94113
      	PR target/90568
      	* config/i386/i386.md (stack_protect_test_<mode>): Use sub instead
      	of xor.
      
      From-SVN: r271552
      Jakub Jelinek committed
    • Do not instrument static target_expr for use-after-scope (PR sanitizer/90570). · 832ece86
      2019-05-23  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/90570
      	* gimplify.c (gimplify_target_expr): Skip TREE_STATIC target
      	expression similarly to gimplify_decl_expr.
      2019-05-23  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/90570
      	* g++.dg/asan/pr90570.C: New test.
      
      From-SVN: r271548
      Martin Liska committed
    • * gnat.dg/opt78.ad[sb]: New test. · 02b73313
      From-SVN: r271545
      Eric Botcazou committed
    • x86, testsuite - update fuse-caller-save tests. · 8f5b46e9
      These tests had started to XPASS on pic targets where
      the codegen is now as expected.
      
      gcc/testsuite/
      
      2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR rtl-optimisation/64895
      	* gcc.target/i386/fuse-caller-save-rec.c: Remove XFAILs.
      	* gcc.target/i386/fuse-caller-save.c: Likewise.
      	* gcc.target/i386/fuse-caller-save-xmm.c: Adjust tests for
      	PIC cases, remove XFAILs.
      
      From-SVN: r271544
      Iain Sandoe committed
    • Add whitespace between operator and operand · 1a9c52d2
      	* cp-tree.h (CP_AGGREGATE_TYPE_P): Fix whitespace.
      
      From-SVN: r271543
      Jonathan Wakely committed
    • Remove conflict marker from ChangeLog · b636effb
      From-SVN: r271542
      Jonathan Wakely committed
    • Remove resolved TODO comment · cf9847d2
      	* init.c (std_placement_new_fn_p): Remove outdated TODO comment that
      	was resolved by r254694.
      
      From-SVN: r271541
      Jonathan Wakely committed
    • [PR90510] Adjust 'brig.dg/test/gimple/packed.hsail' · 1ccd0ccb
      ... for r271463 "Fix PR90510, VEC_PERM -> BIT_INSERT folding".
      
      	gcc/testsuite/
      	PR middle-end/90510
      	* brig.dg/test/gimple/packed.hsail: Adjust.
      
      From-SVN: r271540
      Thomas Schwinge committed
    • cse.c (cse_dump_path): s/dump_file/f. · a29dd8dd
      2019-05-23  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* cse.c (cse_dump_path): s/dump_file/f.
      
      From-SVN: r271539
      Prathamesh Kulkarni committed
    • * g++.dg/cpp2a/is-constant-evaluated8.C: New test. · 07bcb2b4
      From-SVN: r271538
      Jakub Jelinek committed
    • There was a regression for gfortran.dg/fmt_en.f90 for cris-elf that on... · 6dac25d1
      There was a regression for gfortran.dg/fmt_en.f90 for cris-elf
      that on inspection was due to it having acquired a truncation
      call through the runtime.  I updated that and the new tests that
      had "Fortran runtime error: required ftruncate or chsize support
      not present" messages in gfortran.log, ran past cris-elf and
      committed as obvious.  See also
      <https://gcc.gnu.org/ml/gcc-patches/2008-05/msg00975.html> from
      which I copy-pasted most of this message.  (Yep, 11 years ago.)
      
      gcc/testsuite:
      	* gfortran.dg/dec_io_1.f90, gfortran.dg/dtio_1.f90,
      	gfortran.dg/dtio_12.f90, gfortran.dg/fmt_en.f90,
      	gfortran.dg/namelist_89.f90: Gate test on effective_target
      	fd_truncate.
      
      From-SVN: r271536
      Hans-Peter Nilsson committed
    • Bulletproof -fdiagnostics-format=json against bad locations (PR c++/90462) · 30d3ba51
      PR c++/90462 reports an ICE with -fdiagnostics-format=json when
      attempting to serialize a malformed location to JSON.
      
      The compound location_t in question has meaningful "caret" and "start"
      locations, but has UNKNOWN_LOCATION for its "finish" location,
      leading to a NULL pointer dereference when attempting to build a JSON
      string for the filename.
      
      This patch bulletproofs the JSON output so that attempts to write
      a JSON object for a location with a NULL file will lead to an object
      with no "file" key, and attempts to write a compound location with
      UNKNOWN_LOCATION for its start or finish will lead to the corresponding
      JSON child object being omitted.
      
      This patch also adds a json::object::get member function, for self-testing
      the above.
      
      gcc/ChangeLog:
      	PR c++/90462
      	* diagnostic-format-json.cc: Include "selftest.h".
      	(json_from_expanded_location): Only add "file" key for non-NULL
      	file strings.
      	(json_from_location_range): Don't add "start" and "finish"
      	children if they are UNKNOWN_LOCATION.
      	(selftest::test_unknown_location): New selftest.
      	(selftest::test_bad_endpoints): New selftest.
      	(selftest::diagnostic_format_json_cc_tests): New function.
      	* json.cc (json::object::get): New function.
      	(selftest::test_object_get): New selftest.
      	(selftest::json_cc_tests): Call it.
      	* json.h (json::object::get): New decl.
      	* selftest-run-tests.c (selftest::run_tests): Call
      	selftest::diagnostic_format_json_cc_tests.
      	* selftest.h (selftest::diagnostic_format_json_cc_tests): New
      	decl.
      
      gcc/testsuite/ChangeLog:
      	PR c++/90462
      	* g++.dg/pr90462.C: New test.
      
      From-SVN: r271535
      David Malcolm committed
    • Daily bump. · cf9219c7
      From-SVN: r271534
      GCC Administrator committed
  3. 22 May, 2019 6 commits
    • udlit-char-template-neg.C: Expect the error on a different line. · dd2ce663
      	* g++.dg/cpp1y/udlit-char-template-neg.C: Expect the error on a
      	different line.  Check the column number too.
      
      From-SVN: r271530
      Marek Polacek committed
    • PR libstdc++/90557 fix path assignment that alters source · f9b22a0c
      	PR libstdc++/90557
      	* src/c++17/fs_path.cc (path::_List::operator=(const _List&)): Fix
      	reversed arguments to uninitialized_copy_n.
      	* testsuite/27_io/filesystem/path/assign/copy.cc: Check that source
      	is unchanged by copy assignment.
      	* testsuite/util/testsuite_fs.h (compare_paths): Use std::equal to
      	compare path components.
      
      From-SVN: r271527
      Jonathan Wakely committed
    • Add support for constructors and destuctors on GCN · 7039cebf
      2019-05-22  Kwok Cheung Yeung  <kcy@codesourcery.com>
                  Andrew Stubbs  <amd@codesourcery.com>
      
      	gcc/
      	* config.gcc (gcc_cv_initfini_array): Set for AMD GCN.
      	* config/gcn/gcn-run.c (init_array_kernel, fini_array_kernel): New.
      	(kernel): Rename to...
      	(main_kernel): ... this.
      	(load_image): Load _init_array and _fini_array kernels.
      	(run): Add argument for kernel to run.
      	(main): Run init_array_kernel before main_kernel, and
      	fini_array_kernel after.
      	* config/gcn/gcn.c (gcn_handle_amdgpu_hsa_kernel_attribute): Allow
      	amdgpu_hsa_kernel attribute on functions.
      	(gcn_disable_constructors): Delete.
      	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): Delete.
      	* config/gcn/crt0.c (size_t): Define.
      	(_init_array, _fini_array): New.
      	(__preinit_array_start, __preinit_array_end,
      	__init_array_start, __init_array_end,
      	__fini_array_start, __fini_array_end): Declare weak references.
      
      Co-Authored-By: Andrew Stubbs <ams@codesourcery.com>
      
      From-SVN: r271526
      Kwok Cheung Yeung committed
    • Fix trampoline execution failures on GCN5. · b7c28a47
      2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5.
      
      From-SVN: r271525
      Andrew Stubbs committed
    • gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE. · 5859a68d
      	* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE.
      
      The front end shouldn't produce a GENERIC COND_EXPR of TREE_ADDRESSABLE
      type.
      
      From-SVN: r271524
      Jason Merrill committed
    • PR c++/20408 - unnecessary code for empty struct. · c652ff83
      Here initializing the argument from a TARGET_EXPR isn't an empty class
      copy even though the type is !TREE_ADDRESSABLE, so we should check
      simple_empty_class_p.
      
      	* call.c (build_call_a): Use simple_empty_class_p.
      
      From-SVN: r271523
      Jason Merrill committed