1 2023-07-02 Iain Buclaw <ibuclaw@gdcproject.org>
4 * intrinsics.cc (expand_volatile_load): Set TREE_SIDE_EFFECTS on the
6 (expand_volatile_store): Likewise.
8 2023-07-01 Iain Buclaw <ibuclaw@gdcproject.org>
11 * decl.cc (get_symbol_decl): Set TREE_READONLY on certain kinds of
12 const and immutable variables.
13 * expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Set TREE_READONLY
14 on immutable dynamic array literals.
16 2023-07-01 Iain Buclaw <ibuclaw@gdcproject.org>
19 * d-builtins.cc (d_init_versions): Predefine D_ModuleInfo,
20 D_Exceptions, and D_TypeInfo only if feature is enabled.
21 * lang.opt: Add -fexceptions.
23 2023-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
27 * types.cc (finish_aggregate_mode): New function.
28 (finish_incomplete_fields): Call finish_aggregate_mode.
29 (finish_aggregate_type): Replace call to compute_record_mode with
30 finish_aggregate_mode.
32 2023-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
35 * types.cc (d_signed_or_unsigned_type): Handle being called with any
36 vector or non-integral type.
38 2023-06-26 Iain Buclaw <ibuclaw@gdcproject.org>
41 * d-convert.cc (convert_for_rvalue): Only apply the @safe boolean
42 conversion to boolean fields of a union.
43 (convert_for_condition): Call convert_for_rvalue in the default case.
45 2023-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
47 * dmd/MERGE: Merge upstream dmd a45f4e9f43.
48 * dmd/VERSION: Bump version to v2.103.1.
50 2023-06-15 Marek Polacek <polacek@redhat.com>
52 * Make-lang.in: Remove NO_PIE_CFLAGS.
54 2023-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
56 * gdc.texi (Warnings): Document -Wextra and -Wmismatched-special-enum.
57 * implement-d.texi (Special Enums): Add reference to warning option
58 -Wmismatched-special-enum.
59 * lang.opt: Add -Wextra and -Wmismatched-special-enum.
60 * types.cc (TypeVisitor::visit (TypeEnum *)): Warn when declared
61 special enum size mismatches its intrinsic type.
63 2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
65 * d-codegen.cc (underlying_complex_expr): Use _P defines from tree.h.
66 * d-convert.cc (convert): Ditto.
67 (convert_for_rvalue): Ditto.
69 2023-03-17 Iain Buclaw <ibuclaw@gdcproject.org>
71 * dmd/MERGE: Merge upstream dmd 5f7552bb28.
72 * dmd/VERSION: Bump version to v2.103.0-rc.1.
74 2023-03-16 Iain Buclaw <ibuclaw@gdcproject.org>
76 * dmd/MERGE: Merge upstream dmd 4ca4140e58.
77 * dmd/VERSION: Bump version to v2.103.0-beta.1.
78 * Make-lang.in (D_FRONTEND_OBJS): Add d/errorsink.o.
79 * d-ctfloat.cc (CTFloat::sprint): Update signature for new front-end
81 * d-frontend.cc (getTypeInfoType): Likewise.
82 * d-lang.cc (d_handle_option): Remove handling of -fpreview=dip25 and
84 (d_post_options): Remove enabling of sealed references language
85 feature when scoped pointers is enabled.
86 * d-tree.h (create_typeinfo): Update signature.
87 * decl.cc (DeclVisitor::finish_vtable): Update for new front-end
89 (DeclVisitor::visit (VarDeclaration *)): Likewise.
90 (DeclVisitor::visit (FuncDeclaration *)): Check skipCodegen to see if
91 front-end explicitly requested not to generate code.
92 * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end
94 * lang.opt (fpreview=dip25): Remove.
95 (frevert=dip25): Remove.
96 * modules.cc (layout_moduleinfo_fields): Update for new front-end
98 (layout_moduleinfo): Likewise.
99 * runtime.def (NEWCLASS): Remove.
100 * toir.cc (IRVisitor::visit (IfStatement *)): Don't generate IR for if
101 statement list when condition is `__ctfe'.
102 * typeinfo.cc (create_typeinfo): Add generate parameter.
103 * types.cc (layout_aggregate_members): Update for new front-end
106 2023-03-16 Iain Buclaw <ibuclaw@gdcproject.org>
109 * d-codegen.cc (build_frame_type): Set frame field and type alignment.
111 2023-03-14 Iain Buclaw <ibuclaw@gdcproject.org>
114 * decl.cc (function_defined_in_root_p): Remove.
115 (get_symbol_decl): Set DECL_LAMBDA_FUNCTION_P on function literals.
116 (start_function): Unconditionally unset DECL_EXTERNAL
117 (set_linkage_for_decl): Give lambda functions one-only linkage.
119 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
121 * decl.cc (finish_thunk): Unset DECL_EXTERNAL on thunk.
122 (make_thunk): Set DECL_EXTERNAL on thunk, don't call build_decl_tree.
123 (finish_function): Call finish_thunk on forward referenced thunks.
125 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
127 * decl.cc (get_fndecl_result): New function.
128 (get_fndecl_arguments): New function.
129 (DeclVisitor::visit (FuncDeclaration *)): Adjust to call
130 get_fndecl_arguments.
131 (make_thunk): Adjust to call get_fndecl_arguments and
133 (start_function): Adjust to call get_fndecl_result.
135 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org>
138 * implement-d.texi (Missing Features): Document that TypeInfo-based
139 va_arg is not implemented.
141 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org>
144 * d-target.cc (Target::isVectorOpSupported): Allow identity ops.
145 * expr.cc (ExprVisitor::visit (IdentityExp *)): Handle vector identity
148 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org>
151 * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call
152 make_import on TYPE_MAIN_VARIANT.
153 (ImportVisitor::visit (AggregateDeclaration *)): Likewise.
154 (ImportVisitor::visit (ClassDeclaration *)): Likewise.
156 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org>
159 * d-codegen.cc (build_boolop): Evaluate vector comparison as
160 the truth_type_for vector type.
162 2023-02-23 Arsen Arsenović <arsen@aarsen.me>
164 * implement-d.texi: Reorder index entries around @items.
166 2023-02-23 Arsen Arsenović <arsen@aarsen.me>
168 * gdc.texi: Reorder @opindex commands to precede @items they
171 2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org>
173 * Make-lang.in (D_FRONTEND_OBJS): Add d/location.o.
174 * d-lang.cc (d_init_options): Update for new front-end interface.
175 (d_post_options): Call Loc::set after handling options.
176 * dmd/MERGE: Merge upstream dmd 09faa4eacd.
177 * dmd/VERSION: Bump version to v2.102.0-beta.1.
179 2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org>
181 * d-codegen.cc (d_build_call): Remove front-end expansion of
182 side-effects in a call expression.
183 * d-gimplify.cc (d_gimplify_call_expr): Gimplify the callee before its
186 2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org>
188 * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set
189 doing_semantic_analysis_p before calling functionSemantic3.
191 2023-01-02 Jakub Jelinek <jakub@redhat.com>
193 * gdc.texi: Bump @copyrights-d year.
196 Copyright (C) 2023 Free Software Foundation, Inc.
198 Copying and distribution of this file, with or without modification,
199 are permitted in any medium without royalty provided the copyright
200 notice and this notice are preserved.