]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/d/ChangeLog
[testsuite] restore default action from dfp.exp [PR120631]
[thirdparty/gcc.git] / gcc / d / ChangeLog
1 2025-04-29 Iain Buclaw <ibuclaw@gdcproject.org>
2
3 PR d/103044
4 * d-tree.h (build_clear_padding_call): New prototype.
5 * d-codegen.cc (build_clear_padding_call): New function.
6 (build_memset_call): Remove generated call to __builtin_memcpy.
7 (build_address): Replace generated call to __builtin_memset with
8 __builtin_clear_padding.
9 (build_array_from_exprs): Likewise.
10 * expr.cc (ExprVisitor::visit (AssignExp *)): Remove generated call to
11 __builtin_memset.
12 (ExprVisitor::visit (ArrayLiteralExp *)): Likewise. Insert call to
13 __builtin_clear_padding after copying array into GC memory.
14 (ExprVisitor::visit (StructLiteralExp *)): Remove generated call to
15 __builtin_memset.
16 * toir.cc (IRVisitor::visit (ReturnStatement *)): Likewise.
17
18 2025-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
19
20 * dmd/MERGE: Merge upstream dmd 956e73d64e.
21
22 2025-04-15 Iain Buclaw <ibuclaw@gdcproject.org>
23
24 PR d/119826
25 * types.cc (TypeVisitor::visit (TypeEnum *)): Propagate flags of main
26 enum types to all forward-referenced variants.
27
28 2025-04-15 Iain Buclaw <ibuclaw@gdcproject.org>
29
30 PR d/119799
31 * decl.cc (DeclVisitor::visit (VarDeclaration *)): Check front-end
32 type size before building the VAR_DECL. Allow C symbols to have a
33 size of `0'.
34
35 2025-04-15 Iain Buclaw <ibuclaw@gdcproject.org>
36
37 PR d/119817
38 * imports.cc (ImportVisitor::visit (OverloadSet *)): Don't push
39 NULL_TREE to vector of import symbols.
40
41 2025-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
42
43 PR d/109023
44 * d-compiler.cc: Include dmd/errors.h.
45 (Compiler::onImport): Implement.
46 * d-lang.cc (d_handle_option): Handle -finclude-imports.
47 (d_parse_file): Run semantic on included imports.
48 * gdc.texi: Document -finclude-imports.
49 * lang.opt: Add finclude-imports.
50 * lang.opt.urls: Regenerate.
51
52 2025-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
53
54 PR d/119758
55 * d-lang.cc (d_parse_file): Use endswith in test for -fonly= argument.
56 * d-spec.cc (lang_specific_driver): Rework -fonly= and pass all input
57 files to the front-end compiler when the option is seen.
58
59 2025-04-11 Iain Buclaw <ibuclaw@gdcproject.org>
60
61 * dmd/MERGE: Merge upstream dmd 1b34fea478.
62
63 2025-04-09 Iain Buclaw <ibuclaw@gdcproject.org>
64
65 PR d/118309
66 * modules.cc: Include debug.h
67 (d_finish_compilation): Call debug_hooks->type_decl on all TYPE_DECLs.
68 * types.cc: Remove toplev.h include.
69 (finish_aggregate_type): Don't call rest_of_type_compilation or
70 rest_of_decl_compilation on type.
71 (TypeVisitor::visit (TypeEnum *)): Likewise.
72
73 2025-04-09 Iain Buclaw <ibuclaw@gdcproject.org>
74
75 PR d/117832
76 * d-tree.h (build_padded_constructor): New prototype.
77 * d-codegen.cc (build_padded_constructor): New function.
78 (d_array_value): Call it.
79 (build_memset_call): Likewise.
80 (build_struct_literal): Likewise.
81 (underlying_complex_expr): Likewise.
82 (build_array_from_val): Likewise.
83 (build_array_from_exprs): Likewise.
84 (d_build_call): Likewise.
85 (get_frame_for_symbol): Likewise.
86 * d-convert.cc (convert_for_rvalue): Likewise.
87 (convert_for_assignment): Likewise.
88 * decl.cc (class DeclVisitor): Likewise.
89 * expr.cc (class ExprVisitor): Likewise.
90 * modules.cc (layout_moduleinfo): Likewise.
91 * typeinfo.cc (class TypeInfoVisitor): Likewise.
92
93 2025-04-08 Iain Buclaw <ibuclaw@gdcproject.org>
94
95 * dmd/MERGE: Merge upstream dmd 51816cd01d.
96
97 2025-04-06 Sandra Loosemore <sloosemore@baylibre.com>
98
99 * lang.opt.urls: Regenerate.
100
101 2025-04-02 Iain Buclaw <ibuclaw@gdcproject.org>
102
103 * dmd/MERGE: Merge upstream dmd ed17b3e95d.
104
105 2025-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
106
107 * dmd/MERGE: Merge upstream dmd c6863be720.
108 * dmd/VERSION: Bump version to v2.111.0.
109
110 2025-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
111
112 PR d/117002
113 * decl.cc (aggregate_initializer_decl): Set explicit decl alignment of
114 class instance.
115 * expr.cc (ExprVisitor::visit (NewExp *)): Likewise.
116 * types.cc (TypeVisitor::visit (TypeClass *)): Mark the record type of
117 classes as packed.
118
119 2025-03-30 Sandra Loosemore <sloosemore@baylibre.com>
120
121 * lang.opt.urls: Regenerate.
122
123 2025-03-26 Iain Buclaw <ibuclaw@gdcproject.org>
124
125 * dmd/MERGE: Merge upstream dmd 02a64d2e13.
126
127 2025-03-23 Iain Buclaw <ibuclaw@gdcproject.org>
128
129 PR d/117621
130 * types.cc (finish_aggregate_type): Propagate TYPE_PACKED to variants.
131
132 2025-03-22 Iain Buclaw <ibuclaw@gdcproject.org>
133
134 * dmd/MERGE: Merge upstream dmd 032e24446b.
135 * dmd/VERSION: Bump version to v2.111.0-rc.1.
136
137 2025-03-22 Iain Buclaw <ibuclaw@gdcproject.org>
138
139 * dmd/MERGE: Merge upstream dmd 9d2f034398.
140
141 2025-03-22 Iain Buclaw <ibuclaw@gdcproject.org>
142
143 * dmd/MERGE: Merge upstream dmd 94950cae58.
144 * d-lang.cc (d_handle_option): Add case for CppStdRevisionCpp23.
145 * gdc.texi: Document -fextern-std=c++23.
146 * lang.opt (fextern-std=): Add c++23.
147
148 2025-03-22 Iain Buclaw <ibuclaw@gdcproject.org>
149
150 * dmd/MERGE: Merge upstream dmd 8db14cf846.
151
152 2025-03-22 Iain Buclaw <ibuclaw@gdcproject.org>
153
154 * runtime.def (INVARIANT): Update signature of run-time function.
155
156 2025-03-20 Iain Buclaw <ibuclaw@gdcproject.org>
157
158 PR d/118545
159 * d-lang.cc (d_handle_option): Adjust quoted options.
160
161 2025-03-18 Iain Buclaw <ibuclaw@gdcproject.org>
162
163 * dmd/MERGE: Merge upstream dmd fde0f8c40a.
164
165 2025-03-18 Iain Buclaw <ibuclaw@gdcproject.org>
166
167 * dmd/MERGE: Merge upstream dmd 51be8bb729.
168
169 2025-03-16 Iain Buclaw <ibuclaw@gdcproject.org>
170
171 * dmd/MERGE: Merge upstream dmd 603225372b.
172 * dmd/VERSION: Bump version to v2.111.0-beta.1.
173 * d-builtins.cc (build_frontend_type): Update for new front-end
174 interface.
175 * decl.cc (Class DeclVisitor): Likewise.
176 (maybe_build_decl_tree): Likewise.
177 (get_vtable_decl): Likewise.
178 (layout_class_initializer): Likewise.
179 * expr.cc (class ExprVisitor): Likewise.
180 (ExprVisitor::visit (NewExp *)): Implement placement new for class,
181 struct, and pointer types.
182 * modules.cc (get_internal_fn): Update for new front-end interface.
183
184 2025-03-16 Iain Buclaw <ibuclaw@gdcproject.org>
185
186 * dmd/MERGE: Merge upstream dmd 53a1cc8d13.
187 * d-tree.h (create_typeinfo): Change second parameter to Scope *.
188 (speculative_type_p): Remove prototype.
189 * d-frontend.cc (getTypeInfoType): Adjust.
190 * decl.cc: Include dmd/typinf.h.
191 (DeclVisitor::visit (TypeInfoDeclaration *)): Update for new front-end
192 interface.
193 * typeinfo.cc (create_typeinfo): Likewise.
194 (class SpeculativeTypeVisitor): Remove class.
195 (speculative_type_p): Remove function.
196
197 2025-03-16 Iain Buclaw <ibuclaw@gdcproject.org>
198
199 * dmd/MERGE: Merge upstream dmd ffbad272b6.
200 * d-tree.h (make_location_t): Add overload taking a const SourceLoc &.
201 * d-codegen.cc (make_location_t): Likewise.
202 * d-diagnostic.cc (d_diagnostic_report_diagnostic): Change first
203 parameter type to const SourceLoc &.
204 (verrorReport): Update for new front-end interface.
205 (verrorReportSupplemental): Likewise.
206 * d-frontend.cc (eval_builtin): Likewise.
207 (getTypeInfoType): Likewise.
208 * d-lang.cc (d_parse_file): Likewise.
209 * d-target.cc (Target::va_listType): Likewise.
210 (Target::getTargetInfo): Likewise.
211 * decl.cc (build_decl_tree): Likewise.
212 * imports.cc (ImportVisitor::visit (Module *)): Likewise.
213 * modules.cc (get_internal_fn): Likewise.
214
215 2025-03-15 Iain Buclaw <ibuclaw@gdcproject.org>
216
217 * dmd/MERGE: Merge upstream dmd d29e3eca45.
218 * d-codegen.cc (can_elide_copy_p): Update for new front-end interface.
219 * d-lang.cc (d_handle_option): Likewise.
220 * expr.cc (class ExprVisitor): Likewise.
221
222 2025-03-15 Iain Buclaw <ibuclaw@gdcproject.org>
223
224 * dmd/MERGE: Merge upstream b7e3b3b617.
225
226 2025-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
227
228 PR d/119139
229 * decl.cc (get_symbol_decl): Don't set TREE_READONLY for __result
230 declarations.
231
232 2025-02-28 Iain Buclaw <ibuclaw@gdcproject.org>
233
234 PR d/116961
235 * d-codegen.cc (build_float_cst): Change new_value type from real_t to
236 real_value.
237 * d-ctfloat.cc (CTFloat::fabs): Default initialize the return value.
238 (CTFloat::ldexp): Likewise.
239 (CTFloat::parse): Likewise.
240 * d-longdouble.cc (longdouble::add): Likewise.
241 (longdouble::sub): Likewise.
242 (longdouble::mul): Likewise.
243 (longdouble::div): Likewise.
244 (longdouble::mod): Likewise.
245 (longdouble::neg): Likewise.
246 * d-port.cc (Port::isFloat32LiteralOutOfRange): Likewise.
247 (Port::isFloat64LiteralOutOfRange): Likewise.
248
249 2025-02-25 Iain Buclaw <ibuclaw@gdcproject.org>
250
251 PR d/118654
252 * implement-d.texi: Document CET version and traits key.
253
254 2025-02-25 Iain Buclaw <ibuclaw@gdcproject.org>
255
256 * Make-lang.in (check_gdc_parallelize): Increase to 128.
257
258 2025-01-29 Arsen Arsenović <arsen@aarsen.me>
259 Jakub Jelinek <jakub@redhat.com>
260
261 PR d/118477
262 * Make-lang.in (DCOMPILE, DPOSTCOMPILE): Use $(basename $(@F))
263 instead of $(*F).
264
265 2025-01-22 Arsen Arsenović <arsen@aarsen.me>
266
267 * lang-specs.h: Replace %{nostdinc*} with %{nostdinc}.
268
269 2025-01-20 Iain Buclaw <ibuclaw@gdcproject.org>
270
271 PR d/114434
272 * expr.cc (ExprVisitor::visit (PtrExp *)): Get the offset as a
273 dinteger_t rather than a size_t.
274 (ExprVisitor::visit (SymOffExp *)): Likewise.
275
276 2025-01-18 Iain Buclaw <ibuclaw@gdcproject.org>
277
278 * dmd/MERGE: Merge upstream dmd d115713410.
279
280 2025-01-16 Iain Buclaw <ibuclaw@gdcproject.org>
281
282 PR d/115249
283 * typeinfo.cc (create_tinfo_types): Update internal Typenfo
284 representation.
285 (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Likewise.
286
287 2025-01-14 Iain Buclaw <ibuclaw@gdcproject.org>
288
289 PR d/118438
290 PR d/118448
291 PR d/118449
292 * dmd/MERGE: Merge upstream dmd d6f693b46a.
293 * d-incpath.cc (add_import_paths): Update for new front-end interface.
294
295 2025-01-12 Iain Buclaw <ibuclaw@gdcproject.org>
296
297 * dmd/MERGE: Merge upstream dmd c7902293d7.
298 * dmd/VERSION: Bump version to v2.110.0-rc.1.
299
300 2025-01-12 Iain Buclaw <ibuclaw@gdcproject.org>
301
302 * dmd/MERGE: Merge upstream dmd c57da0cf59.
303 * d-codegen.cc (can_elide_copy_p): New.
304 (d_build_call): Use it.
305 * d-lang.cc (d_post_options): Update for new front-end interface.
306
307 2025-01-11 Iain Buclaw <ibuclaw@gdcproject.org>
308
309 * dmd/MERGE: Merge upstream dmd 82a5d2a7c4.
310 * d-lang.cc (d_handle_option): Handle new option `-fpreview=safer'.
311 * expr.cc (ExprVisitor::NewExp): Remove gcc_unreachable for the
312 generation of `_d_newThrowable'.
313 * lang.opt: Add -fpreview=safer.
314
315 2025-01-11 Iain Buclaw <ibuclaw@gdcproject.org>
316
317 * dmd/MERGE: Merge upstream dmd 2b89c2909d.
318 * Make-lang.in (D_FRONTEND_OBJS): Rename d/basicmangle.o to
319 d/mangle-basic.o, d/cppmangle.o to d/mangle-cpp.o, and d/dmangle.o to
320 d/mangle-package.o.
321 (d/mangle-%.o): New rule.
322 * d-builtins.cc (maybe_set_builtin_1): Update for new front-end
323 interface.
324 * d-diagnostic.cc (verrorReport): Likewise.
325 (verrorReportSupplemental): Likewise.
326 * d-frontend.cc (getTypeInfoType): Likewise.
327 * d-lang.cc (d_init_options): Likewise.
328 (d_handle_option): Likewise.
329 (d_post_options): Likewise.
330 * d-target.cc (TargetC::contributesToAggregateAlignment): New.
331 * d-tree.h (create_typeinfo): Adjust prototype.
332 * decl.cc (layout_struct_initializer): Update for new front-end
333 interface.
334 * typeinfo.cc (create_typeinfo): Remove generate parameter.
335 * types.cc (layout_aggregate_members): Update for new front-end
336 interface.
337
338 2025-01-10 Iain Buclaw <ibuclaw@gdcproject.org>
339
340 * dmd/MERGE: Merge upstream dmd 4ccb01fde5.
341 * Make-lang.in (D_FRONTEND_OBJS): Rename d/foreachvar.o to
342 d/visitor-foreachvar.o, d/visitor.o to d/visitor-package.o, and
343 d/statement_rewrite_walker.o to d/visitor-statement_rewrite_walker.o.
344 (D_FRONTEND_OBJS): Rename
345 d/{parsetime,permissive,postorder,transitive}visitor.o to
346 d/visitor-{parsetime,permissive,postorder,transitive}.o.
347 (D_FRONTEND_OBJS): Remove d/sapply.o.
348 (d.tags): Add dmd/common/*.h.
349 (d/visitor-%.o:): New rule.
350 * d-codegen.cc (get_frameinfo): Update for new front-end interface.
351
352 2025-01-10 Iain Buclaw <ibuclaw@gdcproject.org>
353
354 * dmd/MERGE: Merge upstream dmd 6884b433d2.
355 * d-builtins.cc (build_frontend_type): Update for new front-end
356 interface.
357 (d_build_builtins_module): Likewise.
358 (matches_builtin_type): Likewise.
359 (covariant_with_builtin_type_p): Likewise.
360 * d-codegen.cc (lower_struct_comparison): Likewise.
361 (call_side_effect_free_p): Likewise.
362 * d-compiler.cc (Compiler::paintAsType): Likewise.
363 * d-convert.cc (convert_expr): Likewise.
364 (convert_for_assignment): Likewise.
365 * d-target.cc (Target::isVectorTypeSupported): Likewise.
366 (Target::isVectorOpSupported): Likewise.
367 (Target::isReturnOnStack): Likewise.
368 * decl.cc (get_symbol_decl): Likewise.
369 * expr.cc (build_return_dtor): Likewise.
370 * imports.cc (class ImportVisitor): Likewise.
371 * toir.cc (class IRVisitor): Likewise.
372 * types.cc (class TypeVisitor): Likewise.
373
374 2025-01-10 Iain Buclaw <ibuclaw@gdcproject.org>
375
376 * dmd/MERGE: Merge upstream dmd 34875cd6e1.
377 * dmd/VERSION: Bump version to v2.110.0-beta.1.
378 * Make-lang.in (D_FRONTEND_OBJS): Add d/deps.o, d/timetrace.o.
379 * decl.cc (class DeclVisitor): Update for new front-end interface.
380 * expr.cc (class ExprVisitor): Likewise
381 * typeinfo.cc (check_typeinfo_type): Likewise.
382
383 2025-01-05 Iain Buclaw <ibuclaw@gdcproject.org>
384
385 * dmd/MERGE: Merge upstream dmd 66b93fc24a.
386 * dmd/VERSION: Bump version to v2.109.1.
387 * d-builtins.cc (build_frontend_type): Update for new front-end
388 interface.
389 (matches_builtin_type): Likewise.
390 * d-codegen.cc (identity_compare_p): Likewise.
391 (call_side_effect_free_p): Likewise.
392 * d-convert.cc (convert_expr): Likewise.
393 (check_valist_conversion): Likewise.
394 * d-lang.cc (d_types_compatible_p): Likewise.
395 * d-target.cc (Target::isVectorTypeSupported): Likewise.
396 (Target::isReturnOnStack): Likewise.
397 (Target::preferPassByRef): Likewise.
398 * decl.cc (class DeclVisitor): Likewise.
399 * expr.cc (class ExprVisitor): Likewise.
400 * typeinfo.cc (class TypeInfoVisitor): Likewise.
401 * types.cc (class TypeVisitor): Likewise.
402
403 2025-01-05 Iain Buclaw <ibuclaw@gdcproject.org>
404
405 * decl.cc (DeclVisitor::finish_vtable): Update for new front-end
406 interface.
407 * dmd/MERGE: Merge upstream dmd 07bc5b9b3c.
408 * dmd/VERSION: Bump version to v2.109.0.
409
410 2025-01-05 Iain Buclaw <ibuclaw@symmetryinvestments.com>
411
412 * Make-lang.in (D_FRONTEND_OBJS): Add d/attribsem.o,
413 d/common-charactertables.o, d/common-identifiertables.o.
414 * d-attribs.cc (apply_user_attributes): Update for new front-end
415 interface.
416 * d-builtins.cc (d_init_versions): Predefine CppRuntime_GNU.
417 * d-incpath.cc (add_globalpaths): Update for new front-end interface.
418 (add_filepaths): Likewise.
419 (add_import_paths): Likewise.
420 * d-lang.cc (d_post_options): Likewise.
421 * dmd/MERGE: Merge upstream dmd c11e1d1708.
422 * dmd/VERSION: Bump version to v2.108.1.
423
424 2025-01-02 Jakub Jelinek <jakub@redhat.com>
425
426 * gdc.texi: Bump @copyrights-d year.
427
428 \f
429 Copyright (C) 2025 Free Software Foundation, Inc.
430
431 Copying and distribution of this file, with or without modification,
432 are permitted in any medium without royalty provided the copyright
433 notice and this notice are preserved.