blob: 2790ee08427bb8d579690e7e589383949afc2db3 [file] [log] [blame]
2026-01-31 Iain Buclaw <ibuclaw@gdcproject.org>
* dmd/MERGE: Merge upstream dmd e1f6680f50.
* Make-lang.in (D_FRONTEND_OBJS): Remove d/gluelayer.o, d/iasm.o,
d/iasmgcc.o. Add d/iasm-package.o, d/iasm-gcc.o.
(d/iasm-%.o): New recipe.
* d-convert.cc (convert_expr): Remove library call to dynamic_cast.
* d-lang.cc (d_init_options): Set errorSupplementLimit parameter.
* decl.cc (DeclVisitor::visit): Update for new front-end interface.
* expr.cc (ExprVisitor::visit (EqualExp *)): Update for front-end
lowering expression using templates.
(ExprVisitor::visit (InExp *)): Likewise.
(ExprVisitor::visit (IndexExp *)): Likewise.
(ExprVisitor::visit (CastExp *)): Likewise.
(ExprVisitor::visit (RemoveExp *)): Likewise.
(ExprVisitor::visit (AddrExp *)): Likewise.
(ExprVisitor::visit (NewExp *)): Likewise.
(ExprVisitor::visit (ArrayLiteralExp *)): Likewise.
(ExprVisitor::visit (AssocArrayLiteralExp *)): Likewise.
* imports.cc (ImportVisitor::visit (AliasDeclaration *)): Update for
new front-end interface.
* runtime.def (DYNAMIC_CAST): Remove.
(INTERFACE_CAST): Remove.
(ARRAYLITERALTX): Remove.
(ADEQ2): Remove.
(ASSOCARRAYLITERALTX): Remove.
(AANEW): Remove.
(AAEQUAL): Remove.
(AAINX): Remove.
(AAGETY): Remove.
(AAGETRVALUEX): Remove.
(AADELX): Remove.
* typeinfo.cc (TypeInfoVisitor::visit): Layout xopEquals and xtoHash
in TypeInfo_AssociativeArray.
(create_typeinfo): Add new fields to internal typeinfo.
(check_typeinfo_type): Print instantiation trace of error.
* types.cc (TypeVisitor::visit (TypeStruct *)): Update for new
front-end interface.
2026-01-30 Iain Buclaw <ibuclaw@gdcproject.org>
* dmd/MERGE: Merge upstream dmd 1017635a96.
* dmd/VERSION: Bump version to v2.112.0-beta.1.
* decl.cc (DeclVisitor::finish_vtable): Update for new front-end
interface.
(DeclVisitor::visit): Likewise.
* typeinfo.cc (TypeInfoVisitor::visit): Likewise.
2026-01-30 Iain Buclaw <ibuclaw@gdcproject.org>
* decl.cc (DeclVisitor::visit (EnumDeclaration *)): Treat sinit member
field as a generic pointer.
(enum_initializer_decl): Likewise.
* expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Compute static
array length separately from creating type.
* modules.cc (struct module_info): Add ctor_decl, dtor_decl,
sharedctor_decl, shareddtor_decl, standalonector_decl, and
unittest_decl.
(layout_moduleinfo_fields): Add mi argument. Use it to check whether
module helpers have been generated.
(layout_moduleinfo): Likewise.
(build_module_tree): Cache generated module helpers in module_info.
* typeinfo.cc (cpp_type_info_ptrs): New variable.
(get_cpp_typeinfo_decl): Cache generated C++ type_info references in
cpp_type_info_ptrs.
* types.cc (TypeVisitor::visit (TypeEnum *)): Separate getting
front-end member value from building its CST tree.
2026-01-30 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/123263
* d-codegen.cc (d_decl_context): Set DECL_CONTEXT of compiler
generated functions to that of parent module.
2026-01-30 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/123264
* types.cc (finish_aggregate_type): Propagate struct TYPE_NAME to all
TYPE_NEXT_VARIANT types.
2026-01-29 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/123407
* decl.cc (get_symbol_decl): Handle declarations with matching
assembler names, but different TREE_CODE.
2026-01-29 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/123046
* d-codegen.cc (build_address): Return `null' when generating the
address of a `noreturn' declaration.
(d_build_call): Compare TYPE_MAIN_VARIANT of type with `noreturn'.
* decl.cc (get_fndecl_arguments): Likewise.
* types.cc (finish_aggregate_mode): Likewise.
(TypeVisitor::visit (TypeFunction *)): Likewise.
2026-01-29 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/123349
* d-spec.cc (lang_specific_driver): Use xstrdup to copy -defaultlib
and -debuglib argument, and unconditionally free the old value.
2026-01-28 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/123419
* expr.cc (ExprVisitor::visit (VarExp *)): Adjust assertion.
2026-01-28 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/123798
* types.cc (insert_aggregate_bitfield): Set DECL_NONADDRESSABLE_P and
DECL_PADDING_P on bit-field decls.
(finish_aggregate_type): Pass the aligned bit offset to layout_decl.
2026-01-28 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/121477
* d-codegen.cc (d_mark_addressable): Give an error if taking the
address of a DECL_BIT_FIELD.
2026-01-28 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/123422
* expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Don't add
TARGET_EXPR around constructor.
* toir.cc (IRVisitor::visit (ReturnStatement *)): Recognize more
patterns for return value optimization.
2026-01-27 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/120096
* expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Include saved side
effects in expression result.
2026-01-27 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/122817
* d-lang.cc (d_parse_file): Set module filename location after
creation.
2026-01-01 Jakub Jelinek <jakub@redhat.com>
* gdc.texi: Bump @copyrights-d year.
Copyright (C) 2026 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.