| 2023-05-08 Release Manager |
| |
| * GCC 12.3.0 released. |
| |
| 2023-03-16 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-16 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/109144 |
| * d-codegen.cc (build_frame_type): Set frame field and type alignment. |
| |
| 2023-03-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/109108 |
| * decl.cc (function_defined_in_root_p): Remove. |
| (get_symbol_decl): Set DECL_LAMBDA_FUNCTION_P on function literals. |
| (start_function): Unconditionally unset DECL_EXTERNAL |
| (set_linkage_for_decl): Give lambda functions one-only linkage. |
| |
| 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * decl.cc (finish_thunk): Unset DECL_EXTERNAL on thunk. |
| (make_thunk): Set DECL_EXTERNAL on thunk, don't call build_decl_tree. |
| (finish_function): Call finish_thunk on forward referenced thunks. |
| |
| 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * decl.cc (get_fndecl_result): New function. |
| (get_fndecl_arguments): New function. |
| (DeclVisitor::visit (FuncDeclaration *)): Adjust to call |
| get_fndecl_arguments. |
| (make_thunk): Adjust to call get_fndecl_arguments and |
| get_fndecl_result. |
| (start_function): Adjust to call get_fndecl_result. |
| |
| 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/108877 |
| * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call |
| make_import on TYPE_MAIN_VARIANT. |
| (ImportVisitor::visit (AggregateDeclaration *)): Likewise. |
| (ImportVisitor::visit (ClassDeclaration *)): Likewise. |
| |
| 2022-12-12 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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> |
| |
| * imports.cc (ImportVisitor::visit (OverloadSet *)): Remove "final" |
| and "override" from visitor method. |
| |
| 2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-11-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-08-19 Release Manager |
| |
| * GCC 12.2.0 released. |
| |
| 2022-08-16 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 2022-08-08 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/106555 |
| * d-target.cc (Target::isReturnOnStack): Check for return type size. |
| |
| 2022-07-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 76e3b41375. |
| * dmd/VERSION: Bump version to v2.100.1. |
| * decl.cc (DeclVisitor::visit (VarDeclaration *)): Evaluate RHS |
| of noreturn declaration expressions first. |
| * expr.cc (ExprVisitor::visit (AssignExp *)): Don't generate |
| assignment for noreturn types. |
| |
| 2022-07-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * typeinfo.cc (make_internal_typeinfo): Set TYPE_ARTIFICIAL. |
| |
| 2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-05-31 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd a53934d18. |
| * dmd/VERSION: Update version to v2.100.0. |
| * 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_post_options): Set flag_rtti and flag_exceptions if |
| -fno-druntime was seen on command-line. |
| (d_type_promotes_to): Use resolvedLinkage to get declaration linkage. |
| * decl.cc (make_thunk): Likewise. |
| * types.cc (layout_aggregate_members): Ignore anonymous fields in |
| total count. |
| |
| 2022-05-06 Release Manager |
| |
| * GCC 12.1.0 released. |
| |
| 2022-05-05 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 88de5e369. |
| |
| 2022-05-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 081d61e15. |
| * dmd/VERSION: Update version to v2.100.0-rc.1. |
| |
| 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. |