Commit Graph

113 Commits

Author SHA1 Message Date
Iain Buclaw
424c6c8803 d: Fix importC cannot find input file __importc_builtins.d [PR119761]
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-13 01:12:23 +02:00
Iain Buclaw
2d270bdc31 d: Bump front-end language version to v2.111.0
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-31 20:11:20 +02:00
Iain Buclaw
1f42269ee4 d: Add C++23 to CppStdRevision enum
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-22 10:55:13 +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
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
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
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
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
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
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
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
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
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
Iain Buclaw
09992f8b88 d: Merge upstream dmd, druntime b65767825f, phobos 92dc5a4e9.
Synchronizing with the upstream release of v2.108.0.

D front-end changes:

	- Import dmd v2.108.0.

D runtime changes:

	- Import druntime v2.108.0.

Phobos changes:

	- Import phobos v2.108.0.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd b65767825f.
	* dmd/VERSION: Bump version to v2.108.0.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime b65767825f.
	* src/MERGE: Merge upstream phobos 92dc5a4e9.
2024-04-06 14:26:37 +02:00
Iain Buclaw
2d454f9829 d: Merge upstream dmd, druntime 855353a1d9
D front-end changes:

	- Import dmd v2.108.0-rc.1.
	- Add support for Named Arguments for functions.
	- Hex strings now convert to integer arrays.

D runtime changes:

	- Import druntime v2.108.0-rc.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 855353a1d9.
	* dmd/VERSION:

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 855353a1d9.
2024-03-17 12:01:20 +01:00
Iain Buclaw
bbfbaa792b d: Merge upstream dmd, druntime f8bae04558, phobos ba2ade9dec
D front-end changes:

    - Import dmd v2.108.1-beta-1.

D runtime changes:

    - Import druntime v2.108.1-beta-1.

Phobos changes:

    - Import phobos v2.108.1-beta-1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd f8bae04558.
	* dmd/VERSION: Bump version to v2.108.0-beta.1.
	* d-builtins.cc (build_frontend_type): Update for new front-end
	interface.
	* d-codegen.cc (build_assert_call): Likewise.
	* d-convert.cc (d_array_convert): Likewise.
	* decl.cc (get_vtable_decl): Likewise.
	* expr.cc (ExprVisitor::visit (EqualExp *)): Likewise.
	(ExprVisitor::visit (VarExp *)): Likewise.
	(ExprVisitor::visit (ArrayLiteralExp *)): Likewise.
	(ExprVisitor::visit (AssocArrayLiteralExp)): Likewise.
	* intrinsics.cc (build_shuffle_mask_type): Likewise.
	(maybe_warn_intrinsic_mismatch): Likewise.
	* runtime.cc (get_libcall_type): Likewise.
	* typeinfo.cc (TypeInfoVisitor::layout_string): Likewise.
	(TypeInfoVisitor::visit(TypeInfoTupleDeclaration *)): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 02d6d07a69.
	* src/MERGE: Merge upstream phobos a2ade9dec.
2024-03-03 23:42:56 +01:00
Iain Buclaw
94687d17ba Merge dmd, druntime ceff48bf7d, phobos dcbfbd43a
D front-end changes:

	-   Import latest fixes from dmd v2.107.1-rc.1.

D runtime changes:

	-   Import latest fixes from druntime v2.107.1-rc.1.

Phobos changes:

	-   Import latest fixes from phobos v2.107.1-rc.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd ceff48bf7d.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime ceff48bf7d.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES_FREEBSD): Add
	core/sys/freebsd/net/if_.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos dcbfbd43a.
2024-02-26 00:06:22 +01:00
Iain Buclaw
5aff58e5ed d: Merge dmd, druntime 9471b25db9, phobos 547886846.
D front-end changes:

	- Import dmd v2.107.1-rc.1.

D runtime changes:

	- Import druntime v2.107.1-rc.1.

Phobos changes:

	- Import phobos v2.107.1-rc.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 9471b25db9.
	* dmd/VERSION: Bump version to v2.107.1-rc.1.
	* Make-lang.in (D_FRONTEND_OBJS): Add d/cxxfrontend.o.
	* d-attribs.cc (build_attributes): Update for new front-end interface.
	* d-builtins.cc (build_frontend_type): Likewise.
	(strip_type_modifiers): Likewise.
	(covariant_with_builtin_type_p): Likewise.
	* d-codegen.cc (declaration_type): Likewise.
	(parameter_type): Likewise.
	(build_array_struct_comparison): Likewise.
	(void_okay_p): Likewise.
	* d-convert.cc (convert_expr): Likewise.
	(check_valist_conversion): Likewise.
	* d-lang.cc (d_generate_ddoc_file): Likewise.
	(d_parse_file): Likewise.
	* d-target.cc (TargetCPP::toMangle): Likewise.
	(TargetCPP::typeInfoMangle): Likewise.
	(TargetCPP::thunkMangle): Likewise.
	(TargetCPP::parameterType): Likewise.
	* decl.cc (d_mangle_decl): Likewise.
	(DeclVisitor::visit): Likewise.
	(DeclVisitor::visit (CAsmDeclaration *)): New method.
	(get_symbol_decl): Update for new front-end interface.
	(layout_class_initializer): Likewise.
	* expr.cc (ExprVisitor::visit): Likewise.
	* intrinsics.cc (maybe_set_intrinsic): Likewise.
	(expand_intrinsic_rotate): Likewise.
	* modules.cc (layout_moduleinfo_fields): Likewise.
	(layout_moduleinfo): Likewise.
	* runtime.cc (get_libcall_type): Likewise.
	* typeinfo.cc (make_frontend_typeinfo): Likewise.
	(TypeInfoVisitor::visit): Likewise.
	(create_typeinfo): Likewise.
	* types.cc (same_type_p): Likewise.
	(build_ctype): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 9471b25db9.
	* src/MERGE: Merge upstream phobos 547886846.
2024-02-17 21:28:58 +01:00
Iain Buclaw
2dde675ff4 d: Merge dmd, druntime 11240a9663
D front-end changes:

	- Import latest fixes from dmd v2.107.0.

D runtime changes:

	- Import latest fixes from druntime v2.107.0.

Included in the merge are the fix for PR113772, and new testsuite
directives to enable fixing PR104739.

	PR d/113772

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 11240a9663.
	* d-builtins.cc (build_frontend_type): Update for new front-end
	interface.
	* types.cc (same_type_p): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 11240a9663.
2024-02-12 16:55:33 +01:00
Iain Buclaw
c428454ece d: Merge dmd, druntime a6f1083699, phobos 31dedd7da
D front-end changes:

	- Import dmd v2.107.0.
	- Character postfixes can now also be used for integers of size
	  two or four.

D run-time changes:

	- Import druntime v2.107.0.

Phobos changes:

	- Import phobos v2.107.0.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd a6f1083699.
	* dmd/VERSION: Bump version to v2.107.0
	* Make-lang.in (D_FRONTEND_OBJS): Add d/pragmasem.o.
	* d-builtins.cc (strip_type_modifiers): Update for new front-end
	interface.
	* d-codegen.cc (declaration_type): Likewise.
	(parameter_type): Likewise.
	* d-target.cc (TargetCPP::parameterType): Likewise.
	* expr.cc (ExprVisitor::visit (IndexExp *)): Likewise.
	(ExprVisitor::visit (VarExp *)): Likewise.
	(ExprVisitor::visit (AssocArrayLiteralExp *)): Likewise.
	* runtime.cc (get_libcall_type): Likewise.
	* typeinfo.cc (TypeInfoVisitor::visit (TypeInfoConstDeclaration *)):
	Likewise.
	(TypeInfoVisitor::visit (TypeInfoInvariantDeclaration *)): Likewise.
	(TypeInfoVisitor::visit (TypeInfoSharedDeclaration *)): Likewise.
	(TypeInfoVisitor::visit (TypeInfoWildDeclaration *)): Likewise.
	* types.cc (build_ctype): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime a6f1083699.
	* src/MERGE: Merge upstream phobos 31dedd7da.
2024-02-04 01:32:42 +01:00
Iain Buclaw
51c4eb28c1 d: Merge dmd. druntime e770945277, phobos 6d6e0b9b9
D front-end changes:

    - Import latest fixes from dmd v2.107.0-beta.1.
    - Hex strings can now be cast to integer arrays.
    - Add support for Interpolated Expression Sequences.

D runtime changes:

    - Import latest fixes from druntime v2.107.0-beta.1.
    - New core.interpolation module to provide run-time support for D
      interpolated expression sequence literals.

Phobos changes:

    - Import latest fixes from phobos v2.107.0-beta.1.
    - `std.range.primitives.isBidirectionalRange', and
      `std.range.primitives.isRandomAccessRange' now take an optional
      element type.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd e770945277.
	* Make-lang.in (D_FRONTEND_OBJS): Add d/basicmangle.o, d/enumsem.o,
	d/funcsem.o, d/templatesem.o.
	* d-builtins.cc (build_frontend_type): Update for new front-end
	interface.
	* d-codegen.cc (declaration_type): Likewise.
	(parameter_type): Likewise.
	* d-incpath.cc (add_globalpaths): Likewise.
	(add_filepaths): Likewise.
	(add_import_paths): Likewise.
	* d-lang.cc (d_init_options): Likewise.
	(d_handle_option): Likewise.
	(d_parse_file): Likewise.
	* decl.cc (DeclVisitor::finish_vtable): Likewise.
	(DeclVisitor::visit (FuncDeclaration *)): Likewise.
	(get_symbol_decl): Likewise.
	* expr.cc (ExprVisitor::visit (StringExp *)): Likewise.
	Implement support for 8-byte hexadecimal strings.
	* typeinfo.cc (create_tinfo_types): Update internal TypeInfo
	representation.
	(TypeInfoVisitor::visit (TypeInfoConstDeclaration *)): Update for new
	front-end interface.
	(TypeInfoVisitor::visit (TypeInfoInvariantDeclaration *)): Likewise.
	(TypeInfoVisitor::visit (TypeInfoSharedDeclaration *)): Likewise.
	(TypeInfoVisitor::visit (TypeInfoWildDeclaration *)): Likewise.
	(TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Move data for
	TypeInfo_Class.nameSig to the end of the object.
	(create_typeinfo): Update for new front-end interface.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime e770945277.
	* libdruntime/Makefile.am (DRUNTIME_SOURCES): Add
	core/interpolation.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos 6d6e0b9b9.
2024-02-03 12:03:37 +01:00
Iain Buclaw
f204359931 d: Merge dmd, druntime bce5c1f7b5, phobos e4d0dd513.
D front-end changes:

	- Import latest changes from dmd v2.107.0-beta.1.
	- Keywords like `__FILE__' are now always evaluated at the
	  callsite.

D runtime changes:

	- Import latest changes from druntime v2.107.0-beta.1.
	- Added `nameSig' field to TypeInfo_Class in object.d.

Phobos changes:

	- Import latest changes from phobos v2.107.0-beta.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd bce5c1f7b5.
	* d-attribs.cc (build_attributes): Update for new front-end interface.
	* d-lang.cc (d_parse_file): Likewise.
	* decl.cc (DeclVisitor::visit (VarDeclaration *)): Likewise.
	* expr.cc (build_lambda_tree): New function.
	(ExprVisitor::visit (FuncExp *)): Use build_lambda_tree.
	(ExprVisitor::visit (SymOffExp *)): Likewise.
	(ExprVisitor::visit (VarExp *)): Likewise.
	* typeinfo.cc (create_tinfo_types): Add two ulong fields to internal
	TypeInfo representation.
	(TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Emit stub data
	for TypeInfo_Class.nameSig.
	(TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): Update for new
	front-end interface.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime bce5c1f7b5.
	* src/MERGE: Merge upstream phobos e4d0dd513.
2024-02-03 00:49:46 +01:00
Iain Buclaw
5470a9b176 d: Merge dmd, druntime d8e3976a58, phobos 7a6e95688
D front-end changes:

    - Import dmd v2.107.0-beta.1.
    - A string literal as an assert condition is deprecated.
    - Added `@standalone` for module constructors.

D runtime changes:

    - Import druntime v2.107.0-beta.1.

Phobos changes:

    - Import phobos v2.107.0-beta.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd d8e3976a58.
	* dmd/VERSION: Bump version to v2.107.0-beta.1.
	* d-lang.cc (d_parse_file): Update for new front-end interface.
	* modules.cc (struct module_info): Add standalonectors.
	(build_module_tree): Implement @standalone.
	(register_module_decl): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime d8e3976a58.
	* src/MERGE: Merge upstream phobos 7a6e95688.
2024-02-03 00:16:55 +01:00
Iain Buclaw
838e706fa5 d: Merge upstream dmd, druntime f1a045928e
D front-end changes:

    - Import dmd v2.106.1-rc.1.
    - Unrecognized pragmas are no longer an error by default.

D runtime changes:

    - Import druntime v2.106.1-rc.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd f1a045928e.
	* dmd/VERSION: Bump version to v2.106.1-rc.1.
	* gdc.texi (fignore-unknown-pragmas): Update documentation.
	* d-builtins.cc (covariant_with_builtin_type_p): Update for new
	front-end interface.
	* d-lang.cc (d_parse_file): Likewise.
	* typeinfo.cc (make_frontend_typeinfo): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime f1a045928e.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add
	core/stdc/stdatomic.d.
	* libdruntime/Makefile.in: Regenerate.
2024-02-03 00:16:55 +01:00
Iain Buclaw
f9b4dbb8ac d: Merge upstream dmd, druntime 2bbf64907c, phobos b64bfbf91
D front-end changes:

    - Import dmd v2.106.0.

D runtime changes:

    - Import druntime v2.106.0.

Phobos changes:

    - Import phobos v2.106.0.

gcc/d/ChangeLog:

	* Make-lang.in (D_FRONTEND_OBJS): Rename d/common-string.o to
	d/common-smallbuffer.o.
	* dmd/MERGE: Merge upstream dmd 2bbf64907c.
	* dmd/VERSION: Bump version to v2.106.0.
	* modules.cc (layout_moduleinfo_fields): Update for new front-end
	interface.
	(layout_moduleinfo): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 2bbf64907c.
	* src/MERGE: Merge upstream phobos b64bfbf91.
2023-12-11 11:06:23 +01:00
Iain Buclaw
1250858ac9 d: Merge upstream dmd ff57fec515, druntime ff57fec515, phobos 17bafda79.
D front-end changes:

    - Import dmd v2.106.0-rc.1.
    - New'ing multi-dimensional arrays are now are converted to a single
      template call `_d_newarraymTX'.

D runtime changes:

    - Import druntime v2.106.0-rc.1.

Phobos changes:

    - Import phobos v2.106.0-rc.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd ff57fec515.
	* dmd/VERSION: Bump version to v2.106.0-rc.1.
	* expr.cc (ExprVisitor::visit (CatAssignExp *)): Update for new
	front-end interface.
	(ExprVisitor::visit (NewExp *)): Likewise.
	* runtime.def (NEWARRAYMTX): Remove.
	(NEWARRAYMITX): Remove.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime ff57fec515.
	* src/MERGE: Merge upstream phobos 17bafda79.

gcc/testsuite/ChangeLog:

	* gdc.dg/asm1.d: Adjust expected diagnostic.
2023-11-21 15:07:47 +01:00
Iain Buclaw
04802ed3b9 d: Merge upstream dmd, druntime 643b1261bb, phobos 1c98326e7
D front-end changes:

    - Suggested preview switches now give gdc flags (PR109681).
    - `new S[10]' is now lowered to `_d_newarrayT!S(10)'.

D runtime changes:

    - Runtime compiler library functions `_d_newarrayU', `_d_newarrayT',
      `_d_newarrayiT' have been converted to templates.

Phobos changes:

    - Add new `std.traits.Unshared' template.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 643b1261bb.
	* d-attribs.cc (build_attributes): Update for new front-end interface.
	* d-lang.cc (d_post_options): Likewise.
	* decl.cc (layout_class_initializer): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 643b1261bb.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES_FREEBSD): Add
	core/sys/freebsd/ifaddrs.d, core/sys/freebsd/net/if_dl.d,
	core/sys/freebsd/sys/socket.d, core/sys/freebsd/sys/types.d.
	(DRUNTIME_DSOURCES_LINUX): Add core/sys/linux/linux/if_arp.d,
	core/sys/linux/linux/if_packet.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos 1c98326e7.
2023-11-02 14:54:13 +01:00
Iain Buclaw
e773c6c700 d: Merge upstream dmd, druntime e48bc0987d, phobos 2458e8f82.
D front-end changes:

    - Import dmd v2.106.0-beta.1.

D runtime changes:

    - Import druntime v2.106.0-beta.1.

Phobos changes:

    - Import phobos v2.106.0-beta.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd e48bc0987d.
	* expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end
	interface.
	* runtime.def (NEWARRAYT): Remove.
	(NEWARRAYIT): Remove.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime e48bc0987d.
	* src/MERGE: Merge upstream phobos 2458e8f82.
2023-10-29 16:41:29 +01:00
Iain Buclaw
964fd402c9 d: Merge upstream dmd, druntime 4c18eed967, phobos d945686a4.
D front-end changes:

	- Import latest fixes to mainline.

D runtime changes:

	- Import latest fixes to mainline.

Phobos changes:

	- Import latest fixes to mainline.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 4c18eed967.
	* d-diagnostic.cc (verrorReport): Update for new front-end interface.
	(verrorReportSupplemental): Likewise.
	* d-lang.cc (d_init_options): Likewise.
	(d_handle_option): Likewise.
	(d_post_options): Likewise.
	(d_parse_file): Likewise.
	* decl.cc (get_symbol_decl): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 4c18eed967.
	* src/MERGE: Merge upstream phobos d945686a4.
2023-10-16 19:14:10 +02:00
Iain Buclaw
ac908237bd d: Merge upstream dmd, druntime f9efc98fd7, phobos a3f22129d.
D front-end changes:

	- Import dmd v2.105.2.
	- A function with enum storage class is now deprecated.
	- Global variables can now be initialized with Associative
	  Arrays.
	- Improvements for the C++ header generation of static variables
	  used in a default argument context.

D runtime changes:

	- Import druntime v2.105.2.
	- The `core.memory.GC' functions `GC.enable', `GC.disable',
	  `GC.collect', and `GC.minimize' `have been marked `@safe'.

Phobos changes:

	- Import phobos v2.105.2.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd f9efc98fd7.
	* dmd/VERSION: Bump version to v2.105.2.
	* d-builtins.cc (build_frontend_type): Update for new front-end
	interface.
	* d-diagnostic.cc (verrorReport): Don't emit tips when error gagging
	is turned on.
	* d-lang.cc (d_handle_option): Remove obsolete parameter.
	(d_post_options): Likewise.
	(d_read_ddoc_files): New function.
	(d_generate_ddoc_file): New function.
	(d_parse_file): Update for new front-end interface.
	* expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Check for new
	front-end lowering of static associative arrays.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime f9efc98fd7.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add
	core/internal/newaa.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos a3f22129d.
	* testsuite/libphobos.hash/test_hash.d: Update test.
	* testsuite/libphobos.phobos/phobos.exp: Add compiler flags
	-Wno-deprecated.
	* testsuite/libphobos.phobos_shared/phobos_shared.exp: Likewise.

gcc/testsuite/ChangeLog:

	* lib/gdc-utils.exp (gdc-convert-args): Handle new compiler options.
2023-10-15 12:12:49 +02:00
Iain Buclaw
d6679fa2d6 d: Merge upstream dmd, druntime 4574d1728d, phobos d7e79f024.
D front-end changes:

	- Import dmd v2.105.0.
	- Catch clause must take only `const' or mutable exceptions.
	- Creating a `scope' class instance with a non-scope constructor
	  is now `@system' only with `-fpreview=dip1000'.
	- Global `const' variables can no longer be initialized from a
	  non-shared static constructor

D runtime changes:

	- Import druntime v2.105.0.

Phobos changes:

	- Import phobos v2.105.0.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 4574d1728d.
	* dmd/VERSION: Bump version to v2.105.0.
	* d-diagnostic.cc (verror): Remove.
	(verrorSupplemental): Remove.
	(vwarning): Remove.
	(vwarningSupplemental): Remove.
	(vdeprecation): Remove.
	(vdeprecationSupplemental): Remove.
	(vmessage): Remove.
	(vtip): Remove.
	(verrorReport): New function.
	(verrorReportSupplemental): New function.
	* d-lang.cc (d_parse_file): Update for new front-end interface.
	* decl.cc (d_mangle_decl): Update for new front-end interface.
	* intrinsics.cc (maybe_set_intrinsic): Update for new front-end
	interface.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 4574d1728d.
	* src/MERGE: Merge upstream phobos d7e79f024.
2023-09-23 13:01:16 +02:00
Iain Buclaw
d77c280454 d: Merge upstream dmd, druntime 26f049fb26, phobos 330d6a4fd.
D front-end changes:

	- Import dmd v2.105.0-beta.1.
	- Added predefined version identifier VisionOS (ignored by GDC).
	- Functions can no longer have `enum` storage class.
	- The deprecation of the `body` keyword has been reverted, it is
	  now an obsolete feature.
	- The error for `scope class` has been reverted, it is now an
	  obsolete feature.

D runtime changes:

	- Import druntime v2.105.0-beta.1.

Phobos changes:

	- Import phobos v2.105.0-beta.1.
	- AliasSeq has been removed from std.math.
	- extern(C) getdelim and getline have been removed from
	  std.stdio.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 26f049fb26.
	* dmd/VERSION: Bump version to v2.105.0-beta.1.
	* d-codegen.cc (get_frameinfo): Check useGC in condition.
	* d-lang.cc (d_handle_option): Set obsolete parameter when compiling
	with -Wall.
	(d_post_options): Set useGC to false when compiling with
	-fno-druntime.  Propagate obsolete flag to compileEnv.
	* expr.cc (ExprVisitor::visit (CatExp *)): Check useGC in condition.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 26f049fb26.
	* src/MERGE: Merge upstream phobos 330d6a4fd.
2023-08-20 11:20:00 +02:00
Iain Buclaw
e9251fea2d d: Merge upstream dmd, druntime a88e1335f7, phobos 1921d29df.
D front-end changes:

	- Import dmd v2.104.1.
	- Deprecation phase ended for access to private method when
	  overloaded with public method.

D runtime changes:

	- Import druntime v2.104.1.
	- Linux input header translations were added to druntime.
	- Integration with the Valgrind `memcheck' tool has been added
	  to the garbage collector.

Phobos changes:

	- Import phobos v2.104.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd a88e1335f7.
	* dmd/VERSION: Bump version to v2.104.1.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime a88e1335f7.
	* src/MERGE: Merge upstream phobos 1921d29df.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac (libphobos-checking): Add valgrind flag.
	(DRUNTIME_LIBRARIES_VALGRIND): Call.
	* libdruntime/Makefile.am (DRUNTIME_CSOURCES): Add
	etc/valgrind/valgrind_.c.
	(DRUNTIME_DSOURCES): Add etc/valgrind/valgrind.d.
	(DRUNTIME_DSOURCES_LINUX): Add core/sys/linux/input.d,
	core/sys/linux/input_event_codes.d, core/sys/linux/uinput.d.
	* libdruntime/Makefile.in: Regenerate.
	* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_VALGRIND): Define.
2023-07-10 23:31:29 +02:00
Iain Buclaw
0cafc3b627 d: Merge upstream dmd, druntime 17ccd12af3, phobos 8d3800bee.
D front-end changes:

	- Import dmd v2.104.0.
	- Assignment-style syntax is now allowed for `alias this'.
	- Overloading `extern(C)' functions is now an error.

D runtime changes:

	- Import druntime v2.104.0.

Phobos changes:

	- Import phobos v2.104.0.
	- Better static assert messages when instantiating
	`std.algorithm.iteration.permutations' with wrong inputs.
	- Added `std.system.instructionSetArchitecture' and
	  `std.system.ISA'.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 17ccd12af3.
	* dmd/VERSION: Bump version to v2.104.0.
	* Make-lang.in (D_FRONTEND_OBJS): Rename d/apply.o to
	d/postordervisitor.o.
	* d-codegen.cc (make_location_t): Update for new front-end interface.
	(build_filename_from_loc): Likewise.
	(build_assert_call): Likewise.
	(build_array_bounds_call): Likewise.
	(build_bounds_index_condition): Likewise.
	(build_bounds_slice_condition): Likewise.
	(build_frame_type): Likewise.
	(get_frameinfo): Likewise.
	* d-diagnostic.cc (d_diagnostic_report_diagnostic): Likewise.
	* decl.cc (build_decl_tree): Likewise.
	(start_function): Likewise.
	* expr.cc (ExprVisitor::visit (NewExp *)): Replace code generation of
	`new pointer' with front-end lowering.
	* runtime.def (NEWITEMT): Remove.
	(NEWITEMIT): Remove.
	* toir.cc (IRVisitor::visit (LabelStatement *)): Update for new
	front-end interface.
	* typeinfo.cc (check_typeinfo_type): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 17ccd12af3.
	* src/MERGE: Merge upstream phobos 8d3800bee.

gcc/testsuite/ChangeLog:

	* gdc.dg/asm4.d: Update test.
2023-07-10 03:13:00 +02:00
Iain Buclaw
3b007164b3 d: Merge upstream dmd, druntime 28a3b24c2e, phobos 8ab95ded5.
D front-end changes:

	- Import dmd v2.104.0-beta.1.
	- Better error message when attribute inference fails down the
	  call stack.
	- Using `;' as an empty statement has been turned into an error.
	- Using `in' parameters with non- `extern(D)' or `extern(C++)'
	  functions is deprecated.
	- `in ref' on parameters has been deprecated in favor of
	  `-preview=in'.
	- Throwing `immutable', `const', `inout', and `shared' qualified
	  objects is now deprecated.
	- User Defined Attributes now parse Template Arguments.

D runtime changes:

	- Import druntime v2.104.0-beta.1.

Phobos changes:

	- Import phobos v2.104.0-beta.1.
	- Better static assert messages when instantiating
	  `std.algorithm.comparison.clamp' with wrong inputs.
	- `std.typecons.Rebindable' now supports all types.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 28a3b24c2e.
	* dmd/VERSION: Bump version to v2.104.0-beta.1.
	* d-codegen.cc (build_bounds_slice_condition): Update for new
	front-end interface.
	* d-lang.cc (d_init_options): Likewise.
	(d_handle_option): Likewise.
	(d_post_options): Initialize global.compileEnv.
	* expr.cc (ExprVisitor::visit (CatExp *)): Replace code generation
	with new front-end lowering.
	(ExprVisitor::visit (LoweredAssignExp *)): New method.
	(ExprVisitor::visit (StructLiteralExp *)): Don't generate static
	initializer symbols for structs defined in C sources.
	* runtime.def (ARRAYCATT): Remove.
	(ARRAYCATNTX): Remove.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 28a3b24c2e.
	* src/MERGE: Merge upstream phobos 8ab95ded5.

gcc/testsuite/ChangeLog:

	* gdc.dg/rtti1.d: Move array concat testcase to ...
	* gdc.dg/nogc1.d: ... here.  New test.
2023-07-09 22:08:36 +02:00
Iain Buclaw
55620c7bd3 d: Merge upstream dmd, druntime a45f4e9f43, phobos 106038f2e.
D front-end changes:

	- Import dmd v2.103.1.
	- Deprecated invalid special token sequences inside token strings.

D runtime changes:

	- Import druntime v2.103.1.

Phobos changes:

	- Import phobos v2.103.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd a45f4e9f43.
	* dmd/VERSION: Bump version to v2.103.1.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime a45f4e9f43.
	* src/MERGE: Merge upstream phobos 106038f2e.
2023-06-26 00:14:01 +02:00
Iain Buclaw
328477f6ee d: Merge upstream dmd, druntime 5f7552bb28, phobos 67a47cf39.
D front-end changes:

	- Import dmd v2.103.0-rc.1.

D runtime changes:

	- Import druntime v2.103.0-rc.1.

Phobos changes:

	- Import phobos v2.103.0-rc.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 5f7552bb28.
	* dmd/VERSION: Bump version to v2.103.0-rc.1.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 5f7552bb28.
	* src/MERGE: Merge upstream phobos 67a47cf39.
2023-03-17 05:50:17 +01:00
Iain Buclaw
8da8c7d337 d: Merge upstream dmd, druntime 4ca4140e58, phobos 454dff14d.
D front-end changes:

	- Import dmd v2.103.0-beta.1.
	- Using `alias this' for classes has been deprecated.
	- The feature `-fpreview=dip25` is now enabled by default.
	- The compile-time traits `isVirtualFunction' and
	  `getVirtualFunctions' have been deprecated.

D runtime changes:

	- Import druntime v2.103.0-beta.1.

Phobos changes:

	- Import phobos v2.103.0-beta.1.
	- Updated unicode grapheme walking updated to conform to Unicode
	  version 15.
	- Improved friendliness of error messages when instantiating
	  `std.algorithm.iteration.joiner' and
	  `std.algorithm.sorting.sort' with wrong inputs.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 4ca4140e58.
	* dmd/VERSION: Bump version to v2.103.0-beta.1.
	* Make-lang.in (D_FRONTEND_OBJS): Add d/errorsink.o.
	* d-ctfloat.cc (CTFloat::sprint): Update signature for new front-end
	interface.
	* d-frontend.cc (getTypeInfoType): Likewise.
	* d-lang.cc (d_handle_option): Remove handling of -fpreview=dip25 and
	-frevert=dip25.
	(d_post_options): Remove enabling of sealed references language
	feature when scoped pointers is enabled.
	* d-tree.h (create_typeinfo): Update signature.
	* decl.cc (DeclVisitor::finish_vtable): Update for new front-end
	interface.
	(DeclVisitor::visit (VarDeclaration *)): Likewise.
	(DeclVisitor::visit (FuncDeclaration *)): Check skipCodegen to see if
	front-end explicitly requested not to generate code.
	* expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end
	interface.
	* lang.opt (fpreview=dip25): Remove.
	(frevert=dip25): Remove.
	* modules.cc (layout_moduleinfo_fields): Update for new front-end
	interface.
	(layout_moduleinfo): Likewise.
	* runtime.def (NEWCLASS): Remove.
	* toir.cc (IRVisitor::visit (IfStatement *)): Don't generate IR for if
	statement list when condition is `__ctfe'.
	* typeinfo.cc (create_typeinfo): Add generate parameter.
	* types.cc (layout_aggregate_members): Update for new front-end
	interface.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 4ca4140e58.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add core/factory.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos 454dff14d.
	* testsuite/libphobos.hash/test_hash.d: Update test.
	* testsuite/libphobos.shared/finalize.d: Update test.
	* libdruntime/core/factory.d: New file.

gcc/testsuite/ChangeLog:

	* gdc.dg/torture/simd23084.d: New test.
	* gdc.dg/torture/simd23085.d: New test.
	* gdc.dg/torture/simd23218.d: New test.
2023-03-16 17:29:57 +01:00
Iain Buclaw
f99303eb4a d: Merge upstream dmd, druntime 09faa4eacd, phobos 13ef27a56.
D front-end changes:

	- Import dmd v2.102.0-beta.1
	- `static assert' now supports multiple message arguments.

D runtime changes:

	- Import druntime v2.102.0-beta.1
	- The default `Throwable.TraceInfo' generation now is `@nogc'.
	- `Object.factory' method has now been deprecated.

Phobos changes:

	- Import phobos v2.102.0-beta.1
	- Added float- and double-precision implementations for log
	  function families in std.math.
	- `std.typecons.Unique' now calls `destroy` on struct types

gcc/d/ChangeLog:

	* Make-lang.in (D_FRONTEND_OBJS): Add d/location.o.
	* d-lang.cc (d_init_options): Update for new front-end interface.
	(d_post_options): Call Loc::set after handling options.
	* dmd/MERGE: Merge upstream dmd 09faa4eacd.
	* dmd/VERSION: Bump version to v2.102.0-beta.1.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 09faa4eacd.
	* src/MERGE: Merge upstream phobos 13ef27a56.
	* testsuite/libphobos.exceptions/refcounted.d: Add test for chained
	reference counted exceptions.
	* testsuite/libphobos.shared/finalize.d: Add dg-warning for deprecated
	factory interfaces.
	* testsuite/libphobos.gc/issue22843.d: New test.

gcc/testsuite/ChangeLog:

	* gdc.dg/simd2a.d: Update.
	* gdc.dg/simd2b.d: Update.
	* gdc.dg/simd2c.d: Update.
	* gdc.dg/simd2d.d: Update.
	* gdc.dg/simd2e.d: Update.
	* gdc.dg/simd2f.d: Update.
	* gdc.dg/simd2g.d: Update.
	* gdc.dg/simd2h.d: Update.
	* gdc.dg/simd2i.d: Update.
	* gdc.dg/simd2j.d: Update.
2023-02-21 15:33:38 +01:00
Iain Buclaw
6d799f0aed d: Merge upstream dmd, druntime c8ae4adb2e, phobos 792c8b7c1.
D front-end changes:

	- Import dmd v2.101.0.
	- Deprecate the ability to call `__traits(getAttributes)' on
	  overload sets.
	- Deprecate non-empty `for' statement increment clause with no
	  effect.
	- Array literals assigned to `scope' array variables can now be
	  allocated on the stack.

D runtime changes:

	- Import druntime v2.101.0.

Phobos changes:

	- Import phobos v2.101.0.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd c8ae4adb2e.
	* typeinfo.cc (check_typeinfo_type): Update for new front-end
	interface.
	(TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): Remove warning
	that toHash() must be declared 'nothrow @safe`.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime c8ae4adb2e.
	* src/MERGE: Merge upstream phobos 792c8b7c1.
2022-12-11 17:17:58 +01:00
Iain Buclaw
7e7ebe3e35 d: Merge upstream dmd, druntime e4f8919591, phobos 3ad507b51.
D front-end changes:

    - Import dmd v2.101.0-beta.1.
    - Add predefined version `D_Optimized' when compiling with `-O'.
    - Shortened method syntax (DIP1043) is now enabled by default.
    - Array literals assigned to `scope' array variables are now
      allocated on the stack.
    - Implement `@system' variables (DIP1035), available behind the
      preview feature flag `-fpreview=systemvariables'.

D runtime changes:

    - Import druntime v2.101.0-beta.1.

Phobos changes:

    - Import phobos v2.101.0-beta.1.
    - Added `std.typecons.SafeRefCounted', that can be used in `@safe'
      code with `-fpreview=dip1000'.

gcc/d/ChangeLog:

	* d-attribs.cc (apply_user_attributes): Update for new front-end
	interface.
	* d-builtins.cc (d_init_versions): Predefine `D_Optimized' with
	compiling with optimizations enabled.
	* d-lang.cc (d_handle_option): Update for new front-end interface.
	Handle new option `-fpreview=systemvariables'.
	* dmd/MERGE: Merge upstream dmd e4f8919591.
	* dmd/VERSION: Bump version to v2.101.0-beta.1.
	* expr.cc (ExprVisitor::visit (AssignExp *)): Treat construction of
	static arrays from a call expression as a simple assignment.
	(ExprVisitor::visit (ArrayLiteralExp *)): Handle array literals with
	`scope' storage.
	* gdc.texi: Update documentation of `-fpreview=' options.
	* lang.opt (fpreview=shortenedmethods): Remove.
	(fpreview=systemvariables):  New option.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime e4f8919591.
	* src/MERGE: Merge upstream phobos 3ad507b51.

gcc/testsuite/ChangeLog:

	* gdc.dg/simd19630.d: Move tests with errors to ...
	* gdc.dg/simd19630b.d: ... here.  New test.
	* gdc.dg/simd19630c.d: New test.
	* gdc.dg/simd_ctfe.d: Removed.
	* gdc.dg/simd18867.d: New test.
	* gdc.dg/simd19788.d: New test.
	* gdc.dg/simd21469.d: New test.
	* gdc.dg/simd21672.d: New test.
	* gdc.dg/simd23077.d: New test.
	* gdc.dg/simd23084.d: New test.
	* gdc.dg/simd23085.d: New test.
	* gdc.dg/torture/simd19632.d: New test.
	* gdc.dg/torture/simd20041.d: New test.
	* gdc.dg/torture/simd21673.d: New test.
	* gdc.dg/torture/simd21676.d: New test.
	* gdc.dg/torture/simd22438.d: New test.
	* gdc.dg/torture/simd23009.d: New test.
	* gdc.dg/torture/simd23077.d: New test.
	* gdc.dg/torture/simd8.d: New test.
	* gdc.dg/torture/simd9.d: New test.
	* gdc.dg/torture/simd_prefetch.d: New test.
2022-10-29 13:02:26 +02:00