Update ChangeLog and version files for release
[official-gcc.git] / gcc / d / ChangeLog
blob6949874a3b35805c61a10621df2ab0023d8f72d0
1 2024-05-21  Release Manager
3         * GCC 13.3.0 released.
5 2024-03-10  Iain Buclaw  <ibuclaw@gdcproject.org>
7         Backported from master:
8         2024-03-10  Iain Buclaw  <ibuclaw@gdcproject.org>
10         PR d/112285
11         PR d/112290
12         * d-target.cc (Target::preferPassByRef): Return true for all static
13         array and struct types.
15 2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
17         Backported from master:
18         2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
20         PR d/114171
21         * d-codegen.cc (lower_struct_comparison): Keep alignment of original
22         type in reinterpret cast for comparison.
24 2024-03-02  Iain Buclaw  <ibuclaw@gdcproject.org>
26         Backported from master:
27         2024-02-12  Iain Buclaw  <ibuclaw@gdcproject.org>
29         PR d/113758
30         * d-codegen.cc (d_build_call): Force a TARGET_EXPR when callee
31         destorys its arguments.
32         * decl.cc (DeclVisitor::visit (VarDeclaration *)): Set
33         SET_DECL_VALUE_EXPR on the temporary variable to make it a placeholder
34         for the TARGET_EXPR_SLOT.
36 2024-03-02  Iain Buclaw  <ibuclaw@gdcproject.org>
38         Backported from master:
39         2024-02-12  Iain Buclaw  <ibuclaw@gdcproject.org>
41         PR d/113125
42         * types.cc (TypeVisitor::visit (TypeStruct *)): Generate TYPE_DECL and
43         apply UDAs to opaque struct declarations.
45 2023-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
47         Backported from master:
48         2023-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
50         PR d/110712
51         * d-codegen.cc (d_build_call): Update call to convert_for_argument.
52         * d-convert.cc (is_valist_parameter_type): New function.
53         (check_valist_conversion): New function.
54         (convert_for_assignment): Update signature.  Add check whether
55         assigning va_list is permissible.
56         (convert_for_argument): Likewise.
57         * d-tree.h (convert_for_assignment): Update signature.
58         (convert_for_argument): Likewise.
59         * expr.cc (ExprVisitor::visit (AssignExp *)): Update call to
60         convert_for_assignment.
62 2023-10-28  Iain Buclaw  <ibuclaw@gdcproject.org>
64         Backported from master:
65         2023-10-28  Iain Buclaw  <ibuclaw@gdcproject.org>
67         PR d/112270
68         * d-builtins.cc (d_build_d_type_nodes): Initialize d_bool_false_node,
69         d_bool_true_node.
70         * d-codegen.cc (build_array_struct_comparison): Use d_bool_false_node
71         instead of boolean_false_node.
72         * d-convert.cc (d_truthvalue_conversion): Use d_bool_false_node and
73         d_bool_true_node instead of boolean_false_node and boolean_true_node.
74         * d-tree.h (enum d_tree_index): Add DTI_BOOL_FALSE and DTI_BOOL_TRUE.
75         (d_bool_false_node): New macro.
76         (d_bool_true_node): New macro.
77         * modules.cc (build_dso_cdtor_fn): Use d_bool_false_node and
78         d_bool_true_node instead of boolean_false_node and boolean_true_node.
79         (register_moduleinfo): Use d_bool_type instead of boolean_type_node.
81 2023-07-27  Release Manager
83         * GCC 13.2.0 released.
85 2023-07-07  Iain Buclaw  <ibuclaw@gdcproject.org>
87         Backported from master:
88         2023-07-07  Iain Buclaw  <ibuclaw@gdcproject.org>
90         PR d/108842
91         * decl.cc (DeclVisitor::visit (VarDeclaration *)): Only emit scalar
92         manifest constants.
93         (get_symbol_decl): Don't generate CONST_DECL for non-scalar manifest
94         constants.
95         * imports.cc (ImportVisitor::visit (VarDeclaration *)): New method.
97 2023-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
99         Backported from master:
100         2023-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
102         PR d/110516
103         * intrinsics.cc (expand_volatile_load): Set TREE_SIDE_EFFECTS on the
104         expanded expression.
105         (expand_volatile_store): Likewise.
107 2023-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
109         Backported from master:
110         2023-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
112         PR d/110514
113         * decl.cc (get_symbol_decl): Set TREE_READONLY on certain kinds of
114         const and immutable variables.
115         * expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Set TREE_READONLY
116         on immutable dynamic array literals.
118 2023-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
120         Backported from master:
121         2023-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
123         PR d/110471
124         * d-builtins.cc (d_init_versions): Predefine D_ModuleInfo,
125         D_Exceptions, and D_TypeInfo only if feature is enabled.
126         * lang.opt: Add -fexceptions.
128 2023-06-28  Iain Buclaw  <ibuclaw@gdcproject.org>
130         Backported from master:
131         2023-06-28  Iain Buclaw  <ibuclaw@gdcproject.org>
133         PR d/106977
134         PR target/110406
135         * types.cc (finish_aggregate_mode): New function.
136         (finish_incomplete_fields): Call finish_aggregate_mode.
137         (finish_aggregate_type): Replace call to compute_record_mode with
138         finish_aggregate_mode.
140 2023-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
142         Backported from master:
143         2023-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
145         PR d/110359
146         * d-convert.cc (convert_for_rvalue): Only apply the @safe boolean
147         conversion to boolean fields of a union.
148         (convert_for_condition): Call convert_for_rvalue in the default case.
150 2023-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
152         PR d/110113
153         * dmd/escape.d (checkMutableArguments): Always allocate new buffer for
154         computing escapeBy.
156 2023-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
158         Backported from master:
159         2023-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
161         * dmd/MERGE: Merge upstream dmd a45f4e9f43.
162         * dmd/VERSION: Bump version to v2.103.1.
164 2023-06-05  Iain Buclaw  <ibuclaw@gdcproject.org>
166         Backported from master:
167         2023-06-05  Iain Buclaw  <ibuclaw@gdcproject.org>
169         * gdc.texi (Warnings): Document -Wextra and -Wmismatched-special-enum.
170         * implement-d.texi (Special Enums): Add reference to warning option
171         -Wmismatched-special-enum.
172         * lang.opt: Add -Wextra and -Wmismatched-special-enum.
173         * types.cc (TypeVisitor::visit (TypeEnum *)): Warn when declared
174         special enum size mismatches its intrinsic type.
176 2023-04-26  Release Manager
178         * GCC 13.1.0 released.
180 2023-03-17  Iain Buclaw  <ibuclaw@gdcproject.org>
182         * dmd/MERGE: Merge upstream dmd 5f7552bb28.
183         * dmd/VERSION: Bump version to v2.103.0-rc.1.
185 2023-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
187         * dmd/MERGE: Merge upstream dmd 4ca4140e58.
188         * dmd/VERSION: Bump version to v2.103.0-beta.1.
189         * Make-lang.in (D_FRONTEND_OBJS): Add d/errorsink.o.
190         * d-ctfloat.cc (CTFloat::sprint): Update signature for new front-end
191         interface.
192         * d-frontend.cc (getTypeInfoType): Likewise.
193         * d-lang.cc (d_handle_option): Remove handling of -fpreview=dip25 and
194         -frevert=dip25.
195         (d_post_options): Remove enabling of sealed references language
196         feature when scoped pointers is enabled.
197         * d-tree.h (create_typeinfo): Update signature.
198         * decl.cc (DeclVisitor::finish_vtable): Update for new front-end
199         interface.
200         (DeclVisitor::visit (VarDeclaration *)): Likewise.
201         (DeclVisitor::visit (FuncDeclaration *)): Check skipCodegen to see if
202         front-end explicitly requested not to generate code.
203         * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end
204         interface.
205         * lang.opt (fpreview=dip25): Remove.
206         (frevert=dip25): Remove.
207         * modules.cc (layout_moduleinfo_fields): Update for new front-end
208         interface.
209         (layout_moduleinfo): Likewise.
210         * runtime.def (NEWCLASS): Remove.
211         * toir.cc (IRVisitor::visit (IfStatement *)): Don't generate IR for if
212         statement list when condition is `__ctfe'.
213         * typeinfo.cc (create_typeinfo): Add generate parameter.
214         * types.cc (layout_aggregate_members): Update for new front-end
215         interface.
217 2023-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
219         PR d/109144
220         * d-codegen.cc (build_frame_type): Set frame field and type alignment.
222 2023-03-14  Iain Buclaw  <ibuclaw@gdcproject.org>
224         PR d/109108
225         * decl.cc (function_defined_in_root_p): Remove.
226         (get_symbol_decl): Set DECL_LAMBDA_FUNCTION_P on function literals.
227         (start_function): Unconditionally unset DECL_EXTERNAL
228         (set_linkage_for_decl): Give lambda functions one-only linkage.
230 2023-03-13  Iain Buclaw  <ibuclaw@gdcproject.org>
232         * decl.cc (finish_thunk): Unset DECL_EXTERNAL on thunk.
233         (make_thunk): Set DECL_EXTERNAL on thunk, don't call build_decl_tree.
234         (finish_function): Call finish_thunk on forward referenced thunks.
236 2023-03-13  Iain Buclaw  <ibuclaw@gdcproject.org>
238         * decl.cc (get_fndecl_result): New function.
239         (get_fndecl_arguments): New function.
240         (DeclVisitor::visit (FuncDeclaration *)): Adjust to call
241         get_fndecl_arguments.
242         (make_thunk): Adjust to call get_fndecl_arguments and
243         get_fndecl_result.
244         (start_function): Adjust to call get_fndecl_result.
246 2023-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
248         PR d/108763
249         * implement-d.texi (Missing Features): Document that TypeInfo-based
250         va_arg is not implemented.
252 2023-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
254         PR d/108946
255         * d-target.cc (Target::isVectorOpSupported): Allow identity ops.
256         * expr.cc (ExprVisitor::visit (IdentityExp *)): Handle vector identity
257         comparisons.
259 2023-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
261         PR d/108877
262         * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call
263         make_import on TYPE_MAIN_VARIANT.
264         (ImportVisitor::visit (AggregateDeclaration *)): Likewise.
265         (ImportVisitor::visit (ClassDeclaration *)): Likewise.
267 2023-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
269         PR d/108945
270         * d-codegen.cc (build_boolop): Evaluate vector comparison as
271         the truth_type_for vector type.
273 2023-02-23  Arsen Arsenović  <arsen@aarsen.me>
275         * implement-d.texi: Reorder index entries around @items.
277 2023-02-23  Arsen Arsenović  <arsen@aarsen.me>
279         * gdc.texi: Reorder @opindex commands to precede @items they
280         relate to.
282 2023-02-21  Iain Buclaw  <ibuclaw@gdcproject.org>
284         * Make-lang.in (D_FRONTEND_OBJS): Add d/location.o.
285         * d-lang.cc (d_init_options): Update for new front-end interface.
286         (d_post_options): Call Loc::set after handling options.
287         * dmd/MERGE: Merge upstream dmd 09faa4eacd.
288         * dmd/VERSION: Bump version to v2.102.0-beta.1.
290 2023-02-21  Iain Buclaw  <ibuclaw@gdcproject.org>
292         * d-codegen.cc (d_build_call): Remove front-end expansion of
293         side-effects in a call expression.
294         * d-gimplify.cc (d_gimplify_call_expr): Gimplify the callee before its
295         arguments.
297 2023-02-21  Iain Buclaw  <ibuclaw@gdcproject.org>
299         * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set
300         doing_semantic_analysis_p before calling functionSemantic3.
302 2023-01-02  Jakub Jelinek  <jakub@redhat.com>
304         * gdc.texi: Bump @copyrights-d year.
307 Copyright (C) 2023 Free Software Foundation, Inc.
309 Copying and distribution of this file, with or without modification,
310 are permitted in any medium without royalty provided the copyright
311 notice and this notice are preserved.