Commit Graph

447 Commits

Author SHA1 Message Date
GCC Administrator
a03e863975 Daily bump. 2025-03-19 00:17:56 +00:00
Iain Buclaw
1ad1bcc991 libphobos: Fix std.getopt doesn't accept const(string)[] anymore
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-18 19:44:18 +01:00
Iain Buclaw
ef4248460d libphobos: Avoid setting union members in std.json, set the whole union instead
libphobos/ChangeLog:

	* src/MERGE: Merge upstream phobos cafe86453.

Reviewed-on: https://github.com/dlang/phobos/pull/10683
2025-03-18 19:44:18 +01:00
Iain Buclaw
b3b54f9c9a libphobos: Merge changes in upstream druntime testsuite
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-18 18:53:11 +01:00
GCC Administrator
b5d82890c4 Daily bump. 2025-03-18 00:19:44 +00:00
Iain Buclaw
3653c7d726 libphobos: Add sqlite3 and odbc bindings
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-17 15:38:41 +01:00
GCC Administrator
a3ead22b42 Daily bump. 2025-03-17 00:16:48 +00:00
Iain Buclaw
7d6e5591e6 d: Merge upstream dmd, druntime 603225372b
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-16 21:06:07 +01:00
Iain Buclaw
26c4ea2ebc d: Merge upstream dmd, druntime 53a1cc8d13
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-16 20:49:55 +01:00
Iain Buclaw
348d41e1d1 d: Merge upstream dmd, druntime ffbad272b6
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-16 13:04:34 +01:00
GCC Administrator
53fc26e54f Daily bump. 2025-03-16 00:16:56 +00:00
Iain Buclaw
df1f6b9857 d: Merge upstream dmd, druntime d29e3eca45
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-15 17:54:15 +01:00
Iain Buclaw
e8c9f4ab8f d: Merge upstream dmd, druntime b7e3b3b617
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-15 16:33:00 +01:00
GCC Administrator
03855565ae Daily bump. 2025-03-13 00:18:24 +00:00
Iain Buclaw
d63b52e059 libphobos: Merge upstream phobos 0faae92d6
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-03-12 15:38:28 +01:00
GCC Administrator
d880cb4620 Daily bump. 2025-02-28 00:16:37 +00:00
Iain Buclaw
955de3733a libphobos: Run unittest tests with dg-runtest.
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-27 23:52:49 +01:00
GCC Administrator
7de2f64d72 Daily bump. 2025-02-26 00:17:49 +00:00
Iain Buclaw
c2ece13931 libphobos: Generate test files for phobos testsuite
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-26 00:37:07 +01:00
Iain Buclaw
df4565eaa9 libphobos: Add script for extracting unittests from phobos
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-25 22:31:51 +01:00
Iain Buclaw
a407eada01 libphobos: Organize druntime and phobos tests under common directory
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-25 22:31:50 +01:00
Iain Buclaw
fffe14f045 libphobos: Add scripts to update Makefile.am after an upstream merge
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-25 19:09:03 +01:00
Iain Buclaw
c17044e509 d/i386: Add CET TargetInfo key and predefined version [PR118654]
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-25 18:04:46 +01:00
Iain Buclaw
2d812eecc3 d: Increase max parallelism of the D testsuite
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-25 17:50:24 +01:00
GCC Administrator
1fb2146baa Daily bump. 2025-02-12 00:17:11 +00:00
Rainer Orth
b7008552b4 libphobos: Disable libphobos.phobos/std/concurrency.d on macOS 13+ [PR111628]
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-02-11 09:41:18 +01:00
GCC Administrator
e9bd9d42dd Daily bump. 2025-01-22 00:18:57 +00:00
Iain Buclaw
79186e392c libphobos: Add MIPS64 implementation of fiber_switchContext [PR118584]
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-21 20:02:07 +01:00
GCC Administrator
0ad1905bf0 Daily bump. 2025-01-19 00:17:46 +00:00
Iain Buclaw
2ead01297c d: Merge upstream dmd, druntime d115713410, phobos 1b242048c.
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-18 23:42:43 +01:00
GCC Administrator
3b3b3f886e Daily bump. 2025-01-15 00:17:24 +00:00
Iain Buclaw
c8894b6811 d: Merge upstream dmd, druntime d6f693b46a, phobos 336bed6d8.
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.
2025-01-14 21:01:33 +01:00
GCC Administrator
f71fe877da Daily bump. 2025-01-14 00:18:31 +00:00
Iain Buclaw
a52812a65c libphobos: Bump soname to version 6 [PR117701]
Each major release is not binary compatible with the previous.

	PR d/117701

libphobos/ChangeLog:

	* configure: Regenerate.
	* configure.ac (libtool_VERSION): Update to 6:0:0.
2025-01-13 20:53:54 +01:00
GCC Administrator
422c58844e Daily bump. 2025-01-13 00:17:22 +00:00
Iain Buclaw
a2e540bf01 d: Merge dmd, druntime c7902293d7, phobos 03aeafd20
D front-end changes:

	- Import dmd v2.110.0-rc.1.
	- An error is now given for subtracting pointers of different
	  types.

D runtime changes:

	- Import druntime v2.110.0-rc.1.

Phobos changes:

	- Import phobos v2.110.0-rc.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd c7902293d7.
	* dmd/VERSION: Bump version to v2.110.0-rc.1.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime c7902293d7.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Rename
	core/thread/fiber.d to core/thread/fiber/package.d.  Add
	core/thread/fiber/base.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos 63fdb282f.

gcc/testsuite/ChangeLog:

	* gdc.dg/asm3.d: Adjust test.
	* gdc.dg/torture/pr96435.d: Adjust test.
2025-01-12 23:18:25 +01:00
Iain Buclaw
0dd21bce3a d: Merge upstream dmd, druntime c57da0cf59, phobos ad8ee5587
D front-end changes:

	- Import latest fixes from dmd v2.110.0-beta.1.
	- The `align' attribute now allows to specify `default'
	  explicitly.
	- Add primary expression of the form `__rvalue(expression)'
	  which causes `expression' to be treated as an rvalue, even if
	  it is an lvalue.
	- Shortened method syntax can now be used in constructors.

D runtime changes:

	- Import latest fixes from druntime v2.110.0-beta.1.

Phobos changes:

	- Import latest fixes from phobos v2.110.0-beta.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd c57da0cf59.
	* d-codegen.cc (can_elide_copy_p): New.
	(d_build_call): Use it.
	* d-lang.cc (d_post_options): Update for new front-end interface.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime c57da0cf59.
	* src/MERGE: Merge upstream phobos ad8ee5587.
	* testsuite/libphobos.init_fini/custom_gc.d: Adjust test.

gcc/testsuite/ChangeLog:

	* gdc.dg/copy1.d: New test.
2025-01-12 21:53:50 +01:00
GCC Administrator
550f1a4e53 Daily bump. 2025-01-12 00:17:52 +00:00
Iain Buclaw
c9f7090d93 d: Merge upstream dmd, druntime 82a5d2a7c4, phobos dbc09d823
D front-end changes:

	- Import latest fixes from dmd v2.110.0-beta.1.
	- Added traits `getBitfieldOffset' and `getBitfieldWidth'.
	- Added trait `isCOMClass' to detect if a type is a COM class.
	- Added `-fpreview=safer` which enables safety checking on
	  unattributed functions.

D runtime changes:

	- Import latest fixes from druntime v2.110.0-beta.1.

Phobos changes:

	- Import latest fixes from phobos v2.110.0-beta.1.
	- Added `fromHexString' and `fromHexStringAsRange' functions to
	  `std.digest'.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 82a5d2a7c4.
	* d-lang.cc (d_handle_option): Handle new option `-fpreview=safer'.
	* expr.cc (ExprVisitor::NewExp): Remove gcc_unreachable for the
	generation of `_d_newThrowable'.
	* lang.opt: Add -fpreview=safer.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 82a5d2a7c4.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add
	core/internal/gc/blkcache.d, core/internal/gc/blockmeta.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos dbc09d823.
2025-01-11 19:18:03 +01:00
Iain Buclaw
292be68171 libphobos: Merge upstream phobos 2a730adc0
Phobos changes:

	- `std.uni' has been upgraded from Unicode 15.1.0 to 16.0.0.

libphobos/ChangeLog:

	* src/MERGE: Merge upstream phobos 2a730adc0.
2025-01-11 19:10:43 +01:00
Iain Buclaw
dd3026f051 d: Merge dmd, druntime 2b89c2909d, phobos bdedad3bf
D front-end changes:

        - Import latest fixes from dmd v2.110.0-beta.1.

D runtime changes:

        - Import latest fixes from druntime v2.110.0-beta.1.

Phobos changes:

        - Import latest fixes from phobos v2.110.0-beta.1.
	- Added `popGrapheme' function to `std.uni'.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 2b89c2909d.
	* Make-lang.in (D_FRONTEND_OBJS): Rename d/basicmangle.o to
	d/mangle-basic.o, d/cppmangle.o to d/mangle-cpp.o, and d/dmangle.o to
	d/mangle-package.o.
	(d/mangle-%.o): New rule.
	* d-builtins.cc (maybe_set_builtin_1): Update for new front-end
	interface.
	* d-diagnostic.cc (verrorReport): Likewise.
	(verrorReportSupplemental): Likewise.
	* d-frontend.cc (getTypeInfoType): Likewise.
	* d-lang.cc (d_init_options): Likewise.
	(d_handle_option): Likewise.
	(d_post_options): Likewise.
	* d-target.cc (TargetC::contributesToAggregateAlignment): New.
	* d-tree.h (create_typeinfo): Adjust prototype.
	* decl.cc (layout_struct_initializer): Update for new front-end
	interface.
	* typeinfo.cc (create_typeinfo): Remove generate parameter.
	* types.cc (layout_aggregate_members): Update for new front-end
	interface.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 2b89c2909d.
	* src/MERGE: Merge upstream phobos bdedad3bf.
2025-01-11 02:21:39 +01:00
GCC Administrator
4951a90e53 Daily bump. 2025-01-11 00:19:49 +00:00
Iain Buclaw
c82395e035 d: Merge dmd, druntime 4ccb01fde5, phobos eab6595ad
D front-end changes:

	- Added pragma for ImportC to allow setting `nothrow', `@nogc'
	  or `pure'.
	- Mixin templates can now use assignment syntax.

D runtime changes:

	- Removed `ThreadBase.criticalRegionLock' from `core.thread'.
	- Added `expect', `[un]likely', `trap' to `core.builtins'.

Phobos changes:

	- Import latest fixes from phobos v2.110.0-beta.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 4ccb01fde5.
	* Make-lang.in (D_FRONTEND_OBJS): Rename d/foreachvar.o to
	d/visitor-foreachvar.o, d/visitor.o to d/visitor-package.o, and
	d/statement_rewrite_walker.o to d/visitor-statement_rewrite_walker.o.
	(D_FRONTEND_OBJS): Rename
	d/{parsetime,permissive,postorder,transitive}visitor.o to
	d/visitor-{parsetime,permissive,postorder,transitive}.o.
	(D_FRONTEND_OBJS): Remove d/sapply.o.
	(d.tags): Add dmd/common/*.h.
	(d/visitor-%.o:): New rule.
	* d-codegen.cc (get_frameinfo): Update for new front-end interface.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 4ccb01fde5.
	* src/MERGE: Merge upstream phobos eab6595ad.
2025-01-11 00:51:15 +01:00
Iain Buclaw
a7ae0c3124 d: Merge dmd, druntime 6884b433d2, phobos 48d581a1f
D front-end changes:

	- It's now deprecated to declare `auto ref' parameters without
	  putting those two keywords next to each other.
        - An error is now given for case fallthough for multivalued
	  cases.
        - An error is now given for constructors with field destructors
	  with stricter attributes.
        - An error is now issued for `in'/`out' contracts of `nothrow'
	  functions that may throw.
	- `auto ref' can now be applied to local, static, extern, and
	  global variables.

D runtime changes:

        - Import latest fixes from druntime v2.110.0-beta.1.

Phobos changes:

        - Import latest fixes from phobos v2.110.0-beta.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 6884b433d2.
	* d-builtins.cc (build_frontend_type): Update for new front-end
	interface.
	(d_build_builtins_module): Likewise.
	(matches_builtin_type): Likewise.
	(covariant_with_builtin_type_p): Likewise.
	* d-codegen.cc (lower_struct_comparison): Likewise.
	(call_side_effect_free_p): Likewise.
	* d-compiler.cc (Compiler::paintAsType): Likewise.
	* d-convert.cc (convert_expr): Likewise.
	(convert_for_assignment): Likewise.
	* d-target.cc (Target::isVectorTypeSupported): Likewise.
	(Target::isVectorOpSupported): Likewise.
	(Target::isReturnOnStack): Likewise.
	* decl.cc (get_symbol_decl): Likewise.
	* expr.cc (build_return_dtor): Likewise.
	* imports.cc (class ImportVisitor): Likewise.
	* toir.cc (class IRVisitor): Likewise.
	* types.cc (class TypeVisitor): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 6884b433d2.
	* src/MERGE: Merge upstream phobos 48d581a1f.
2025-01-10 23:40:53 +01:00
Iain Buclaw
89629b2718 d: Merge dmd, druntime 34875cd6e1, phobos ebd24da8a
D front-end changes:

        - Import dmd v2.110.0-beta.1.
        - `ref' can now be applied to local, static, extern, and global
	  variables.

D runtime changes:

        - Import druntime v2.110.0-beta.1.

Phobos changes:

        - Import phobos v2.110.0-beta.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 34875cd6e1.
	* dmd/VERSION: Bump version to v2.110.0-beta.1.
	* Make-lang.in (D_FRONTEND_OBJS): Add d/deps.o, d/timetrace.o.
	* decl.cc (class DeclVisitor): Update for new front-end interface.
	* expr.cc (class ExprVisitor): Likewise
	* typeinfo.cc (check_typeinfo_type): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 34875cd6e1.
	* src/MERGE: Merge upstream phobos ebd24da8a.
2025-01-10 22:09:00 +01:00
GCC Administrator
451ff5b58f Daily bump. 2025-01-06 00:16:54 +00:00
Iain Buclaw
f5351b38a8 d: Merge upstream dmd, druntime 66b93fc24a, phobos 0c28620c3
Synchronizing with the upstream release of v2.109.1.

D front-end changes:

	- Import dmd v2.109.1.
	- Copying from `const(void)[]' to `void[]' is now disallowed
	  with `-fpreview=fiximmutableconv'.
	- Import expressions are now treated as hex strings.
	- Using boolean values other than 0 or 1 in `@safe' code is now
	  deprecated.

D runtime changes:

	- Import dmd v2.109.1.

Phobos changes:

	- Import dmd v2.109.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 66b93fc24a.
	* dmd/VERSION: Bump version to v2.109.1.
	* d-builtins.cc (build_frontend_type): Update for new front-end
	interface.
	(matches_builtin_type): Likewise.
	* d-codegen.cc (identity_compare_p): Likewise.
	(call_side_effect_free_p): Likewise.
	* d-convert.cc (convert_expr): Likewise.
	(check_valist_conversion): Likewise.
	* d-lang.cc (d_types_compatible_p): Likewise.
	* d-target.cc (Target::isVectorTypeSupported): Likewise.
	(Target::isReturnOnStack): Likewise.
	(Target::preferPassByRef): Likewise.
	* decl.cc (class DeclVisitor): Likewise.
	* expr.cc (class ExprVisitor): Likewise.
	* typeinfo.cc (class TypeInfoVisitor): Likewise.
	* types.cc (class TypeVisitor): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 66b93fc24a.
	* src/MERGE: Merge upstream phobos 0c28620c3.
	* src/Makefile.am (PHOBOS_DSOURCES): Add
	std/internal/test/sumtype_example_overloads.d.
	* src/Makefile.in: Regenerate.
2025-01-05 14:40:13 +01:00
Iain Buclaw
a676a51670 d: Merge upstream dmd, druntime 07bc5b9b3c, phobos de1dea109
Synchronizing with the upstream release of v2.109.0.

D front-end changes:

        - Import dmd v2.109.0.

D runtime changes:

        - Import druntime v2.109.0.

Phobos changes:

        - Import phobos v2.109.0.

gcc/d/ChangeLog:

	* decl.cc (DeclVisitor::finish_vtable): Update for new front-end
	interface.
	* dmd/MERGE: Merge upstream dmd 07bc5b9b3c.
	* dmd/VERSION: Bump version to v2.109.0.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 07bc5b9b3c.
	* src/MERGE: Merge upstream phobos de1dea109.
2025-01-05 14:24:49 +01:00
Iain Buclaw
3dfad340cb libphobos: Merge upstream druntime c11e1d1708, phobos 303b9c9f7
Synchronizing the library with the upstream release of v2.108.1.

D runtime changes:

        - Import druntime v2.108.1.
	- Removed all `collectNoStack' functions and API from the
	  garbage collector.
	- The static method `core.thread.Thread.sleep' is now marked as
	  `@trusted'.

Phobos changes:

        - Import phobos v2.108.1.
	- Add `std.process.Config.preExecDelegate'.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime c11e1d1708.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES_FREEBSD): Add
	core/sys/freebsd/mqueue.d.
	(DRUNTIME_DSOURCES_LINUX): Add core/sys/linux/sys/mount.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos 303b9c9f7.
	* testsuite/libphobos.exceptions/invalid_memory_operation.d: Adjust
	test.
2025-01-05 13:56:23 +01:00
Iain Buclaw
332cf038fd d: Merge upstream dmd c11e1d1708, druntime e60bfd11bd, phobos 8729740e3
Synchronizing the compiler with the upstream release of v2.108.1.

D front-end changes:

        - Import dmd v2.108.1.
	- Add experimental support for language editions, enabled by
	  adding the UDA `@__edition_latest_do_not_use' before module
	  declarations.
	- [Next Edition] Aliasing a member of a type instance is now an
	  error.
	- Added `__ctfeWrite' to write messages from CTFE.
	- `-fdump-c++-spec' generates signatures for `extern(Windows)'
	  and `extern(System)' functions.
	- `foreach_reverse' on a delegate is now an error.
	- ImportC has improved Unicode support.

D runtime changes:

        - Mark unsafe unittest @trusted.

Phobos changes:

        - Mark unsafe functions @trusted.

gcc/d/ChangeLog:

	* Make-lang.in (D_FRONTEND_OBJS): Add d/attribsem.o,
	d/common-charactertables.o, d/common-identifiertables.o.
	* d-attribs.cc (apply_user_attributes): Update for new front-end
	interface.
	* d-builtins.cc (d_init_versions): Predefine CppRuntime_GNU.
	* d-incpath.cc (add_globalpaths): Update for new front-end interface.
	(add_filepaths): Likewise.
	(add_import_paths): Likewise.
	* d-lang.cc (d_post_options): Likewise.
	* dmd/MERGE: Merge upstream dmd c11e1d1708.
	* dmd/VERSION: Bump version to v2.108.1.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime e60bfd11bd.
	* src/MERGE: Merge upstream phobos 8729740e3.

gcc/testsuite/ChangeLog:

	* gdc.dg/torture/pr96435.d: Add dg-warning.
2025-01-05 13:30:24 +01:00