| 2023-12-16 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * d-attribs.cc (attr_target_exclusions): Make | |
| target/target_clones exclusion target-dependent. | |
| (attr_target_clones_exclusions): Ditto. | |
| 2023-12-11 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-12-05 Richard Sandiford <richard.sandiford@arm.com> | |
| * d-attribs.cc (d_langhook_common_attribute_table): Add extra braces | |
| to work around PR 16333 in older compilers. | |
| (d_langhook_gnu_attribute_table): Likewise. | |
| 2023-12-02 Richard Sandiford <richard.sandiford@arm.com> | |
| * d-tree.h (d_langhook_attribute_table): Replace with... | |
| (d_langhook_gnu_attribute_table): ...this. | |
| (d_langhook_common_attribute_table): Change type to | |
| scoped_attribute_specs. | |
| * d-attribs.cc (d_langhook_common_attribute_table): Change type to | |
| scoped_attribute_specs, using... | |
| (d_langhook_common_attributes): ...this as the underlying array. | |
| (d_langhook_attribute_table): Replace with... | |
| (d_langhook_gnu_attributes, d_langhook_gnu_attribute_table): ...these | |
| new globals. | |
| (uda_attribute_p): Update accordingly, and update for new | |
| targetm.attribute_table type. | |
| * d-lang.cc (d_langhook_attribute_table): New global. | |
| (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Delete. | |
| 2023-11-21 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-11-21 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 65a3da148c. | |
| 2023-11-02 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-10-31 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * expr.cc (ExprVisitor::visit (NewExp *)): Remove unused assignments. | |
| 2023-10-29 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/110712 | |
| * d-codegen.cc (d_build_call): Update call to convert_for_argument. | |
| * d-convert.cc (is_valist_parameter_type): New function. | |
| (check_valist_conversion): New function. | |
| (convert_for_assignment): Update signature. Add check whether | |
| assigning va_list is permissible. | |
| (convert_for_argument): Likewise. | |
| * d-tree.h (convert_for_assignment): Update signature. | |
| (convert_for_argument): Likewise. | |
| * expr.cc (ExprVisitor::visit (AssignExp *)): Update call to | |
| convert_for_assignment. | |
| 2023-10-29 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd e48bc0987d. | |
| * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end | |
| interface. | |
| * runtime.def (NEWARRAYT): Remove. | |
| (NEWARRAYIT): Remove. | |
| 2023-10-28 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/112270 | |
| * d-builtins.cc (d_build_d_type_nodes): Initialize d_bool_false_node, | |
| d_bool_true_node. | |
| * d-codegen.cc (build_array_struct_comparison): Use d_bool_false_node | |
| instead of boolean_false_node. | |
| * d-convert.cc (d_truthvalue_conversion): Use d_bool_false_node and | |
| d_bool_true_node instead of boolean_false_node and boolean_true_node. | |
| * d-tree.h (enum d_tree_index): Add DTI_BOOL_FALSE and DTI_BOOL_TRUE. | |
| (d_bool_false_node): New macro. | |
| (d_bool_true_node): New macro. | |
| * modules.cc (build_dso_cdtor_fn): Use d_bool_false_node and | |
| d_bool_true_node instead of boolean_false_node and boolean_true_node. | |
| (register_moduleinfo): Use d_bool_type instead of boolean_type_node. | |
| 2023-10-28 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-codegen.cc (call_side_effect_free_p): New function. | |
| * d-tree.h (CALL_EXPR_WARN_IF_UNUSED): New macro. | |
| (call_side_effect_free_p): New prototype. | |
| * expr.cc (ExprVisitor::visit (CallExp *)): Set | |
| CALL_EXPR_WARN_IF_UNUSED on matched call expressions. | |
| (ExprVisitor::visit (NewExp *)): Don't dereference the result of an | |
| allocation call here. | |
| * toir.cc (add_stmt): Emit warning when call expression added to | |
| statement list without being used. | |
| 2023-10-22 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd f4be7f6f7b. | |
| * Make-lang.in (D_FRONTEND_OBJS): Rename d/root-rootobject.o to | |
| d/rootobject.o. | |
| 2023-10-17 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-tree.h (intrinsic_code): Update define for DEF_D_INTRINSIC. | |
| (maybe_reject_intrinsic): New prototype. | |
| * expr.cc (ExprVisitor::visit (SymOffExp *)): Call | |
| maybe_reject_intrinsic. | |
| * intrinsics.cc (intrinsic_decl): Add fallback field. | |
| (intrinsic_decls): Update define for DEF_D_INTRINSIC. | |
| (maybe_reject_intrinsic): New function. | |
| * intrinsics.def (DEF_D_LIB_BUILTIN): Update. | |
| (DEF_CTFE_BUILTIN): Update. | |
| (INTRINSIC_BSF): Declare as library builtin. | |
| (INTRINSIC_BSR): Likewise. | |
| (INTRINSIC_BT): Likewise. | |
| (INTRINSIC_BSF64): Likewise. | |
| (INTRINSIC_BSR64): Likewise. | |
| (INTRINSIC_BT64): Likewise. | |
| (INTRINSIC_POPCNT32): Likewise. | |
| (INTRINSIC_POPCNT64): Likewise. | |
| (INTRINSIC_ROL): Likewise. | |
| (INTRINSIC_ROL_TIARG): Likewise. | |
| (INTRINSIC_ROR): Likewise. | |
| (INTRINSIC_ROR_TIARG): Likewise. | |
| (INTRINSIC_ADDS): Likewise. | |
| (INTRINSIC_ADDSL): Likewise. | |
| (INTRINSIC_ADDU): Likewise. | |
| (INTRINSIC_ADDUL): Likewise. | |
| (INTRINSIC_SUBS): Likewise. | |
| (INTRINSIC_SUBSL): Likewise. | |
| (INTRINSIC_SUBU): Likewise. | |
| (INTRINSIC_SUBUL): Likewise. | |
| (INTRINSIC_MULS): Likewise. | |
| (INTRINSIC_MULSL): Likewise. | |
| (INTRINSIC_MULU): Likewise. | |
| (INTRINSIC_MULUI): Likewise. | |
| (INTRINSIC_MULUL): Likewise. | |
| (INTRINSIC_NEGS): Likewise. | |
| (INTRINSIC_NEGSL): Likewise. | |
| (INTRINSIC_TOPRECF): Likewise. | |
| (INTRINSIC_TOPREC): Likewise. | |
| (INTRINSIC_TOPRECL): Likewise. | |
| 2023-10-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-10-15 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-10-14 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/111537 | |
| * expr.cc (ExprVisitor::visit (StringExp *)): Include null terminator | |
| in STRING_CST string. | |
| * modules.cc (get_compiler_dso_type): Generate ModuleInfo** type for | |
| the minfo fields. | |
| 2023-10-14 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-lang.cc (d_write_file): New function. | |
| (d_parse_file): Reduce code duplication. | |
| 2023-10-03 David Malcolm <dmalcolm@redhat.com> | |
| * d-diagnostic.cc (d_diagnostic_report_diagnostic): Use text_info | |
| ctor. | |
| 2023-09-23 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-08-20 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-07-10 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd a88e1335f7. | |
| * dmd/VERSION: Bump version to v2.104.1. | |
| 2023-07-10 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-07-09 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-07-07 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/108842 | |
| * decl.cc (DeclVisitor::visit (VarDeclaration *)): Only emit scalar | |
| manifest constants. | |
| (get_symbol_decl): Don't generate CONST_DECL for non-scalar manifest | |
| constants. | |
| * imports.cc (ImportVisitor::visit (VarDeclaration *)): New method. | |
| 2023-07-02 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/110516 | |
| * intrinsics.cc (expand_volatile_load): Set TREE_SIDE_EFFECTS on the | |
| expanded expression. | |
| (expand_volatile_store): Likewise. | |
| 2023-07-01 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/110514 | |
| * decl.cc (get_symbol_decl): Set TREE_READONLY on certain kinds of | |
| const and immutable variables. | |
| * expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Set TREE_READONLY | |
| on immutable dynamic array literals. | |
| 2023-07-01 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/110471 | |
| * d-builtins.cc (d_init_versions): Predefine D_ModuleInfo, | |
| D_Exceptions, and D_TypeInfo only if feature is enabled. | |
| * lang.opt: Add -fexceptions. | |
| 2023-06-28 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/106977 | |
| PR target/110406 | |
| * types.cc (finish_aggregate_mode): New function. | |
| (finish_incomplete_fields): Call finish_aggregate_mode. | |
| (finish_aggregate_type): Replace call to compute_record_mode with | |
| finish_aggregate_mode. | |
| 2023-06-28 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/110193 | |
| * types.cc (d_signed_or_unsigned_type): Handle being called with any | |
| vector or non-integral type. | |
| 2023-06-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/110359 | |
| * d-convert.cc (convert_for_rvalue): Only apply the @safe boolean | |
| conversion to boolean fields of a union. | |
| (convert_for_condition): Call convert_for_rvalue in the default case. | |
| 2023-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd a45f4e9f43. | |
| * dmd/VERSION: Bump version to v2.103.1. | |
| 2023-06-15 Marek Polacek <polacek@redhat.com> | |
| * Make-lang.in: Remove NO_PIE_CFLAGS. | |
| 2023-06-05 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * gdc.texi (Warnings): Document -Wextra and -Wmismatched-special-enum. | |
| * implement-d.texi (Special Enums): Add reference to warning option | |
| -Wmismatched-special-enum. | |
| * lang.opt: Add -Wextra and -Wmismatched-special-enum. | |
| * types.cc (TypeVisitor::visit (TypeEnum *)): Warn when declared | |
| special enum size mismatches its intrinsic type. | |
| 2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * d-codegen.cc (underlying_complex_expr): Use _P defines from tree.h. | |
| * d-convert.cc (convert): Ditto. | |
| (convert_for_rvalue): Ditto. | |
| 2023-03-17 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 5f7552bb28. | |
| * dmd/VERSION: Bump version to v2.103.0-rc.1. | |
| 2023-03-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 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> | |
| 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> | |
| * 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> | |
| * 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> | |
| PR d/108763 | |
| * implement-d.texi (Missing Features): Document that TypeInfo-based | |
| va_arg is not implemented. | |
| 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/108946 | |
| * d-target.cc (Target::isVectorOpSupported): Allow identity ops. | |
| * expr.cc (ExprVisitor::visit (IdentityExp *)): Handle vector identity | |
| comparisons. | |
| 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. | |
| 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/108945 | |
| * d-codegen.cc (build_boolop): Evaluate vector comparison as | |
| the truth_type_for vector type. | |
| 2023-02-23 Arsen Arsenović <arsen@aarsen.me> | |
| * implement-d.texi: Reorder index entries around @items. | |
| 2023-02-23 Arsen Arsenović <arsen@aarsen.me> | |
| * gdc.texi: Reorder @opindex commands to precede @items they | |
| relate to. | |
| 2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * 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. | |
| 2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-codegen.cc (d_build_call): Remove front-end expansion of | |
| side-effects in a call expression. | |
| * d-gimplify.cc (d_gimplify_call_expr): Gimplify the callee before its | |
| arguments. | |
| 2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set | |
| doing_semantic_analysis_p before calling functionSemantic3. | |
| 2023-01-02 Jakub Jelinek <jakub@redhat.com> | |
| * gdc.texi: Bump @copyrights-d year. | |
| 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 | |
| notice and this notice are preserved. |