aboutsummaryrefslogtreecommitdiff
path: root/libphobos
AgeCommit message (Collapse)AuthorFilesLines
2025-07-02Daily bump.GCC Administrator1-0/+5
2025-07-01libphobos: Fully enable Darwin/i386 supportRainer Orth1-1/+1
I recently noticed that libphobos isn't enable by default on 32-bit Darwin with the target triples determined by config.guess. E.g. on a Darwin 15 system the target triple is something like i386-apple-darwin15.6.0 while configure.tgt only matches i?86-*-darwin1[2-7]. This patch also allows such minor and micro versions. Tested on i386-apple-darwin15.6.0. 2025-06-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> libphobos: * configure.tgt <i?86-*-darwin1[2-7]>: Also consider minor versions supported.
2025-05-10Daily bump.GCC Administrator1-0/+5
2025-05-08diagnostics: convert HTML output test plugin to 'experimental-html' sink ↵David Malcolm1-0/+1
[PR116792] In r15-3752-g48261bd26df624 I added a test plugin that overrode the regular output, instead emitting diagnostics in crude HTML form. In r15-4760-g0b73e9382ab51c I added support for multiple kinds of diagnostic output simultaneously, adding -fdiagnostics-add-output=DIAGNOSTICS-OUTPUT-SPEC -fdiagnostics-set-output=DIAGNOSTICS-OUTPUT-SPEC for adding/changing the kind of diagnostics output, supporting "text" and "sarif" output schemes. This patch promotes the HTML output code from the test plugins so that it is available from "-fdiagnostics-add-output=", using a new "experimental-html" scheme, to allow simultaneous text, sarif and html output, and to make it easier to experiment with. The patch adds Python-based testing of the emitted HTML. The patch does not affect the generated HTML, which is still crude, and not yet ready for end-users. I hope to improve it in followups. gcc/ChangeLog: PR other/116792 * Makefile.in (OBJS-libcommon): Add diagnostic-format-html.o. * diagnostic-format-html.cc: Move here from testsuite/gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc. Simplify includes. Rename "xhtml" to "html" throughout. (write_escaped_text): Drop. (class xhtml_stream_output_format): Drop. (class html_file_output_format): Reimplement using diagnostic_output_file. (diagnostic_output_format_init_xhtml): Drop. (diagnostic_output_format_init_xhtml_stderr): Drop. (diagnostic_output_format_init_xhtml_file): Drop. (diagnostic_output_format_open_html_file): New. (make_html_sink): New. (xhtml_format_selftests): Convert to... (diagnostic_format_html_cc_tests): ...this. (plugin_is_GPL_compatible): Drop. (plugin_init): Drop. * diagnostic-format-html.h: New file. * doc/invoke.texi (-fdiagnostics-add-output=): Add "experimental-html" scheme. * opts-diagnostic.cc: Include "diagnostic-format-html.h". (class html_scheme_handler): New. (output_factory::output_factory): Add html_scheme_handler. (html_scheme_handler::make_sink): New. * selftest-run-tests.cc (selftest::run_tests): Call the new selftests. * selftest.h (selftest::diagnostic_format_html_cc_tests): New decl. gcc/testsuite/ChangeLog: PR other/116792 * gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc: Move to gcc/diagnostic-format-html.cc. * gcc.dg/html-output/html-output.exp: New support script. * gcc.dg/html-output/missing-semicolon.c: New test. * gcc.dg/html-output/missing-semicolon.py: New test script. * gcc.dg/plugin/diagnostic-test-xhtml-1.c: Deleted test. * gcc.dg/plugin/plugin.exp (plugin_test_list): Drop moved plugin and its deleted test. * lib/gcc-dg.exp (load_lib): Add load_lib of scanhtml.exp. * lib/htmltest.py: New support script. * lib/scanhtml.exp: New support script, based on scansarif.exp. libatomic/ChangeLog: PR other/116792 * testsuite/lib/libatomic.exp: Add load_lib of scanhtml.exp. libgomp/ChangeLog: PR other/116792 * testsuite/lib/libgomp.exp: Add load_lib of scanhtml.exp. libitm/ChangeLog: PR other/116792 * testsuite/lib/libitm.exp: Add load_lib of scanhtml.exp. libphobos/ChangeLog: PR other/116792 * testsuite/lib/libphobos-dg.exp: Add load_lib of scanhtml.exp. libvtv/ChangeLog: PR other/116792 * testsuite/lib/libvtv-dg.exp: Add load_lib of scanhtml.exp. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2025-05-07Daily bump.GCC Administrator1-0/+4
2025-05-06libphobos: enable for sparc64-unknown-linux-gnuSam James1-1/+1
This bootstraps with some test failures but works well enough to build 11..15. libphobos/ChangeLog: * configure.tgt: Add sparc64-unknown-linux-gnu as a supported target.
2025-04-13Daily bump.GCC Administrator1-0/+10
2025-04-13d: Fix importC cannot find input file __importc_builtins.d [PR119761]Iain Buclaw4-5/+11
Synchronizes the D runtime library with upstream druntime 09ed02ce56, and fixes a rename of the importC module missed in the r15-6559 merge. PR d/119761 libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 09ed02ce56. * libdruntime/Makefile.am (DRUNTIME_DISOURCES): Rename __builtins.di to __importc_builtins.di. * libdruntime/Makefile.in: Regenerate. * libdruntime/__builtins.di: Move to... * libdruntime/__importc_builtins.di: ...here. gcc/testsuite/ChangeLog: * gdc.dg/import-c/import-c.exp: New test. * gdc.dg/import-c/pr119761.d: New test. * gdc.dg/import-c/pr119761c.c: New test.
2025-04-12Daily bump.GCC Administrator1-0/+14
2025-04-11d: Merge upstream dmd 1b34fea478, phobos 40ffbb364Iain Buclaw13-20/+158
D front-end changes: - Import latest fixes from dmd v2.111.1-rc.1. Phobos changes: - Import latest fixes from phobos v2.111.1-rc.1. - Restore compatibility with older Linux platforms where `getrandom' is unavailable. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 1b34fea478. libphobos/ChangeLog: * src/MERGE: Merge upstream phobos 40ffbb364. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Call DRUNTIME_OS_FEATURES. * libdruntime/Makefile.am (AM_DFLAGS): Add OS_DFLAGS. * libdruntime/Makefile.in: Regenerate. * m4/druntime/os.m4 (DRUNTIME_OS_FEATURES): Define. * src/Makefile.am: Add OS_DFLAGS. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * testsuite/testsuite_flags.in: Add OS_DFLAGS.
2025-04-09Daily bump.GCC Administrator1-0/+7
2025-04-08libphobos: Merge with upstream phobos 35977c802Iain Buclaw6-36/+89
Synchronizes recent bug fixes targeted for v2.111.1. libphobos/ChangeLog: * src/MERGE: Merge upstream phobos 35977c802. * src/Makefile.am (PHOBOS_DSOURCES): Add std/internal/windows/bcrypt.d. * src/Makefile.in: Regenerate.
2025-04-01Daily bump.GCC Administrator1-0/+5
2025-03-31d: Bump front-end language version to v2.111.0Iain Buclaw6-19/+64
Merges the front-end language implementation and runtime library with upstream dmd c6863be720, and the standard library with phobos 60034b56e. Synchronizing with the upstream release of v2.111.0. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd c6863be720. * dmd/VERSION: Bump version to v2.111.0. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime c6863be720. * src/MERGE: Merge upstream phobos 60034b56e.
2025-03-23Daily bump.GCC Administrator1-0/+16
2025-03-22d: Add C++23 to CppStdRevision enumIain Buclaw2-1/+2
D front-end changes: - The compiler now accepts `-fextern-std=c++23' gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 94950cae58. * d-lang.cc (d_handle_option): Add case for CppStdRevisionCpp23. * gdc.texi: Document -fextern-std=c++23. * lang.opt (fextern-std=): Add c++23. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 94950cae58. Reviewed-on: https://github.com/dlang/dmd/pull/21043
2025-03-22libphobos: Add module declaration to rt.invariantIain Buclaw3-11/+6
This prevents conflicts with a user-provided `invariant.d' module. gcc/d/ChangeLog: * runtime.def (INVARIANT): Update signature of run-time function. libphobos/ChangeLog: * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Rename rt/invariant.d to rt/invariant_.d. * libdruntime/Makefile.in: Regenerate. * libdruntime/rt/invariant.d: Move to... * libdruntime/rt/invariant_.d: ...here.
2025-03-22libphobos: Fix IEEE typo in std.numeric linkIain Buclaw2-2/+2
libphobos/ChangeLog: * src/MERGE: Merge upstream phobos d4c9efef1. Reviewed-on: https://github.com/dlang/phobos/pull/10700
2025-03-19Daily bump.GCC Administrator1-0/+32
2025-03-18libphobos: Fix std.getopt doesn't accept const(string)[] anymoreIain Buclaw2-34/+41
Instead of passing receiver into the conversion function, just return the value and assign it to the receiver. Renamed the conversion function and also cleaned up all the `typeof' calls, which were very verbose. libphobos/ChangeLog: * src/MERGE: Merge upstream phobos 79cbde1ab. Reviewed-on: https://github.com/dlang/phobos/pull/10684
2025-03-18libphobos: Avoid setting union members in std.json, set the whole union insteadIain Buclaw2-29/+17
libphobos/ChangeLog: * src/MERGE: Merge upstream phobos cafe86453. Reviewed-on: https://github.com/dlang/phobos/pull/10683
2025-03-18libphobos: Merge changes in upstream druntime testsuiteIain Buclaw21-24/+71
libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime d2ee11364c. * testsuite/libphobos.aa/test_aa.d: Add new test. * testsuite/libphobos.betterc/test19933.d: Adjust imports. * testsuite/libphobos.config/test22523.d: Likewise. * testsuite/libphobos.exceptions/assert_fail.d: Adjust test. * testsuite/libphobos.exceptions/chain.d: Adjust imports. * testsuite/libphobos.exceptions/future_message.d: Likewise. * testsuite/libphobos.exceptions/line_trace.d: Likewise. * testsuite/libphobos.exceptions/long_backtrace_trunc.d: Likewise. * testsuite/libphobos.exceptions/static_dtor.d: Likewise. * testsuite/libphobos.gc/forkgc.d: Likewise. * testsuite/libphobos.gc/precisegc.d: Likewise. * testsuite/libphobos.gc/recoverfree.d: Likewise. * testsuite/libphobos.hash/test_hash.d: Likewise. * testsuite/libphobos.init_fini/custom_gc.d: Likewise. * testsuite/libphobos.init_fini/thread_join.d: Likewise. * testsuite/libphobos.thread/external_threads.d: Likewise. * testsuite/libphobos.thread/fiber_guard_page.d: Likewise. * testsuite/libphobos.thread/tlsgc_sections.d: Likewise. * testsuite/libphobos.thread/tlsstack.d: Likewise. * testsuite/libphobos.unittest/customhandler.d: Likewise.
2025-03-18Daily bump.GCC Administrator1-0/+16
2025-03-17libphobos: Add sqlite3 and odbc bindingsIain Buclaw10-15/+8705
Phobos changes: - Add ODBC 4.0 modules to replace deprecated druntime bindings. - Add SQLite 3.x module. libphobos/ChangeLog: * src/Makefile.am (PHOBOS_DSOURCES): Add etc/c/odbc/odbc32.d, etc/c/odbc/odbc64.d, etc/c/odbc/package.d, etc/c/odbc/sql.d, etc/c/odbc/sqlext.d, etc/c/odbc/sqltypes.d, etc/c/odbc/sqlucode.d, etc/c/sqlite3.d. * src/Makefile.in: Regenerate. * src/etc/c/odbc/odbc32.d: New file. * src/etc/c/odbc/odbc64.d: New file. * src/etc/c/odbc/package.d: New file. * src/etc/c/odbc/sql.d: New file. * src/etc/c/odbc/sqlext.d: New file. * src/etc/c/odbc/sqltypes.d: New file. * src/etc/c/odbc/sqlucode.d: New file. * src/etc/c/sqlite3.d: New file.
2025-03-17Daily bump.GCC Administrator1-0/+12
2025-03-16d: Merge upstream dmd, druntime 603225372bIain Buclaw1-1/+1
D front-end changes: - Import dmd v2.111.0-beta.1. - Added placement `new' expressions. D runtime changes: - Import druntime v2.111.0-beta.1. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 603225372b. * dmd/VERSION: Bump version to v2.111.0-beta.1. * d-builtins.cc (build_frontend_type): Update for new front-end interface. * decl.cc (Class DeclVisitor): Likewise. (maybe_build_decl_tree): Likewise. (get_vtable_decl): Likewise. (layout_class_initializer): Likewise. * expr.cc (class ExprVisitor): Likewise. (ExprVisitor::visit (NewExp *)): Implement placement new for class, struct, and pointer types. * modules.cc (get_internal_fn): Update for new front-end interface. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 603225372b.
2025-03-16d: Merge upstream dmd, druntime 53a1cc8d13Iain Buclaw18-364/+564
D front-end changes: - Typesafe variadic class parameters have been deprecated. D runtime changes: - Added `entry' field to TypeInfo_AssociativeArray. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 53a1cc8d13. * d-tree.h (create_typeinfo): Change second parameter to Scope *. (speculative_type_p): Remove prototype. * d-frontend.cc (getTypeInfoType): Adjust. * decl.cc: Include dmd/typinf.h. (DeclVisitor::visit (TypeInfoDeclaration *)): Update for new front-end interface. * typeinfo.cc (create_typeinfo): Likewise. (class SpeculativeTypeVisitor): Remove class. (speculative_type_p): Remove function. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 53a1cc8d13. gcc/testsuite/ChangeLog: * gdc.dg/pr100967.d: Adjust error message.
2025-03-16d: Merge upstream dmd, druntime ffbad272b6Iain Buclaw10-89/+192
D front-end changes: - Import latest fixes from dmd. D runtime changes: - Import latest fixes from druntime. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd ffbad272b6. * d-tree.h (make_location_t): Add overload taking a const SourceLoc &. * d-codegen.cc (make_location_t): Likewise. * d-diagnostic.cc (d_diagnostic_report_diagnostic): Change first parameter type to const SourceLoc &. (verrorReport): Update for new front-end interface. (verrorReportSupplemental): Likewise. * d-frontend.cc (eval_builtin): Likewise. (getTypeInfoType): Likewise. * d-lang.cc (d_parse_file): Likewise. * d-target.cc (Target::va_listType): Likewise. (Target::getTargetInfo): Likewise. * decl.cc (build_decl_tree): Likewise. * imports.cc (ImportVisitor::visit (Module *)): Likewise. * modules.cc (get_internal_fn): Likewise. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime ffbad272b6.
2025-03-16Daily bump.GCC Administrator1-0/+19
2025-03-15d: Merge upstream dmd, druntime d29e3eca45Iain Buclaw3-2/+12
D front-end changes: - Error messages related to operator overloading have been improved. D runtime changes: - Import latest fixes from druntime. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd d29e3eca45. * d-codegen.cc (can_elide_copy_p): Update for new front-end interface. * d-lang.cc (d_handle_option): Likewise. * expr.cc (class ExprVisitor): Likewise. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime d29e3eca45.
2025-03-15d: Merge upstream dmd, druntime b7e3b3b617Iain Buclaw38-444/+1440
D front-end changes: - `delete' is no longer a keyword. - Initializing a field with itself has been deprecated. D runtime changes: - Add Windows BCrypt bindings under `core.sys.windows.bcrypt'. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream b7e3b3b617. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream b7e3b3b617. * libdruntime/Makefile.am (DRUNTIME_DSOURCES_WINDOWS): Add core/sys/windows/bcrypt.d. * libdruntime/Makefile.in: Regenerate. * libdruntime/gcc/sections/elf.d (sizeofTLS): Give function the same mangling as gcc.sections.sizeofTLS. * libdruntime/gcc/sections/package.d: Import core.internal.traits. (pinLoadedLibraries): Mangle as function from rt.sections_elf_shared. (unpinLoadedLibraries): Likewise. (inheritLoadedLibraries): Likewise. (cleanupLoadedLibraries): Likewise. (sizeOfTLS): Add forward declaration.
2025-03-13Daily bump.GCC Administrator1-0/+8
2025-03-12libphobos: Merge upstream phobos 0faae92d6Iain Buclaw26-440/+1787
Phobos changes: - Import phobos v2.111.0-beta.1. - Added `bitCast' function to `std.conv'. - Added `readfln' and `File.readfln' functions to `std.stdio'. - New procedural API for `std.sumtype'. libphobos/ChangeLog: * src/MERGE: Merge upstream phobos 0faae92d6. * testsuite/libphobos.phobos/std_array.d: Regenerate. * testsuite/libphobos.phobos/std_conv.d: Regenerate. * testsuite/libphobos.phobos/std_functional.d: Regenerate. * testsuite/libphobos.phobos/std_sumtype.d: Regenerate.
2025-02-28Daily bump.GCC Administrator1-0/+5
2025-02-27libphobos: Run unittest tests with dg-runtest.Iain Buclaw1-1/+3
Use `dg-runtest' test driver rather than `dg-test' to run the libphobos unittest testsuite, same as all other libphobos tests. This prevents the tests from being ran multiple times when parallelized. Set `libphobos_test_name' as well so that all tests get a unique name. libphobos/ChangeLog: * testsuite/libphobos.unittest/unittest.exp: Use `dg-runtest' rather than `dg-test'. Set `libphobos_test_name'.
2025-02-26Daily bump.GCC Administrator1-0/+173
2025-02-26libphobos: Generate test files for phobos testsuiteIain Buclaw108-0/+29861
Extracts all public unittests from libphobos/src and emits them as standalone tests in the testsuite using the tests_extractor script. Compiling every module in the Phobos library with unittests included is computationally expensive, and these tests are now only ran when GCC_TEST_RUN_EXPENSIVE is not empty. When instead just compiling the unittests and linking in the module under test, this has been observed to reduce the time spent running the testsuite by more than half. libphobos/ChangeLog: * testsuite/libphobos.phobos/shared/phobos-shared.exp: Require is-effective-target run_expensive_tests. * testsuite/libphobos.phobos/static/phobos-static.exp: Likewise. * testsuite/libphobos.phobos/phobos.exp: New test. * testsuite/libphobos.phobos/std_algorithm_comparison.d: New test. * testsuite/libphobos.phobos/std_algorithm_iteration.d: New test. * testsuite/libphobos.phobos/std_algorithm_mutation.d: New test. * testsuite/libphobos.phobos/std_algorithm_searching.d: New test. * testsuite/libphobos.phobos/std_algorithm_setops.d: New test. * testsuite/libphobos.phobos/std_algorithm_sorting.d: New test. * testsuite/libphobos.phobos/std_array.d: New test. * testsuite/libphobos.phobos/std_ascii.d: New test. * testsuite/libphobos.phobos/std_base64.d: New test. * testsuite/libphobos.phobos/std_bigint.d: New test. * testsuite/libphobos.phobos/std_bitmanip.d: New test. * testsuite/libphobos.phobos/std_checkedint.d: New test. * testsuite/libphobos.phobos/std_complex.d: New test. * testsuite/libphobos.phobos/std_concurrency.d: New test. * testsuite/libphobos.phobos/std_container_array.d: New test. * testsuite/libphobos.phobos/std_container_binaryheap.d: New test. * testsuite/libphobos.phobos/std_container_dlist.d: New test. * testsuite/libphobos.phobos/std_container_rbtree.d: New test. * testsuite/libphobos.phobos/std_container_slist.d: New test. * testsuite/libphobos.phobos/std_container_util.d: New test. * testsuite/libphobos.phobos/std_conv.d: New test. * testsuite/libphobos.phobos/std_csv.d: New test. * testsuite/libphobos.phobos/std_datetime_date.d: New test. * testsuite/libphobos.phobos/std_datetime_interval.d: New test. * testsuite/libphobos.phobos/std_datetime_package.d: New test. * testsuite/libphobos.phobos/std_datetime_stopwatch.d: New test. * testsuite/libphobos.phobos/std_datetime_systime.d: New test. * testsuite/libphobos.phobos/std_datetime_timezone.d: New test. * testsuite/libphobos.phobos/std_demangle.d: New test. * testsuite/libphobos.phobos/std_digest_crc.d: New test. * testsuite/libphobos.phobos/std_digest_hmac.d: New test. * testsuite/libphobos.phobos/std_digest_md.d: New test. * testsuite/libphobos.phobos/std_digest_murmurhash.d: New test. * testsuite/libphobos.phobos/std_digest_package.d: New test. * testsuite/libphobos.phobos/std_digest_ripemd.d: New test. * testsuite/libphobos.phobos/std_digest_sha.d: New test. * testsuite/libphobos.phobos/std_encoding.d: New test. * testsuite/libphobos.phobos/std_exception.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_affix_allocator.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_aligned_block_list.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_allocator_list.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_ascending_page_allocator.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_bitmapped_block.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_bucketizer.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_fallback_allocator.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_free_list.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_kernighan_ritchie.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_quantizer.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_region.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_scoped_allocator.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_segregator.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_building_blocks_stats_collector.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_common.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_gc_allocator.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_mallocator.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_package.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_showcase.d: New test. * testsuite/libphobos.phobos/std_experimental_allocator_typed.d: New test. * testsuite/libphobos.phobos/std_file.d: New test. * testsuite/libphobos.phobos/std_format_package.d: New test. * testsuite/libphobos.phobos/std_format_read.d: New test. * testsuite/libphobos.phobos/std_format_spec.d: New test. * testsuite/libphobos.phobos/std_format_write.d: New test. * testsuite/libphobos.phobos/std_functional.d: New test. * testsuite/libphobos.phobos/std_getopt.d: New test. * testsuite/libphobos.phobos/std_int128.d: New test. * testsuite/libphobos.phobos/std_internal_cstring.d: New test. * testsuite/libphobos.phobos/std_internal_scopebuffer.d: New test. * testsuite/libphobos.phobos/std_json.d: New test. * testsuite/libphobos.phobos/std_logger_core.d: New test. * testsuite/libphobos.phobos/std_logger_nulllogger.d: New test. * testsuite/libphobos.phobos/std_math_algebraic.d: New test. * testsuite/libphobos.phobos/std_math_exponential.d: New test. * testsuite/libphobos.phobos/std_math_hardware.d: New test. * testsuite/libphobos.phobos/std_math_operations.d: New test. * testsuite/libphobos.phobos/std_math_remainder.d: New test. * testsuite/libphobos.phobos/std_math_rounding.d: New test. * testsuite/libphobos.phobos/std_math_traits.d: New test. * testsuite/libphobos.phobos/std_math_trigonometry.d: New test. * testsuite/libphobos.phobos/std_meta.d: New test. * testsuite/libphobos.phobos/std_mmfile.d: New test. * testsuite/libphobos.phobos/std_numeric.d: New test. * testsuite/libphobos.phobos/std_outbuffer.d: New test. * testsuite/libphobos.phobos/std_package.d: New test. * testsuite/libphobos.phobos/std_parallelism.d: New test. * testsuite/libphobos.phobos/std_path.d: New test. * testsuite/libphobos.phobos/std_random.d: New test. * testsuite/libphobos.phobos/std_range_interfaces.d: New test. * testsuite/libphobos.phobos/std_range_package.d: New test. * testsuite/libphobos.phobos/std_range_primitives.d: New test. * testsuite/libphobos.phobos/std_regex_package.d: New test. * testsuite/libphobos.phobos/std_signals.d: New test. * testsuite/libphobos.phobos/std_socket.d: New test. * testsuite/libphobos.phobos/std_stdio.d: New test. * testsuite/libphobos.phobos/std_string.d: New test. * testsuite/libphobos.phobos/std_sumtype.d: New test. * testsuite/libphobos.phobos/std_traits.d: New test. * testsuite/libphobos.phobos/std_typecons.d: New test. * testsuite/libphobos.phobos/std_typetuple.d: New test. * testsuite/libphobos.phobos/std_uni_package.d: New test. * testsuite/libphobos.phobos/std_uri.d: New test. * testsuite/libphobos.phobos/std_utf.d: New test. * testsuite/libphobos.phobos/std_uuid.d: New test. * testsuite/libphobos.phobos/std_variant.d: New test. * testsuite/libphobos.phobos/std_zlib.d: New test.
2025-02-25libphobos: Add script for extracting unittests from phobosIain Buclaw3-0/+236
This script parses all unittests annotated with three slashes (`///') and extracts them into a standalone test case. The intended use is for generating inexpensive tests to be ran for the phobos testsuite. libphobos/ChangeLog: * scripts/.gitignore: Add tests_extractor. * scripts/README: Document tests_extractor.d. * scripts/tests_extractor.d: New file.
2025-02-25libphobos: Organize druntime and phobos tests under common directoryIain Buclaw4-6/+6
The druntime and druntime_shared tests are identical, save for one compiled with `-static-libphobos' and the other `-shared-libphobos'. Move them to libphobos.druntime/static and libphobos.druntime/shared respectively. This has also been done for libphobos.phobos. libphobos/ChangeLog: * testsuite/libphobos.druntime_shared/druntime_shared.exp: Move to... * testsuite/libphobos.druntime/shared/druntime-shared.exp: ...here. * testsuite/libphobos.druntime/druntime.exp: Move to... * testsuite/libphobos.druntime/static/druntime-static.exp: ...here. * testsuite/libphobos.phobos_shared/phobos_shared.exp: Move to... * testsuite/libphobos.phobos/shared/phobos-shared.exp: ...here. * testsuite/libphobos.phobos/phobos.exp: Move to... * testsuite/libphobos.phobos/static/phobos-static.exp: ...here.
2025-02-25libphobos: Add scripts to update Makefile.am after an upstream mergeIain Buclaw8-4/+243
These two scripts have been used for updating Makefile.am whenever there's been a file added/removed from either Druntime or Phobos since the start, but never included in the source tree. libphobos/ChangeLog: * libdruntime/Makefile.am: Update comment. * libdruntime/Makefile.in: Regenerate. * src/Makefile.am: Update comment. * src/Makefile.in: Regenerate. * scripts/.gitignore: New file. * scripts/README: New file. * scripts/gen_druntime_sources.d: New file. * scripts/gen_phobos_sources.d: New file.
2025-02-25d/i386: Add CET TargetInfo key and predefined version [PR118654]Iain Buclaw10-20/+9
Adds a new i386 d_target_info_spec entry to handle requests for `__traits(getTargetInfo, "CET")', and add predefined target version `GNU_CET' when the option `-fcf-protecton' is used. Both TargetInfo key and predefined version have been added to the D front-end documentation. In the library, `GNU_CET' replaces the existing use of the user-defined version flag `CET' when building libphobos. PR d/118654 gcc/ChangeLog: * config/i386/i386-d.cc (ix86_d_target_versions): Predefine GNU_CET. (ix86_d_handle_target_cf_protection): New. (ix86_d_register_target_info): Add 'CET' TargetInfo key. gcc/d/ChangeLog: * implement-d.texi: Document CET version and traits key. libphobos/ChangeLog: * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Remove CET_DFLAGS. * libdruntime/Makefile.am: Replace CET_DFLAGS with CET_FLAGS. * libdruntime/Makefile.in: Regenerate. * libdruntime/core/thread/fiber/package.d: Replace CET with GNU_CET. * src/Makefile.am: Replace CET_DFLAGS with CET_FLAGS. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * testsuite/testsuite_flags.in: Replace CET_DFLAGS with CET_FLAGS. gcc/testsuite/ChangeLog: * gdc.dg/target/i386/i386.exp: New test. * gdc.dg/target/i386/targetinfo_CET.d: New test.
2025-02-25d: Increase max parallelism of the D testsuiteIain Buclaw2-4/+2
It was noticed that when running the testsuite for gdc and libphobos in parallel, this was capped at 10 simultaneous jobs each. Increase this limit to 128, which enables running for example `make check-d -j48` to complete in half the time. gcc/d/ChangeLog: * Make-lang.in (check_gdc_parallelize): Increase to 128. libphobos/ChangeLog: * testsuite/Makefile.am (check_p_subno): Remove variable. (check_p_subdirs): Increase default parallel slots to 128. * testsuite/Makefile.in: Regenerate.
2025-02-12Daily bump.GCC Administrator1-0/+9
2025-02-11libphobos: Disable libphobos.phobos/std/concurrency.d on macOS 13+ [PR111628]Rainer Orth2-0/+4
The libphobos.phobos_shared/std/concurrency.d test just hangs on macOS 13 and beyond and isn't even termintated after the testsuite timeout is exceeded. Thus, more and more concurrency.exe processes keep accumulating, consuming CPU time for nothing. To avoid this, this patch skips the test on macOS 13+. The static test SEGVs immediately instead, but I'm skipping it too for symmetry. Tested on macOS 15 (where it becomes UNSUPPORTED) and 12 (where it still PASSes). I have no idea what happens on Darwin/arm64, so currently the skipping is restricted to Darwin/x86_64. 2025-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR d/111628 * testsuite/libphobos.phobos/phobos.exp (libphobos_skip_tests): Add libphobos.phobos/std/concurrency.d on macOS 13+. * testsuite/libphobos.phobos_shared/phobos_shared.exp (libphobos_skip_tests): Likewise for libphobos.phobos_shared/std/concurrency.d
2025-01-22Daily bump.GCC Administrator1-0/+6
2025-01-21libphobos: Add MIPS64 implementation of fiber_switchContext [PR118584]Iain Buclaw1-0/+78
Replaces the generic implementation. The `core.thread.fiber' module already defines version=AsmExternal on mips64el-linux-gnuabi64. PR d/118584 libphobos/ChangeLog: * libdruntime/config/mips/switchcontext.S: Add MIPS64 N64 ABI implementation of fiber_switchContext.
2025-01-19Daily bump.GCC Administrator1-0/+5
2025-01-18d: Merge upstream dmd, druntime d115713410, phobos 1b242048c.Iain Buclaw21-588/+590
D front-end changes: - Import latest fixes from dmd v2.110.0-rc.1. - Integers in debug or version statements have been removed from the language. D runtime changes: - Import latest fixes from druntime v2.110.0-rc.1. Phobos changes: - Import latest fixes from phobos v2.110.0-rc.1. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd d115713410. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime d115713410. * src/MERGE: Merge upstream phobos 1b242048c. gcc/testsuite/ChangeLog: * gdc.dg/asm3.d: Adjust test.
2025-01-15Daily bump.GCC Administrator1-0/+9
2025-01-14d: Merge upstream dmd, druntime d6f693b46a, phobos 336bed6d8.Iain Buclaw10-17/+52
D front-end changes: - Import latest fixes from dmd v2.110.0-rc.1. D runtime changes: - Import latest fixes from druntime v2.110.0-rc.1. Phobos changes: - Import latest fixes from phobos v2.110.0-rc.1. Included in the merge are fixes for the following PRs: PR d/118438 PR d/118448 PR d/118449 gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd d6f693b46a. * d-incpath.cc (add_import_paths): Update for new front-end interface. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime d6f693b46a. * src/MERGE: Merge upstream phobos 336bed6d8. * testsuite/libphobos.init_fini/custom_gc.d: Adjust test.