aboutsummaryrefslogtreecommitdiff
path: root/gcc/d
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2023-01-01 16:20:13 +0100
committerJakub Jelinek <jakub@redhat.com>2023-01-01 16:20:13 +0100
commitd64f877906111645af0217d4d54993a7b2ecbd2e (patch)
tree166f7a493ae415bb43256ff7ee1492cda0cfc5f9 /gcc/d
parentd423e8dc59045d8f281dcb1a02559cb6f91456bf (diff)
downloadgcc-d64f877906111645af0217d4d54993a7b2ecbd2e.zip
gcc-d64f877906111645af0217d4d54993a7b2ecbd2e.tar.gz
gcc-d64f877906111645af0217d4d54993a7b2ecbd2e.tar.bz2
Rotate ChangeLog files.
Rotate ChangeLog files for ChangeLogs with yearly cadence.
Diffstat (limited to 'gcc/d')
-rw-r--r--gcc/d/ChangeLog829
-rw-r--r--gcc/d/ChangeLog-2022833
2 files changed, 834 insertions, 828 deletions
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog
index 7630f24..97887c9 100644
--- a/gcc/d/ChangeLog
+++ b/gcc/d/ChangeLog
@@ -1,832 +1,5 @@
-2022-12-12 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/108055
- * decl.cc (function_defined_in_root_p): Check all enclosing template
- instances for definition in a root module.
- (function_needs_inline_definition_p): Replace call to
- function_defined_in_root_p with test for outer module `isRoot'.
-
-2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/108050
- * decl.cc (DeclVisitor::visit (Import *)): Handle build_import_decl
- returning a TREE_LIST.
- * imports.cc (ImportVisitor::visit (OverloadSet *)): New override.
-
-2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * 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`.
-
-2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * intrinsics.cc (expand_intrinsic_bsf): Fix comment.
- (expand_intrinsic_bsr): Use BIT_XOR_EXPR instead of MINUS_EXPR.
-
-2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * Make-lang.in (D_TEXI_FILES): Add d/implement-d.texi.
- * gdc.texi: Adjust introduction, include implement-d.texi.
- * implement-d.texi: New file.
-
-2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * Make-lang.in: Only include doc/include when building documentation.
- (d.html): Rename html directory to $(build_htmldir)/gdc.
-
-2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * gdc.texi: Separate indices into options and keywords.
-
-2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * gdc.texi: Update gdc option documentation.
- * lang.opt (frevert=intpromote): Correct documentation.
-
-2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/107592
- * toir.cc (IRVisitor::push_unrolled_continue_label): New method.
- (IRVisitor::pop_unrolled_continue_label): New method.
- (IRVisitor::visit (UnrolledLoopStatement *)): Use them instead of
- push_continue_label and pop_continue_label.
-
-2022-11-23 Martin Liska <mliska@suse.cz>
-
- * Make-lang.in: Use it as $DO_LINK_MUTEX.
-
-2022-11-23 Marek Polacek <polacek@redhat.com>
-
- Revert:
- 2022-11-23 Marek Polacek <polacek@redhat.com>
-
- * Make-lang.in: Remove NO_PIE_CFLAGS.
-
-2022-11-23 Marek Polacek <polacek@redhat.com>
-
- * Make-lang.in: Remove NO_PIE_CFLAGS.
-
-2022-11-14 Martin Liska <mliska@suse.cz>
-
- Revert:
- 2022-11-14 Martin Liska <mliska@suse.cz>
-
- * doc/conf.py: New file.
- * doc/copyright.rst: New file.
- * doc/general-public-license-3.rst: New file.
- * doc/gnu-free-documentation-license.rst: New file.
- * doc/index.rst: New file.
- * doc/indices-and-tables.rst: New file.
- * doc/invoking-gdc.rst: New file.
- * doc/invoking-gdc/code-generation.rst: New file.
- * doc/invoking-gdc/developer-options.rst: New file.
- * doc/invoking-gdc/input-and-output-files.rst: New file.
- * doc/invoking-gdc/options-for-directory-search.rst: New file.
- * doc/invoking-gdc/options-for-linking.rst: New file.
- * doc/invoking-gdc/runtime-options.rst: New file.
- * doc/invoking-gdc/warnings.rst: New file.
-
-2022-11-14 Martin Liska <mliska@suse.cz>
-
- Revert:
- 2022-11-14 Martin Liska <mliska@suse.cz>
-
- * d-target.def: Port to RST.
-
-2022-11-14 Martin Liska <mliska@suse.cz>
-
- Revert:
- 2022-11-14 Martin Liska <mliska@suse.cz>
-
- * Make-lang.in: Support Sphinx based documentation.
-
-2022-11-14 Martin Liska <mliska@suse.cz>
-
- Revert:
- 2022-11-09 Martin Liska <mliska@suse.cz>
-
- * gdc.texi: Removed.
-
-2022-11-14 Martin Liska <mliska@suse.cz>
-
- Revert:
- 2022-11-14 Martin Liska <mliska@suse.cz>
-
- * Make-lang.in: Support --with-sphinx-build.
-
-2022-11-14 Martin Liska <mliska@suse.cz>
-
- Revert:
- 2022-11-14 Martin Liska <mliska@suse.cz>
-
- * Make-lang.in:
- Support installation if sphinx-build is missing.
-
-2022-11-14 Martin Liska <mliska@suse.cz>
-
- Revert:
- 2022-11-14 Martin Liska <mliska@suse.cz>
-
- * doc/copyright.rst:
- Add trailing newline.
- * doc/general-public-license-3.rst:
- Add trailing newline.
- * doc/gnu-free-documentation-license.rst:
- Add trailing newline.
- * doc/index.rst:
- Add trailing newline.
- * doc/indices-and-tables.rst:
- Add trailing newline.
- * doc/invoking-gdc.rst:
- Add trailing newline.
- * doc/invoking-gdc/code-generation.rst:
- Add trailing newline.
- * doc/invoking-gdc/developer-options.rst:
- Add trailing newline.
- * doc/invoking-gdc/input-and-output-files.rst:
- Add trailing newline.
- * doc/invoking-gdc/options-for-directory-search.rst:
- Add trailing newline.
- * doc/invoking-gdc/options-for-linking.rst:
- Add trailing newline.
- * doc/invoking-gdc/runtime-options.rst:
- Add trailing newline.
- * doc/invoking-gdc/warnings.rst:
- Add trailing newline.
-
-2022-11-14 Martin Liska <mliska@suse.cz>
-
- Revert:
- 2022-11-10 Martin Liska <mliska@suse.cz>
-
- * doc/conf.py: Add newline at last line.
-
-2022-11-10 Martin Liska <mliska@suse.cz>
-
- * doc/conf.py: Add newline at last line.
-
-2022-11-09 Martin Liska <mliska@suse.cz>
-
- * doc/copyright.rst:
- Add trailing newline.
- * doc/general-public-license-3.rst:
- Add trailing newline.
- * doc/gnu-free-documentation-license.rst:
- Add trailing newline.
- * doc/index.rst:
- Add trailing newline.
- * doc/indices-and-tables.rst:
- Add trailing newline.
- * doc/invoking-gdc.rst:
- Add trailing newline.
- * doc/invoking-gdc/code-generation.rst:
- Add trailing newline.
- * doc/invoking-gdc/developer-options.rst:
- Add trailing newline.
- * doc/invoking-gdc/input-and-output-files.rst:
- Add trailing newline.
- * doc/invoking-gdc/options-for-directory-search.rst:
- Add trailing newline.
- * doc/invoking-gdc/options-for-linking.rst:
- Add trailing newline.
- * doc/invoking-gdc/runtime-options.rst:
- Add trailing newline.
- * doc/invoking-gdc/warnings.rst:
- Add trailing newline.
-
-2022-11-09 Martin Liska <mliska@suse.cz>
-
- * Make-lang.in:
- Support installation if sphinx-build is missing.
-
-2022-11-09 Martin Liska <mliska@suse.cz>
-
- * Make-lang.in: Support --with-sphinx-build.
-
-2022-11-09 Martin Liska <mliska@suse.cz>
-
- * gdc.texi: Removed.
-
-2022-11-09 Martin Liska <mliska@suse.cz>
-
- * Make-lang.in: Support Sphinx based documentation.
-
-2022-11-09 Martin Liska <mliska@suse.cz>
-
- * d-target.def: Port to RST.
-
-2022-11-09 Martin Liska <mliska@suse.cz>
-
- * doc/conf.py: New file.
- * doc/copyright.rst: New file.
- * doc/general-public-license-3.rst: New file.
- * doc/gnu-free-documentation-license.rst: New file.
- * doc/index.rst: New file.
- * doc/indices-and-tables.rst: New file.
- * doc/invoking-gdc.rst: New file.
- * doc/invoking-gdc/code-generation.rst: New file.
- * doc/invoking-gdc/developer-options.rst: New file.
- * doc/invoking-gdc/input-and-output-files.rst: New file.
- * doc/invoking-gdc/options-for-directory-search.rst: New file.
- * doc/invoking-gdc/options-for-linking.rst: New file.
- * doc/invoking-gdc/runtime-options.rst: New file.
- * doc/invoking-gdc/warnings.rst: New file.
-
-2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-target.cc (Target::isVectorOpSupported): Remove cases for
- comparison operators.
- * intrinsics.cc (maybe_set_intrinsic): Remove cases for vector
- comparison intrinsics.
- (maybe_warn_intrinsic_mismatch): Likewise.
- (expand_intrinsic_vec_cond): Remove.
- (maybe_expand_intrinsic): Remove cases for vector comparison
- intrinsics.
- * intrinsics.def (INTRINSIC_EQUALMASK): Remove.
- (INTRINSIC_NOTEQUALMASK): Remove.
- (INTRINSIC_GREATERMASK): Remove.
- (INTRINSIC_GREATEREQUALMASK): Remove.
-
-2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * 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.
-
-2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-target.def (d_minfo_section): Expand documentation of hook.
- Default initialize to "minfo".
- (d_minfo_start_name): Rename to ...
- (d_minfo_section_start): ... this. Default initialize to
- "__start_minfo".
- (d_minfo_end_name): Rename to ...
- (d_minfo_section_end): ... this. Default initialize to "__stop_minfo".
- * modules.cc (register_moduleinfo): Use new targetdm hook names.
-
-2022-09-27 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd d579c467c1.
- * decl.cc (layout_struct_initializer): Update for new front-end
- interface.
- * expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array
- assignments.
- (ExprVisitor::visit (NewExp *)): Add new lowering of new'ing
- associative arrays to an _aaNew() library call.
- * runtime.def (ARRAYSETASSIGN): Remove.
- (AANEW): Define.
-
-2022-09-15 Richard Biener <rguenther@suse.de>
-
- * d-builtins.cc (d_build_c_type_nodes): Do not initialize
- void_list_node.
-
-2022-08-27 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 817610b16d.
- * d-ctfloat.cc (CTFloat::parse): Update for new front-end interface.
- * d-lang.cc (d_parse_file): Likewise.
- * expr.cc (ExprVisitor::visit (AssignExp *)): Remove handling of array
- assignments to non-trivial static and dynamic arrays.
- * runtime.def (ARRAYASSIGN): Remove.
- (ARRAYASSIGN_L): Remove.
- (ARRAYASSIGN_R): Remove.
-
-2022-08-16 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/106638
- * gdc.texi: Update DIP links to point at upstream dlang/DIPs
- repository.
-
-2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-tree.h (d_defer_declaration): Declare.
- * decl.cc (function_needs_inline_definition_p): Defer checking
- DECL_UNINLINABLE and DECL_DECLARED_INLINE_P.
- (maybe_build_decl_tree): Call d_defer_declaration instead of
- build_decl_tree.
- * modules.cc (deferred_inline_declarations): New variable.
- (build_module_tree): Set deferred_inline_declarations and a handle
- declarations pushed to it.
- (d_defer_declaration): New function.
-
-2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/106623
- * d-codegen.cc (underlying_complex_expr): New function.
- (d_build_call): Handle passing native complex objects as the
- library-defined equivalent.
- * d-tree.h (underlying_complex_expr): Declare.
- * expr.cc (ExprVisitor::visit (DotVarExp *)): Call
- underlying_complex_expr instead of build_vconvert.
-
-2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-compiler.cc (Compiler::onParseModule): Call create_tinfo_types
- when module name is object.
- * typeinfo.cc (create_tinfo_types): Add guard for multiple
- invocations.
-
-2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-codegen.cc (build_delegate_cst): Give anonymous delegate field
- names same as per ABI spec.
-
-2022-08-09 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/106563
- * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set semanticRun
- before generating its symbol.
- (function_defined_in_root_p): New function.
- (function_needs_inline_definition_p): New function.
- (maybe_build_decl_tree): New function.
- (get_symbol_decl): Call maybe_build_decl_tree before returning symbol.
- (start_function): Use function_defined_in_root_p instead of inline
- test for locally defined symbols.
- (set_linkage_for_decl): Check for inline functions before private or
- protected symbols.
-
-2022-08-08 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/106555
- * d-target.cc (Target::isReturnOnStack): Check for return type size.
-
-2022-08-03 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd d7772a2369.
- * dmd/VERSION: Bump version to v2.100.1.
- * d-codegen.cc (get_frameinfo): Check whether decision to generate
- closure changed since semantic finished.
- * d-lang.cc (d_handle_option): Remove handling of -fdebug=level and
- -fversion=level.
- * decl.cc (DeclVisitor::visit (VarDeclaration *)): Generate evaluation
- of noreturn variable initializers before throw.
- * expr.cc (ExprVisitor::visit (AssignExp *)): Don't generate
- assignment for noreturn types, only evaluate for side effects.
- * lang.opt (fdebug=): Undocument -fdebug=level.
- (fversion=): Undocument -fversion=level.
-
-2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 56589f0f4.
-
-2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * Make-lang.in (NOEXCEPTION_DFLAGS): Define.
- (ALL_DFLAGS): Add NO_EXCEPTION_DFLAGS.
-
-2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/106139
- * d-convert.cc (convert_expr): Handle casting from array to vector.
- (convert_for_rvalue): Rewrite vector to array casts of the same
- element type into a constructor.
- (convert_for_assignment): Return calling convert_for_rvalue.
- * expr.cc (ExprVisitor::visit (VectorExp *)): Handle generating a
- vector expression from a static array.
- * toir.cc (IRVisitor::visit (ReturnStatement *)): Call
- convert_for_rvalue on return value.
-
-2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * intrinsics.cc (build_shuffle_mask_type): Use to_constant when
- getting the number of subparts from a vector type.
- (expand_intrinsic_vec_shufflevector): Likewise.
-
-2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * intrinsics.cc: Include diagnostic.h, langhooks.h,
- vec-perm-indices.h.
- (maybe_set_intrinsic): Add cases for new simd intrinsics.
- (warn_mismatched_return_type): New function.
- (warn_mismatched_argument): New function.
- (build_shuffle_mask_type): New function.
- (maybe_warn_intrinsic_mismatch): New function.
- (expand_intrinsic_vec_cond): New function.
- (expand_intrinsic_vec_convert): New function.
- (expand_intrinsic_vec_blend): New function.
- (expand_intrinsic_vec_shuffle): New function.
- (expand_intrinsic_vec_shufflevector): New function.
- (expand_intrinsic_vec_load_unaligned): New function.
- (expand_intrinsic_vec_store_unaligned): New function.
- (maybe_expand_intrinsic): Check signature of intrinsic before handing
- off to front-end lowering. Add cases for new simd intrinsics.
- * intrinsics.def (INTRINSIC_LOADUNALIGNED): Define intrinsic.
- (INTRINSIC_STOREUNALIGNED): Define intrinsic.
- (INTRINSIC_SHUFFLE): Define intrinsic.
- (INTRINSIC_SHUFFLEVECTOR): Define intrinsic.
- (INTRINSIC_CONVERTVECTOR): Define intrinsic.
- (INTRINSIC_BLENDVECTOR): Define intrinsic.
- (INTRINSIC_EQUALMASK): Define intrinsic.
- (INTRINSIC_NOTEQUALMASK): Define intrinsic.
- (INTRINSIC_GREATERMASK): Define intrinsic.
- (INTRINSIC_GREATEREQUALMASK): Define intrinsic.
-
-2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-codegen.cc: Include gimple-expr.h.
- (force_target_expr): Use create_tmp_var_raw.
- * decl.cc: Inlucde gimple-expr.h.
- (build_local_temp): Use create_tmp_var_raw.
- * intrinsics.cc (expand_intrinsic_rotate): Use get_callee_fndecl.
- (maybe_expand_intrinsic): Likewise.
-
-2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-attribs.cc (handle_omp_declare_simd_attribute): New function.
- (d_handle_simd_attribute): New function.
- (d_langhook_common_attribute_table): Add 'omp declare simd' attribute.
- (d_langhook_attribute_table): Add simd attribute.
-
-2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-attribs.cc (d_handle_section_attribute): Update error message.
- (d_handle_symver_attribute): Likewise.
- (d_handle_no_sanitize_attribute): Likewise.
- (d_handle_visibility_attribute): Likewise.
-
-2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/105413
- * d-attribs.cc (d_handle_register_attribute): New function.
- (d_langhook_attribute_table): Add register attribute.
- * d-codegen.cc (d_mark_addressable): Error if taken address of
- register variable.
- (build_frame_type): Error if register variable has non-local
- references.
- * d-tree.h (d_mark_addressable): Add complain parameter.
- * decl.cc (get_symbol_decl): Mark register varibles DECL_REGISTER.
- Error when register variable declared thread-local or extern.
- * expr.cc (ExprVisitor::visit (IndexExp *)): Don't complain about
- marking register vectors as addressable in an ARRAY_REF.
-
-2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-codegen.cc (build_array_index): Rename to...
- (build_pointer_index): ...this.
- * d-tree.h (build_array_index): Rename declaration to...
- (build_pointer_index): ...this.
- * expr.cc (ExprVisitor::visit (IndexExp *)): Construct indexes of
- ARRAY_TYPE using ARRAY_REF.
- (ExprVisitor::visit (SliceExp *)): Update.
- * intrinsics.cc (expand_intrinsic_bt): Update.
-
-2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 529110f66.
- * decl.cc (DeclVisitor::visit (TupleDeclaration *)): Update for new
- front-end interface.
- * types.cc (layout_aggregate_members): Likewise.
-
-2022-06-22 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 6203135dc.
- * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)):
- Update for new front-end interface.
- (SpeculativeTypeVisitor::visit (TypeStruct *)): Likewise.
-
-2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-attribs.cc (d_langhook_attribute_table): Add no_sanitize.
- (d_handle_no_sanitize_attribute): New function.
-
-2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-attribs.cc (d_langhook_attribute_table): Add visibility.
- (insert_type_attribute): Use decl_attributes instead of
- merge_attributes.
- (insert_decl_attribute): Likewise.
- (apply_user_attributes): Do nothing when no UDAs applied.
- (d_handle_visibility_attribute): New function.
- * d-gimplify.cc (d_gimplify_binary_expr): Adjust.
- * d-tree.h (set_visibility_for_decl): Declare.
- * decl.cc (get_symbol_decl): Move setting of visibility flags to...
- (set_visibility_for_decl): ... here. New function.
- * types.cc (TypeVisitor::visit (TypeStruct *)): Call
- set_visibility_for_decl().
- (TypeVisitor::visit (TypeClass *)): Likewise.
-
-2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * typeinfo.cc (make_internal_typeinfo): Set TYPE_ARTIFICIAL.
-
-2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-attribs.cc (apply_user_attributes): Set ATTR_FLAG_TYPE_IN_PLACE
- only on incomplete types.
- * d-codegen.cc (copy_aggregate_type): Set TYPE_STUB_DECL after copy.
- * d-compiler.cc (Compiler::onParseModule): Adjust.
- * d-tree.h (AGGREGATE_OR_ENUM_TYPE_CHECK): Define.
- (TYPE_FORWARD_REFERENCES): Define.
- * decl.cc (gcc_attribute_p): Update documentation.
- (DeclVisitor::visit (StructDeclaration *)): Exit before building type
- node if gcc.attributes symbol.
- (DeclVisitor::visit (ClassDeclaration *)): Build type node and add
- TYPE_NAME to current binding level before emitting anything else.
- (DeclVisitor::visit (InterfaceDeclaration *)): Likewise.
- (DeclVisitor::visit (EnumDeclaration *)): Likewise.
- (build_type_decl): Move rest_of_decl_compilation() call to
- finish_aggregate_type().
- * types.cc (insert_aggregate_field): Move layout_decl() call to
- finish_aggregate_type().
- (insert_aggregate_bitfield): Likewise.
- (layout_aggregate_members): Adjust.
- (finish_incomplete_fields): New function.
- (finish_aggregate_type): Handle forward referenced field types. Call
- rest_of_type_compilation() after completing the aggregate.
- (TypeVisitor::visit (TypeEnum *)): Don't set size and alignment until
- after apply_user_attributes(). Call rest_of_type_compilation() after
- completing the enumeral.
- (TypeVisitor::visit (TypeStruct *)): Call build_type_decl() before
- apply_user_attributes(). Don't set size, alignment, and mode until
- after apply_user_attributes().
- (TypeVisitor::visit (TypeClass *)): Call build_type_decl() before
- applly_user_attributes().
-
-2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-builtins.cc: Include builtins.h.
- (gcc_builtins_libfuncs): Remove.
- (strip_type_modifiers): New function.
- (matches_builtin_type): New function.
- (covariant_with_builtin_type_p): New function.
- (maybe_set_builtin_1): Set front-end built-in if identifier matches
- gcc built-in name. Apply user-specified attributes and assembler name
- overrides to the built-in. Warn about built-in declaration mismatches.
- (d_builtin_function): Set IDENTIFIER_DECL_TREE of built-in functions.
- * d-compiler.cc (Compiler::onParseModule): Scan all modules for any
- identifiers that match built-in function names.
- * lang.opt (Wbuiltin-declaration-mismatch): New option.
-
-2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-tree.h (check_typeinfo_type): Add Expression* parameter.
- (build_typeinfo): Likewise. Declare new override.
- * expr.cc (ExprVisitor): Call build_typeinfo with Expression*.
- * typeinfo.cc (check_typeinfo_type): Include expression in the
- diagnostic message.
- (build_typeinfo): New override.
-
-2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 821ed393d.
- * expr.cc (ExprVisitor::visit (NewExp *)): Remove handled of
- allocating `@nogc' throwable object.
- * runtime.def (NEWTHROW): Remove.
-
-2022-06-02 David Malcolm <dmalcolm@redhat.com>
-
- * d-lang.cc (d_get_sarif_source_language): New.
- (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
-
-2022-05-31 Jason Merrill <jason@redhat.com>
-
- * Make-lang.in (d.tags): Just look at *.cc.
-
-2022-05-31 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/105544
- * d-lang.cc (d_parse_file): Zero padding past the end of the stdin
- buffer so the D lexer has a sentinel to stop parsing at.
-
-2022-05-27 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 4d07f22f2
- * d-lang.cc (d_handle_option): Handle OPT_fpreview_fiximmutableconv.
- * lang.opt (fpreview=fiximmutableconv): New option.
- * runtime.def (ARRAYAPPENDT): Remove.
-
-2022-05-25 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * expr.cc: Add "final" and "override" to all "visit" vfunc decls
- as appropriate.
- * imports.cc: Likewise.
- * typeinfo.cc: Likewise.
-
-2022-05-24 David Malcolm <dmalcolm@redhat.com>
-
- * decl.cc: Add "final" and "override" to all "visit" vfunc decls
- as appropriate.
- * expr.cc: Likewise.
- * toir.cc: Likewise.
- * typeinfo.cc: Likewise.
- * types.cc: Likewise.
-
-2022-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 60bfa0ee7.
- * dmd/VERSION: Update version to v2.100.0.
- * d-builtins.cc (d_init_versions): Update for new front-end interface.
- * d-codegen.cc (d_decl_context): Use resolvedLinkage to get
- declaration linkage.
- (build_struct_literal): Track offset in bits.
- * d-gimplify.cc (d_gimplify_modify_expr): Check both operands for a
- bit-field reference.
- * d-lang.cc (d_handle_option): Handle -fpreview=bitfields, remove
- -frevert=markdown and -ftransition=vmarkdown.
- (d_post_options): Set flag_rtti and flag_exceptions if -fno-druntime
- was seen on command-line.
- (d_parse_file): Update for new front-end interface.
- (d_type_promotes_to): Use resolvedLinkage to get declaration linkage.
- * decl.cc (make_thunk): Likewise.
- * expr.cc (ExprVisitor::visit (CatAssignExp *)): Remove lowering for
- appending of an element or array to another array.
- * lang.opt (fpreview=bitfields): New option.
- (frevert=markdown): Remove.
- (ftransition=vmarkdown): Remove.
- * types.cc (layout_aggregate_members): Ignore anonymous fields in
- total count.
-
-2022-04-28 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 313d28b3d.
- * d-port.cc (Port::memicmp): Use d_size_t instead of size_t.
- (Port::valcpy): Likewise.
-
-2022-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd eb7bee331.
- * dmd/VERSION: Update version to v2.100.0-beta.1.
- * d-lang.cc (d_handle_option): Handle OPT_frevert_dip1000.
- * lang.opt (frevert=dip1000): New option.
-
-2022-04-13 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * Make-lang.in (D_FRONTEND_OBJS): Add d/common-bitfields.o,
- d/mustuse.o.
- * d-ctfloat.cc (CTFloat::isIdentical): Don't treat NaN values as
- identical.
- * dmd/MERGE: Merge upstream dmd 4d1bfcf14.
- * expr.cc (ExprVisitor::visit (VoidInitExp *)): New.
-
-2022-04-03 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-lang.cc: Include dmd/template.h.
- (d_parse_file): Call printTemplateStats when vtemplates is set.
- * decl.cc (start_function): Remove OPT_Wtemplates warning.
- * lang.opt (Wtemplates): Remove.
-
-2022-04-02 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 47871363d.
- * d-builtins.cc (d_init_versions): Add predefined version identifiers
- D_PreConditions, D_PostConditions, and D_Invariants.
- * d-codegen.cc (d_build_call): Update for new front-end interface.
- (build_frame_type): Generate reference field for NRVO variables with
- nested references.
- (build_closure): Generate assignment of return address to closure.
- * d-tree.h (DECL_INSTANTIATED): Use DECL_LANG_FLAG_2.
- (bind_expr): Remove.
- * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Update for new
- front-end interface.
- (get_symbol_decl): Likewise.
- (get_decl_tree): Check DECL_LANG_FRAME_FIELD before DECL_LANG_NRVO.
- Dereference the field when both are set.
- * expr.cc (ExprVisitor::visit (DeleteExp *)): Update for new front-end
- interface.
- * modules.cc (get_internal_fn): Likewise.
- * toir.cc (IRVisitor::visit (ReturnStatement *)): Likewise.
-
-2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/105004
- * d-codegen.cc (build_struct_literal): Use complex_expr to build
- complex expressions from __c_complex types.
-
-2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/104911
- * dmd/MERGE: Merge upstream dmd 2503f17e5.
- * d-convert.cc (convert_expr): Replace d_uns64 with dinteger_t.
- * d-lang.cc: Remove dmd/root/file.h include.
- (d_handle_option): Update for new front-end interface.
- (d_parse_file): Likewise.
-
-2022-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 02a3fafc6.
- * dmd/VERSION: Update version to v2.099.0.
- * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Don't cache
- decl in front-end AST node.
- (ImportVisitor::visit (AggregateDeclaration *)): Likewise.
- (ImportVisitor::visit (ClassDeclaration *)): Likewise.
-
-2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * imports.cc (imported_decls): Define.
- (class ImportVisitor): Add result_ field.
- (ImportVisitor::result): New method.
- (ImportVisitor::visit (Module *)): Store decl to result_.
- (ImportVisitor::visit (Import *)): Likewise.
- (ImportVisitor::visit (AliasDeclaration *)): Don't cache decl in
- front-end AST node.
- (ImportVisitor::visit (OverDeclaration *)): Likewise.
- (ImportVisitor::visit (FuncDeclaration *)): Likewise.
- (ImportVisitor::visit (Declaration *)): Likewise.
- (build_import_decl): Use imported_decls to cache and lookup built
- declarations.
-
-2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR translation/104552
- * lang.opt (fdump-cxx-spec=): Fix typo in argument handle.
- (fpreview=fixaliasthis): Quote `alias this' as code.
-
-2022-03-02 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd 423f19b41.
-
-2022-02-28 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-target.cc (Target::_init): Initialize C type size fields.
- * dmd/MERGE: Merge upstream dmd cf63dd8e5.
- * dmd/VERSION: Update version to v2.099.0-rc.1.
-
-2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
- deleting GC allocated classes.
- * runtime.def (DELCLASS): Remove.
- (DELINTERFACE): Remove.
-
-2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * dmd/MERGE: Merge upstream dmd cb49e99f8.
- * dmd/VERSION: Update version to v2.099.0-beta.1.
- * decl.cc (layout_class_initializer): Update call to NewExp::create.
- * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
- deleting arrays and pointers.
- (ExprVisitor::visit (DotVarExp *)): Convert complex types to the
- front-end library type representing them.
- (ExprVisitor::visit (StringExp *)): Use getCodeUnit instead of charAt
- to get the value of each index in a string expression.
- * runtime.def (DELMEMORY): Remove.
- (DELARRAYT): Remove.
- * types.cc (TypeVisitor::visit (TypeEnum *)): Handle anonymous enums.
-
-2022-02-16 Iain Buclaw <ibuclaw@gdcproject.org>
-
- * d-builtins.cc (d_build_builtins_module): Set purity of DECL_PURE_P
- functions to PURE::const_.
- * d-gimplify.cc (bit_field_ref): New function.
- (d_gimplify_modify_expr): Handle implicit casting for assignments to
- bit-fields.
- (d_gimplify_unary_expr): New function.
- (d_gimplify_binary_expr): New function.
- (d_gimplify_expr): Handle UNARY_CLASS_P and BINARY_CLASS_P.
- * d-target.cc (Target::_init): Initialize bitFieldStyle.
- (TargetCPP::parameterType): Update signature.
- (Target::supportsLinkerDirective): New function.
- * dmd/MERGE: Merge upstream dmd 52844d4b1.
- * expr.cc (ExprVisitor::visit (ThrowExp *)): New function.
- * types.cc (d_build_bitfield_integer_type): New function.
- (insert_aggregate_bitfield): New function.
- (layout_aggregate_members): Handle inserting bit-fields into an
- aggregate type.
-
-2022-01-31 Martin Liska <mliska@suse.cz>
-
- PR d/104287
- * decl.cc (d_finish_decl): Remove trailing dot.
-
-2022-01-28 Martin Liska <mliska@suse.cz>
-
- * decl.cc (d_finish_decl): Do not use leading capital letter.
-
-2022-01-17 Martin Liska <mliska@suse.cz>
-
- * d-gimplify.cc: Rename .c names to .cc.
- * d-incpath.cc: Likewise.
- * lang-specs.h: Likewise.
-
-2022-01-03 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR d/103840
- * dmd/MERGE: Merge upstream dmd 001bfd97b.
- * Make-lang.in (D_FRONTEND_OBJS): Rename d/complex.o to
- d/root-complex.o, and d/utf.o to d/root/utf.o.
-
-2022-01-03 Jakub Jelinek <jakub@redhat.com>
-
- * gdc.texi: Bump @copyrights-d year.
-
-Copyright (C) 2022 Free Software Foundation, Inc.
+Copyright (C) 2023 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/d/ChangeLog-2022 b/gcc/d/ChangeLog-2022
new file mode 100644
index 0000000..7630f24
--- /dev/null
+++ b/gcc/d/ChangeLog-2022
@@ -0,0 +1,833 @@
+2022-12-12 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/108055
+ * decl.cc (function_defined_in_root_p): Check all enclosing template
+ instances for definition in a root module.
+ (function_needs_inline_definition_p): Replace call to
+ function_defined_in_root_p with test for outer module `isRoot'.
+
+2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/108050
+ * decl.cc (DeclVisitor::visit (Import *)): Handle build_import_decl
+ returning a TREE_LIST.
+ * imports.cc (ImportVisitor::visit (OverloadSet *)): New override.
+
+2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * 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`.
+
+2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * intrinsics.cc (expand_intrinsic_bsf): Fix comment.
+ (expand_intrinsic_bsr): Use BIT_XOR_EXPR instead of MINUS_EXPR.
+
+2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * Make-lang.in (D_TEXI_FILES): Add d/implement-d.texi.
+ * gdc.texi: Adjust introduction, include implement-d.texi.
+ * implement-d.texi: New file.
+
+2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * Make-lang.in: Only include doc/include when building documentation.
+ (d.html): Rename html directory to $(build_htmldir)/gdc.
+
+2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * gdc.texi: Separate indices into options and keywords.
+
+2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * gdc.texi: Update gdc option documentation.
+ * lang.opt (frevert=intpromote): Correct documentation.
+
+2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/107592
+ * toir.cc (IRVisitor::push_unrolled_continue_label): New method.
+ (IRVisitor::pop_unrolled_continue_label): New method.
+ (IRVisitor::visit (UnrolledLoopStatement *)): Use them instead of
+ push_continue_label and pop_continue_label.
+
+2022-11-23 Martin Liska <mliska@suse.cz>
+
+ * Make-lang.in: Use it as $DO_LINK_MUTEX.
+
+2022-11-23 Marek Polacek <polacek@redhat.com>
+
+ Revert:
+ 2022-11-23 Marek Polacek <polacek@redhat.com>
+
+ * Make-lang.in: Remove NO_PIE_CFLAGS.
+
+2022-11-23 Marek Polacek <polacek@redhat.com>
+
+ * Make-lang.in: Remove NO_PIE_CFLAGS.
+
+2022-11-14 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2022-11-14 Martin Liska <mliska@suse.cz>
+
+ * doc/conf.py: New file.
+ * doc/copyright.rst: New file.
+ * doc/general-public-license-3.rst: New file.
+ * doc/gnu-free-documentation-license.rst: New file.
+ * doc/index.rst: New file.
+ * doc/indices-and-tables.rst: New file.
+ * doc/invoking-gdc.rst: New file.
+ * doc/invoking-gdc/code-generation.rst: New file.
+ * doc/invoking-gdc/developer-options.rst: New file.
+ * doc/invoking-gdc/input-and-output-files.rst: New file.
+ * doc/invoking-gdc/options-for-directory-search.rst: New file.
+ * doc/invoking-gdc/options-for-linking.rst: New file.
+ * doc/invoking-gdc/runtime-options.rst: New file.
+ * doc/invoking-gdc/warnings.rst: New file.
+
+2022-11-14 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2022-11-14 Martin Liska <mliska@suse.cz>
+
+ * d-target.def: Port to RST.
+
+2022-11-14 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2022-11-14 Martin Liska <mliska@suse.cz>
+
+ * Make-lang.in: Support Sphinx based documentation.
+
+2022-11-14 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2022-11-09 Martin Liska <mliska@suse.cz>
+
+ * gdc.texi: Removed.
+
+2022-11-14 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2022-11-14 Martin Liska <mliska@suse.cz>
+
+ * Make-lang.in: Support --with-sphinx-build.
+
+2022-11-14 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2022-11-14 Martin Liska <mliska@suse.cz>
+
+ * Make-lang.in:
+ Support installation if sphinx-build is missing.
+
+2022-11-14 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2022-11-14 Martin Liska <mliska@suse.cz>
+
+ * doc/copyright.rst:
+ Add trailing newline.
+ * doc/general-public-license-3.rst:
+ Add trailing newline.
+ * doc/gnu-free-documentation-license.rst:
+ Add trailing newline.
+ * doc/index.rst:
+ Add trailing newline.
+ * doc/indices-and-tables.rst:
+ Add trailing newline.
+ * doc/invoking-gdc.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/code-generation.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/developer-options.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/input-and-output-files.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/options-for-directory-search.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/options-for-linking.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/runtime-options.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/warnings.rst:
+ Add trailing newline.
+
+2022-11-14 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2022-11-10 Martin Liska <mliska@suse.cz>
+
+ * doc/conf.py: Add newline at last line.
+
+2022-11-10 Martin Liska <mliska@suse.cz>
+
+ * doc/conf.py: Add newline at last line.
+
+2022-11-09 Martin Liska <mliska@suse.cz>
+
+ * doc/copyright.rst:
+ Add trailing newline.
+ * doc/general-public-license-3.rst:
+ Add trailing newline.
+ * doc/gnu-free-documentation-license.rst:
+ Add trailing newline.
+ * doc/index.rst:
+ Add trailing newline.
+ * doc/indices-and-tables.rst:
+ Add trailing newline.
+ * doc/invoking-gdc.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/code-generation.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/developer-options.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/input-and-output-files.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/options-for-directory-search.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/options-for-linking.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/runtime-options.rst:
+ Add trailing newline.
+ * doc/invoking-gdc/warnings.rst:
+ Add trailing newline.
+
+2022-11-09 Martin Liska <mliska@suse.cz>
+
+ * Make-lang.in:
+ Support installation if sphinx-build is missing.
+
+2022-11-09 Martin Liska <mliska@suse.cz>
+
+ * Make-lang.in: Support --with-sphinx-build.
+
+2022-11-09 Martin Liska <mliska@suse.cz>
+
+ * gdc.texi: Removed.
+
+2022-11-09 Martin Liska <mliska@suse.cz>
+
+ * Make-lang.in: Support Sphinx based documentation.
+
+2022-11-09 Martin Liska <mliska@suse.cz>
+
+ * d-target.def: Port to RST.
+
+2022-11-09 Martin Liska <mliska@suse.cz>
+
+ * doc/conf.py: New file.
+ * doc/copyright.rst: New file.
+ * doc/general-public-license-3.rst: New file.
+ * doc/gnu-free-documentation-license.rst: New file.
+ * doc/index.rst: New file.
+ * doc/indices-and-tables.rst: New file.
+ * doc/invoking-gdc.rst: New file.
+ * doc/invoking-gdc/code-generation.rst: New file.
+ * doc/invoking-gdc/developer-options.rst: New file.
+ * doc/invoking-gdc/input-and-output-files.rst: New file.
+ * doc/invoking-gdc/options-for-directory-search.rst: New file.
+ * doc/invoking-gdc/options-for-linking.rst: New file.
+ * doc/invoking-gdc/runtime-options.rst: New file.
+ * doc/invoking-gdc/warnings.rst: New file.
+
+2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-target.cc (Target::isVectorOpSupported): Remove cases for
+ comparison operators.
+ * intrinsics.cc (maybe_set_intrinsic): Remove cases for vector
+ comparison intrinsics.
+ (maybe_warn_intrinsic_mismatch): Likewise.
+ (expand_intrinsic_vec_cond): Remove.
+ (maybe_expand_intrinsic): Remove cases for vector comparison
+ intrinsics.
+ * intrinsics.def (INTRINSIC_EQUALMASK): Remove.
+ (INTRINSIC_NOTEQUALMASK): Remove.
+ (INTRINSIC_GREATERMASK): Remove.
+ (INTRINSIC_GREATEREQUALMASK): Remove.
+
+2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * 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.
+
+2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-target.def (d_minfo_section): Expand documentation of hook.
+ Default initialize to "minfo".
+ (d_minfo_start_name): Rename to ...
+ (d_minfo_section_start): ... this. Default initialize to
+ "__start_minfo".
+ (d_minfo_end_name): Rename to ...
+ (d_minfo_section_end): ... this. Default initialize to "__stop_minfo".
+ * modules.cc (register_moduleinfo): Use new targetdm hook names.
+
+2022-09-27 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd d579c467c1.
+ * decl.cc (layout_struct_initializer): Update for new front-end
+ interface.
+ * expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array
+ assignments.
+ (ExprVisitor::visit (NewExp *)): Add new lowering of new'ing
+ associative arrays to an _aaNew() library call.
+ * runtime.def (ARRAYSETASSIGN): Remove.
+ (AANEW): Define.
+
+2022-09-15 Richard Biener <rguenther@suse.de>
+
+ * d-builtins.cc (d_build_c_type_nodes): Do not initialize
+ void_list_node.
+
+2022-08-27 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 817610b16d.
+ * d-ctfloat.cc (CTFloat::parse): Update for new front-end interface.
+ * d-lang.cc (d_parse_file): Likewise.
+ * expr.cc (ExprVisitor::visit (AssignExp *)): Remove handling of array
+ assignments to non-trivial static and dynamic arrays.
+ * runtime.def (ARRAYASSIGN): Remove.
+ (ARRAYASSIGN_L): Remove.
+ (ARRAYASSIGN_R): Remove.
+
+2022-08-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/106638
+ * gdc.texi: Update DIP links to point at upstream dlang/DIPs
+ repository.
+
+2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-tree.h (d_defer_declaration): Declare.
+ * decl.cc (function_needs_inline_definition_p): Defer checking
+ DECL_UNINLINABLE and DECL_DECLARED_INLINE_P.
+ (maybe_build_decl_tree): Call d_defer_declaration instead of
+ build_decl_tree.
+ * modules.cc (deferred_inline_declarations): New variable.
+ (build_module_tree): Set deferred_inline_declarations and a handle
+ declarations pushed to it.
+ (d_defer_declaration): New function.
+
+2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/106623
+ * d-codegen.cc (underlying_complex_expr): New function.
+ (d_build_call): Handle passing native complex objects as the
+ library-defined equivalent.
+ * d-tree.h (underlying_complex_expr): Declare.
+ * expr.cc (ExprVisitor::visit (DotVarExp *)): Call
+ underlying_complex_expr instead of build_vconvert.
+
+2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-compiler.cc (Compiler::onParseModule): Call create_tinfo_types
+ when module name is object.
+ * typeinfo.cc (create_tinfo_types): Add guard for multiple
+ invocations.
+
+2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-codegen.cc (build_delegate_cst): Give anonymous delegate field
+ names same as per ABI spec.
+
+2022-08-09 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/106563
+ * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set semanticRun
+ before generating its symbol.
+ (function_defined_in_root_p): New function.
+ (function_needs_inline_definition_p): New function.
+ (maybe_build_decl_tree): New function.
+ (get_symbol_decl): Call maybe_build_decl_tree before returning symbol.
+ (start_function): Use function_defined_in_root_p instead of inline
+ test for locally defined symbols.
+ (set_linkage_for_decl): Check for inline functions before private or
+ protected symbols.
+
+2022-08-08 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/106555
+ * d-target.cc (Target::isReturnOnStack): Check for return type size.
+
+2022-08-03 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd d7772a2369.
+ * dmd/VERSION: Bump version to v2.100.1.
+ * d-codegen.cc (get_frameinfo): Check whether decision to generate
+ closure changed since semantic finished.
+ * d-lang.cc (d_handle_option): Remove handling of -fdebug=level and
+ -fversion=level.
+ * decl.cc (DeclVisitor::visit (VarDeclaration *)): Generate evaluation
+ of noreturn variable initializers before throw.
+ * expr.cc (ExprVisitor::visit (AssignExp *)): Don't generate
+ assignment for noreturn types, only evaluate for side effects.
+ * lang.opt (fdebug=): Undocument -fdebug=level.
+ (fversion=): Undocument -fversion=level.
+
+2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 56589f0f4.
+
+2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * Make-lang.in (NOEXCEPTION_DFLAGS): Define.
+ (ALL_DFLAGS): Add NO_EXCEPTION_DFLAGS.
+
+2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/106139
+ * d-convert.cc (convert_expr): Handle casting from array to vector.
+ (convert_for_rvalue): Rewrite vector to array casts of the same
+ element type into a constructor.
+ (convert_for_assignment): Return calling convert_for_rvalue.
+ * expr.cc (ExprVisitor::visit (VectorExp *)): Handle generating a
+ vector expression from a static array.
+ * toir.cc (IRVisitor::visit (ReturnStatement *)): Call
+ convert_for_rvalue on return value.
+
+2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * intrinsics.cc (build_shuffle_mask_type): Use to_constant when
+ getting the number of subparts from a vector type.
+ (expand_intrinsic_vec_shufflevector): Likewise.
+
+2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * intrinsics.cc: Include diagnostic.h, langhooks.h,
+ vec-perm-indices.h.
+ (maybe_set_intrinsic): Add cases for new simd intrinsics.
+ (warn_mismatched_return_type): New function.
+ (warn_mismatched_argument): New function.
+ (build_shuffle_mask_type): New function.
+ (maybe_warn_intrinsic_mismatch): New function.
+ (expand_intrinsic_vec_cond): New function.
+ (expand_intrinsic_vec_convert): New function.
+ (expand_intrinsic_vec_blend): New function.
+ (expand_intrinsic_vec_shuffle): New function.
+ (expand_intrinsic_vec_shufflevector): New function.
+ (expand_intrinsic_vec_load_unaligned): New function.
+ (expand_intrinsic_vec_store_unaligned): New function.
+ (maybe_expand_intrinsic): Check signature of intrinsic before handing
+ off to front-end lowering. Add cases for new simd intrinsics.
+ * intrinsics.def (INTRINSIC_LOADUNALIGNED): Define intrinsic.
+ (INTRINSIC_STOREUNALIGNED): Define intrinsic.
+ (INTRINSIC_SHUFFLE): Define intrinsic.
+ (INTRINSIC_SHUFFLEVECTOR): Define intrinsic.
+ (INTRINSIC_CONVERTVECTOR): Define intrinsic.
+ (INTRINSIC_BLENDVECTOR): Define intrinsic.
+ (INTRINSIC_EQUALMASK): Define intrinsic.
+ (INTRINSIC_NOTEQUALMASK): Define intrinsic.
+ (INTRINSIC_GREATERMASK): Define intrinsic.
+ (INTRINSIC_GREATEREQUALMASK): Define intrinsic.
+
+2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-codegen.cc: Include gimple-expr.h.
+ (force_target_expr): Use create_tmp_var_raw.
+ * decl.cc: Inlucde gimple-expr.h.
+ (build_local_temp): Use create_tmp_var_raw.
+ * intrinsics.cc (expand_intrinsic_rotate): Use get_callee_fndecl.
+ (maybe_expand_intrinsic): Likewise.
+
+2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (handle_omp_declare_simd_attribute): New function.
+ (d_handle_simd_attribute): New function.
+ (d_langhook_common_attribute_table): Add 'omp declare simd' attribute.
+ (d_langhook_attribute_table): Add simd attribute.
+
+2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (d_handle_section_attribute): Update error message.
+ (d_handle_symver_attribute): Likewise.
+ (d_handle_no_sanitize_attribute): Likewise.
+ (d_handle_visibility_attribute): Likewise.
+
+2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/105413
+ * d-attribs.cc (d_handle_register_attribute): New function.
+ (d_langhook_attribute_table): Add register attribute.
+ * d-codegen.cc (d_mark_addressable): Error if taken address of
+ register variable.
+ (build_frame_type): Error if register variable has non-local
+ references.
+ * d-tree.h (d_mark_addressable): Add complain parameter.
+ * decl.cc (get_symbol_decl): Mark register varibles DECL_REGISTER.
+ Error when register variable declared thread-local or extern.
+ * expr.cc (ExprVisitor::visit (IndexExp *)): Don't complain about
+ marking register vectors as addressable in an ARRAY_REF.
+
+2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-codegen.cc (build_array_index): Rename to...
+ (build_pointer_index): ...this.
+ * d-tree.h (build_array_index): Rename declaration to...
+ (build_pointer_index): ...this.
+ * expr.cc (ExprVisitor::visit (IndexExp *)): Construct indexes of
+ ARRAY_TYPE using ARRAY_REF.
+ (ExprVisitor::visit (SliceExp *)): Update.
+ * intrinsics.cc (expand_intrinsic_bt): Update.
+
+2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 529110f66.
+ * decl.cc (DeclVisitor::visit (TupleDeclaration *)): Update for new
+ front-end interface.
+ * types.cc (layout_aggregate_members): Likewise.
+
+2022-06-22 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 6203135dc.
+ * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)):
+ Update for new front-end interface.
+ (SpeculativeTypeVisitor::visit (TypeStruct *)): Likewise.
+
+2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (d_langhook_attribute_table): Add no_sanitize.
+ (d_handle_no_sanitize_attribute): New function.
+
+2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (d_langhook_attribute_table): Add visibility.
+ (insert_type_attribute): Use decl_attributes instead of
+ merge_attributes.
+ (insert_decl_attribute): Likewise.
+ (apply_user_attributes): Do nothing when no UDAs applied.
+ (d_handle_visibility_attribute): New function.
+ * d-gimplify.cc (d_gimplify_binary_expr): Adjust.
+ * d-tree.h (set_visibility_for_decl): Declare.
+ * decl.cc (get_symbol_decl): Move setting of visibility flags to...
+ (set_visibility_for_decl): ... here. New function.
+ * types.cc (TypeVisitor::visit (TypeStruct *)): Call
+ set_visibility_for_decl().
+ (TypeVisitor::visit (TypeClass *)): Likewise.
+
+2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * typeinfo.cc (make_internal_typeinfo): Set TYPE_ARTIFICIAL.
+
+2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (apply_user_attributes): Set ATTR_FLAG_TYPE_IN_PLACE
+ only on incomplete types.
+ * d-codegen.cc (copy_aggregate_type): Set TYPE_STUB_DECL after copy.
+ * d-compiler.cc (Compiler::onParseModule): Adjust.
+ * d-tree.h (AGGREGATE_OR_ENUM_TYPE_CHECK): Define.
+ (TYPE_FORWARD_REFERENCES): Define.
+ * decl.cc (gcc_attribute_p): Update documentation.
+ (DeclVisitor::visit (StructDeclaration *)): Exit before building type
+ node if gcc.attributes symbol.
+ (DeclVisitor::visit (ClassDeclaration *)): Build type node and add
+ TYPE_NAME to current binding level before emitting anything else.
+ (DeclVisitor::visit (InterfaceDeclaration *)): Likewise.
+ (DeclVisitor::visit (EnumDeclaration *)): Likewise.
+ (build_type_decl): Move rest_of_decl_compilation() call to
+ finish_aggregate_type().
+ * types.cc (insert_aggregate_field): Move layout_decl() call to
+ finish_aggregate_type().
+ (insert_aggregate_bitfield): Likewise.
+ (layout_aggregate_members): Adjust.
+ (finish_incomplete_fields): New function.
+ (finish_aggregate_type): Handle forward referenced field types. Call
+ rest_of_type_compilation() after completing the aggregate.
+ (TypeVisitor::visit (TypeEnum *)): Don't set size and alignment until
+ after apply_user_attributes(). Call rest_of_type_compilation() after
+ completing the enumeral.
+ (TypeVisitor::visit (TypeStruct *)): Call build_type_decl() before
+ apply_user_attributes(). Don't set size, alignment, and mode until
+ after apply_user_attributes().
+ (TypeVisitor::visit (TypeClass *)): Call build_type_decl() before
+ applly_user_attributes().
+
+2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-builtins.cc: Include builtins.h.
+ (gcc_builtins_libfuncs): Remove.
+ (strip_type_modifiers): New function.
+ (matches_builtin_type): New function.
+ (covariant_with_builtin_type_p): New function.
+ (maybe_set_builtin_1): Set front-end built-in if identifier matches
+ gcc built-in name. Apply user-specified attributes and assembler name
+ overrides to the built-in. Warn about built-in declaration mismatches.
+ (d_builtin_function): Set IDENTIFIER_DECL_TREE of built-in functions.
+ * d-compiler.cc (Compiler::onParseModule): Scan all modules for any
+ identifiers that match built-in function names.
+ * lang.opt (Wbuiltin-declaration-mismatch): New option.
+
+2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-tree.h (check_typeinfo_type): Add Expression* parameter.
+ (build_typeinfo): Likewise. Declare new override.
+ * expr.cc (ExprVisitor): Call build_typeinfo with Expression*.
+ * typeinfo.cc (check_typeinfo_type): Include expression in the
+ diagnostic message.
+ (build_typeinfo): New override.
+
+2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 821ed393d.
+ * expr.cc (ExprVisitor::visit (NewExp *)): Remove handled of
+ allocating `@nogc' throwable object.
+ * runtime.def (NEWTHROW): Remove.
+
+2022-06-02 David Malcolm <dmalcolm@redhat.com>
+
+ * d-lang.cc (d_get_sarif_source_language): New.
+ (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
+
+2022-05-31 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (d.tags): Just look at *.cc.
+
+2022-05-31 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/105544
+ * d-lang.cc (d_parse_file): Zero padding past the end of the stdin
+ buffer so the D lexer has a sentinel to stop parsing at.
+
+2022-05-27 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 4d07f22f2
+ * d-lang.cc (d_handle_option): Handle OPT_fpreview_fiximmutableconv.
+ * lang.opt (fpreview=fiximmutableconv): New option.
+ * runtime.def (ARRAYAPPENDT): Remove.
+
+2022-05-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * expr.cc: Add "final" and "override" to all "visit" vfunc decls
+ as appropriate.
+ * imports.cc: Likewise.
+ * typeinfo.cc: Likewise.
+
+2022-05-24 David Malcolm <dmalcolm@redhat.com>
+
+ * decl.cc: Add "final" and "override" to all "visit" vfunc decls
+ as appropriate.
+ * expr.cc: Likewise.
+ * toir.cc: Likewise.
+ * typeinfo.cc: Likewise.
+ * types.cc: Likewise.
+
+2022-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 60bfa0ee7.
+ * dmd/VERSION: Update version to v2.100.0.
+ * d-builtins.cc (d_init_versions): Update for new front-end interface.
+ * d-codegen.cc (d_decl_context): Use resolvedLinkage to get
+ declaration linkage.
+ (build_struct_literal): Track offset in bits.
+ * d-gimplify.cc (d_gimplify_modify_expr): Check both operands for a
+ bit-field reference.
+ * d-lang.cc (d_handle_option): Handle -fpreview=bitfields, remove
+ -frevert=markdown and -ftransition=vmarkdown.
+ (d_post_options): Set flag_rtti and flag_exceptions if -fno-druntime
+ was seen on command-line.
+ (d_parse_file): Update for new front-end interface.
+ (d_type_promotes_to): Use resolvedLinkage to get declaration linkage.
+ * decl.cc (make_thunk): Likewise.
+ * expr.cc (ExprVisitor::visit (CatAssignExp *)): Remove lowering for
+ appending of an element or array to another array.
+ * lang.opt (fpreview=bitfields): New option.
+ (frevert=markdown): Remove.
+ (ftransition=vmarkdown): Remove.
+ * types.cc (layout_aggregate_members): Ignore anonymous fields in
+ total count.
+
+2022-04-28 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 313d28b3d.
+ * d-port.cc (Port::memicmp): Use d_size_t instead of size_t.
+ (Port::valcpy): Likewise.
+
+2022-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd eb7bee331.
+ * dmd/VERSION: Update version to v2.100.0-beta.1.
+ * d-lang.cc (d_handle_option): Handle OPT_frevert_dip1000.
+ * lang.opt (frevert=dip1000): New option.
+
+2022-04-13 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * Make-lang.in (D_FRONTEND_OBJS): Add d/common-bitfields.o,
+ d/mustuse.o.
+ * d-ctfloat.cc (CTFloat::isIdentical): Don't treat NaN values as
+ identical.
+ * dmd/MERGE: Merge upstream dmd 4d1bfcf14.
+ * expr.cc (ExprVisitor::visit (VoidInitExp *)): New.
+
+2022-04-03 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-lang.cc: Include dmd/template.h.
+ (d_parse_file): Call printTemplateStats when vtemplates is set.
+ * decl.cc (start_function): Remove OPT_Wtemplates warning.
+ * lang.opt (Wtemplates): Remove.
+
+2022-04-02 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 47871363d.
+ * d-builtins.cc (d_init_versions): Add predefined version identifiers
+ D_PreConditions, D_PostConditions, and D_Invariants.
+ * d-codegen.cc (d_build_call): Update for new front-end interface.
+ (build_frame_type): Generate reference field for NRVO variables with
+ nested references.
+ (build_closure): Generate assignment of return address to closure.
+ * d-tree.h (DECL_INSTANTIATED): Use DECL_LANG_FLAG_2.
+ (bind_expr): Remove.
+ * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Update for new
+ front-end interface.
+ (get_symbol_decl): Likewise.
+ (get_decl_tree): Check DECL_LANG_FRAME_FIELD before DECL_LANG_NRVO.
+ Dereference the field when both are set.
+ * expr.cc (ExprVisitor::visit (DeleteExp *)): Update for new front-end
+ interface.
+ * modules.cc (get_internal_fn): Likewise.
+ * toir.cc (IRVisitor::visit (ReturnStatement *)): Likewise.
+
+2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/105004
+ * d-codegen.cc (build_struct_literal): Use complex_expr to build
+ complex expressions from __c_complex types.
+
+2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/104911
+ * dmd/MERGE: Merge upstream dmd 2503f17e5.
+ * d-convert.cc (convert_expr): Replace d_uns64 with dinteger_t.
+ * d-lang.cc: Remove dmd/root/file.h include.
+ (d_handle_option): Update for new front-end interface.
+ (d_parse_file): Likewise.
+
+2022-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 02a3fafc6.
+ * dmd/VERSION: Update version to v2.099.0.
+ * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Don't cache
+ decl in front-end AST node.
+ (ImportVisitor::visit (AggregateDeclaration *)): Likewise.
+ (ImportVisitor::visit (ClassDeclaration *)): Likewise.
+
+2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * imports.cc (imported_decls): Define.
+ (class ImportVisitor): Add result_ field.
+ (ImportVisitor::result): New method.
+ (ImportVisitor::visit (Module *)): Store decl to result_.
+ (ImportVisitor::visit (Import *)): Likewise.
+ (ImportVisitor::visit (AliasDeclaration *)): Don't cache decl in
+ front-end AST node.
+ (ImportVisitor::visit (OverDeclaration *)): Likewise.
+ (ImportVisitor::visit (FuncDeclaration *)): Likewise.
+ (ImportVisitor::visit (Declaration *)): Likewise.
+ (build_import_decl): Use imported_decls to cache and lookup built
+ declarations.
+
+2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR translation/104552
+ * lang.opt (fdump-cxx-spec=): Fix typo in argument handle.
+ (fpreview=fixaliasthis): Quote `alias this' as code.
+
+2022-03-02 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 423f19b41.
+
+2022-02-28 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-target.cc (Target::_init): Initialize C type size fields.
+ * dmd/MERGE: Merge upstream dmd cf63dd8e5.
+ * dmd/VERSION: Update version to v2.099.0-rc.1.
+
+2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
+ deleting GC allocated classes.
+ * runtime.def (DELCLASS): Remove.
+ (DELINTERFACE): Remove.
+
+2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd cb49e99f8.
+ * dmd/VERSION: Update version to v2.099.0-beta.1.
+ * decl.cc (layout_class_initializer): Update call to NewExp::create.
+ * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
+ deleting arrays and pointers.
+ (ExprVisitor::visit (DotVarExp *)): Convert complex types to the
+ front-end library type representing them.
+ (ExprVisitor::visit (StringExp *)): Use getCodeUnit instead of charAt
+ to get the value of each index in a string expression.
+ * runtime.def (DELMEMORY): Remove.
+ (DELARRAYT): Remove.
+ * types.cc (TypeVisitor::visit (TypeEnum *)): Handle anonymous enums.
+
+2022-02-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-builtins.cc (d_build_builtins_module): Set purity of DECL_PURE_P
+ functions to PURE::const_.
+ * d-gimplify.cc (bit_field_ref): New function.
+ (d_gimplify_modify_expr): Handle implicit casting for assignments to
+ bit-fields.
+ (d_gimplify_unary_expr): New function.
+ (d_gimplify_binary_expr): New function.
+ (d_gimplify_expr): Handle UNARY_CLASS_P and BINARY_CLASS_P.
+ * d-target.cc (Target::_init): Initialize bitFieldStyle.
+ (TargetCPP::parameterType): Update signature.
+ (Target::supportsLinkerDirective): New function.
+ * dmd/MERGE: Merge upstream dmd 52844d4b1.
+ * expr.cc (ExprVisitor::visit (ThrowExp *)): New function.
+ * types.cc (d_build_bitfield_integer_type): New function.
+ (insert_aggregate_bitfield): New function.
+ (layout_aggregate_members): Handle inserting bit-fields into an
+ aggregate type.
+
+2022-01-31 Martin Liska <mliska@suse.cz>
+
+ PR d/104287
+ * decl.cc (d_finish_decl): Remove trailing dot.
+
+2022-01-28 Martin Liska <mliska@suse.cz>
+
+ * decl.cc (d_finish_decl): Do not use leading capital letter.
+
+2022-01-17 Martin Liska <mliska@suse.cz>
+
+ * d-gimplify.cc: Rename .c names to .cc.
+ * d-incpath.cc: Likewise.
+ * lang-specs.h: Likewise.
+
+2022-01-03 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/103840
+ * dmd/MERGE: Merge upstream dmd 001bfd97b.
+ * Make-lang.in (D_FRONTEND_OBJS): Rename d/complex.o to
+ d/root-complex.o, and d/utf.o to d/root/utf.o.
+
+2022-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gdc.texi: Bump @copyrights-d year.
+
+
+Copyright (C) 2022 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.