1. 12 Apr, 2019 5 commits
    • libphobos: Parallelize the libphobos testsuite · df63d1b7
      The removal of the check programs in libphobos means that all tests
      will now be compiled one at a time, causing a notable slowdown in
      comparison with the previous method of testing.
      
      libphobos/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* testsuite/Makefile.am:
      	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
      	(RUNTEST): Remove variable.
      	(RUNTESTDEFAULTFLAGS, check_p_subno, check_p_numbers0,
      	check_p_numbers1, check_p_numbers2, check_p_numbers3,
      	check_p_numbers4, check_p_numbers5, check_p_numbers6, check_p_numbers,
      	check_p_subdirs, check_DEJAGNU_libphobos_targets): New variables.
      	(site.exp, %/site.exp, check-DEJAGNU, check-am, clean-local): New
      	rules written so that all the *.exp files are ran parallelized.
      	(CLEANFILES): Add *.exe, *.o, and site.exp.
      	* testsuite/Makefile.in: Regenerate.
      
      From-SVN: r270303
      Iain Buclaw committed
    • libphobos: Replace library check programs with dg-runtest · 0d6aae24
      Fixes multilib handling when running the libphobos testsuite.
      
      libphobos/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR d/89255
      	* configure.ac (ENABLE_SHARED, ENABLE_STATIC): Remove conditionals.
      	* configure: Regenerate.
      	* d_rules.am (%.t.lo, %.t.o): Remove rules.
      	(unittest_static_LINK, unittest_LINK, libgdruntime_t_la_LINK,
      	libgphobos_t_la_LINK): Remove variables.
      	* libdruntime/Makefile.am (DRUNTIME_TEST_LOBJECTS,
      	DRUNTIME_TEST_OBJECTS, check_PROGRAMS, check_LTLIBRARIES,
      	unittest_static_SOURCES, unittest_static_LIBTOOLFLAGS,
      	unittest_static_LDFLAGS, unittest_static_LDADD,
      	EXTRA_unittest_static_DEPENDENCIES, libgdruntime_t_la_SOURCES,
      	libgdruntime_t_la_LIBTOOLFLAGS, libgdruntime_t_la_LDFLAGS,
      	libgdruntime_t_la_LIBADD, EXTRA_libgdruntime_t_la_DEPENDENCIES,
      	unittest_SOURCES, unittest_LIBTOOLFLAGS, unittest_LDFLAGS,
      	unittest_LDADD): Remove variables.
      	(clean-local): Remove rule.
      	* libdruntime/Makefile.in: Regenerate.
      	* src/Makefile.am (PHOBOS_TEST_LOBJECTS,
      	PHOBOS_TEST_OBJECTS, check_PROGRAMS, check_LTLIBRARIES,
      	unittest_static_SOURCES, unittest_static_LIBTOOLFLAGS,
      	unittest_static_LDFLAGS, unittest_static_LDADD,
      	EXTRA_unittest_static_DEPENDENCIES, libgdruntime_t_la_SOURCES,
      	libgdruntime_t_la_LIBTOOLFLAGS, libgdruntime_t_la_LDFLAGS,
      	libgdruntime_t_la_LIBADD, EXTRA_libgdruntime_t_la_DEPENDENCIES,
      	unittest_SOURCES, unittest_LIBTOOLFLAGS, unittest_LDFLAGS,
      	unittest_LDADD): Remove variables.
      	(clean-local): Remove rule.
      	* src/Makefile.in: Regenerate.
      	* testsuite/lib/libphobos.exp (libphobos_test_name): New global.
      	(libphobos_init): Set libphobos_test_name.
      	(libphobos-dg-test): Override name if libphobos_test_name is set.
      	(filter_libphobos_unittests): New proc.
      	* testsuite/libphobos.aa/aa.exp: Don't load libphobos-dg.exp.
      	* testsuite/libphobos.cycles/cycles.exp: Set libphobos_test_name.
      	* testsuite/libphobos.druntime/druntime.exp: New file.
      	* testsuite/libphobos.druntime_shared/druntime_shared.exp: New file.
      	* testsuite/libphobos.phobos/phobos.exp: New file.
      	* testsuite/libphobos.phobos_shared/phobos_shared.exp: New file.
      	* testsuite/libphobos.shared/shared.exp: Use dg-runtest to run tests.
      	* testsuite/libphobos.hash/hash.exp: Don't load libphobos-dg.exp
      	* testsuite/libphobos.init_fini/init_fini.exp: Likewise.
      	* testsuite/libphobos.thread/thread.exp: Likewise.
      	* testsuite/libphobos.typeinfo/typeinfo.exp: Likewise.
      	* testsuite/libphobos.unittests/unittests.exp: Remove.
      	* testsuite/test_runner.d: Remove.
      	* testsuite/testsuite_flags.in: Add phobos to --gdcpaths.
      
      From-SVN: r270302
      Iain Buclaw committed
    • d: Add -fbuilding-libphobos-tests option · c50eadba
      Currently, the druntime and phobos unittests are compiled as a separate
      check program, then ran by the libphobos.unittest/unittest.exp script.
      As PR d/89255 notes, this process lacks proper multilib handling.
      
      As a first step, a new internal option that instructs the compiler to
      put the reference to all unittest functions in another symbol has been
      added.  This will allow each module to be compiled separately as a
      standalone program using dg-runtest without running into collisions in
      the D runtime module registry.
      
      gcc/d/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define.
      	* decl.cc (DeclVisitor): Add in_version_unittest_ field.
      	(DeclVisitor::visit(ConditionalDeclaration)): New override.
      	(DeclVisitor::visit(FuncDeclaration)): Set
      	DECL_IN_UNITTEST_CONDITION_P.
      	* lang.opt (-fbuilding-libphobos-tests): Add option.
      	* modules.cc (current_testing_module): New static variable.
      	(build_module_tree): Generate second moduleinfo symbol to hold
      	reference to unittests if flag_building_libphobos_tests.
      	(register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide
      	which moduleinfo the decl should be registered against.
      
      From-SVN: r270301
      Iain Buclaw committed
    • d/dmd: Merge upstream dmd c185f9df1 · 77f4fb57
      Adds new virtual isVersionCondition, this is so that in the code
      generation pass, a ConditionDeclaration's condition can be identified
      without requiring a Visitor function.
      
      Reviewed-on: https://github.com/dlang/dmd/pull/9591
      
      From-SVN: r270300
      Iain Buclaw committed
    • Daily bump. · f75c823e
      From-SVN: r270299
      GCC Administrator committed
  2. 11 Apr, 2019 18 commits
  3. 10 Apr, 2019 14 commits
  4. 09 Apr, 2019 3 commits
    • c-ada-spec.c (print_destructor): Deal with deleting destructors. · 53a3f614
      	* c-ada-spec.c (print_destructor): Deal with deleting destructors.
      	(dump_ada_declaration) <FUNCTION_DECL>: Likewise.
      
      From-SVN: r270239
      Eric Botcazou committed
    • Add comments and style fixes to <variant> · 9d89b73c
      	* include/std/variant: Adjust whitespace. Add comments.
      	(_Multi_array): Leave primary template undefined.
      	(_Multi_array<_Tp>): Define partial specialization for base case of
      	recursion.
      	(__gen_vtable_impl, __gen_vtable): Remove redundant && from type
      	which is always a reference.
      	(__gen_vtable::_S_apply()): Remove function, inline body into
      	default member initializer.
      	* testsuite/20_util/variant/visit.cc: Test with noncopyable types.
      
      From-SVN: r270238
      Jonathan Wakely committed
    • Fix std::visit to support arbitrary callables · 8701cb5e
      The __visitor_result_type helper didn't use std::invoke and so didn't
      compile when the visitor was a pointer-to-member rather than a function
      object. Use std::invoke_result instead.
      
      	* include/std/variant (__variant_idx_cookie): Add member type.
      	(__visitor_result_type): Remove.
      	(__do_visit): Use invoke_result instead of __visitor_result_type.
      	* testsuite/20_util/variant/visit.cc: New test.
      
      From-SVN: r270237
      Jonathan Wakely committed