tree-optimization/110506 - bogus non-zero mask in CCP for vector types
[official-gcc.git] / gcc / d / ChangeLog
blob750b848c10fa062d3e9d94a03b5a933c181ec076
1 2023-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
3         PR d/110516
4         * intrinsics.cc (expand_volatile_load): Set TREE_SIDE_EFFECTS on the
5         expanded expression.
6         (expand_volatile_store): Likewise.
8 2023-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
10         PR d/110514
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>
18         PR d/110471
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>
25         PR d/106977
26         PR target/110406
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>
34         PR d/110193
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>
40         PR d/110359
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
80         interface.
81         * d-frontend.cc (getTypeInfoType): Likewise.
82         * d-lang.cc (d_handle_option): Remove handling of -fpreview=dip25 and
83         -frevert=dip25.
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
88         interface.
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
93         interface.
94         * lang.opt (fpreview=dip25): Remove.
95         (frevert=dip25): Remove.
96         * modules.cc (layout_moduleinfo_fields): Update for new front-end
97         interface.
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
104         interface.
106 2023-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
108         PR d/109144
109         * d-codegen.cc (build_frame_type): Set frame field and type alignment.
111 2023-03-14  Iain Buclaw  <ibuclaw@gdcproject.org>
113         PR d/109108
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
132         get_fndecl_result.
133         (start_function): Adjust to call get_fndecl_result.
135 2023-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
137         PR d/108763
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>
143         PR d/108946
144         * d-target.cc (Target::isVectorOpSupported): Allow identity ops.
145         * expr.cc (ExprVisitor::visit (IdentityExp *)): Handle vector identity
146         comparisons.
148 2023-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
150         PR d/108877
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>
158         PR d/108945
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
169         relate to.
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
184         arguments.
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.