]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/d/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / d / ChangeLog
CommitLineData
83d400bd
GA
12022-11-14 Martin Liska <mliska@suse.cz>
2
3 Revert:
4 2022-11-14 Martin Liska <mliska@suse.cz>
5
6 * doc/conf.py: New file.
7 * doc/copyright.rst: New file.
8 * doc/general-public-license-3.rst: New file.
9 * doc/gnu-free-documentation-license.rst: New file.
10 * doc/index.rst: New file.
11 * doc/indices-and-tables.rst: New file.
12 * doc/invoking-gdc.rst: New file.
13 * doc/invoking-gdc/code-generation.rst: New file.
14 * doc/invoking-gdc/developer-options.rst: New file.
15 * doc/invoking-gdc/input-and-output-files.rst: New file.
16 * doc/invoking-gdc/options-for-directory-search.rst: New file.
17 * doc/invoking-gdc/options-for-linking.rst: New file.
18 * doc/invoking-gdc/runtime-options.rst: New file.
19 * doc/invoking-gdc/warnings.rst: New file.
20
212022-11-14 Martin Liska <mliska@suse.cz>
22
23 Revert:
24 2022-11-14 Martin Liska <mliska@suse.cz>
25
26 * d-target.def: Port to RST.
27
282022-11-14 Martin Liska <mliska@suse.cz>
29
30 Revert:
31 2022-11-14 Martin Liska <mliska@suse.cz>
32
33 * Make-lang.in: Support Sphinx based documentation.
34
352022-11-14 Martin Liska <mliska@suse.cz>
36
37 Revert:
38 2022-11-09 Martin Liska <mliska@suse.cz>
39
40 * gdc.texi: Removed.
41
422022-11-14 Martin Liska <mliska@suse.cz>
43
44 Revert:
45 2022-11-14 Martin Liska <mliska@suse.cz>
46
47 * Make-lang.in: Support --with-sphinx-build.
48
492022-11-14 Martin Liska <mliska@suse.cz>
50
51 Revert:
52 2022-11-14 Martin Liska <mliska@suse.cz>
53
54 * Make-lang.in:
55 Support installation if sphinx-build is missing.
56
572022-11-14 Martin Liska <mliska@suse.cz>
58
59 Revert:
60 2022-11-14 Martin Liska <mliska@suse.cz>
61
62 * doc/copyright.rst:
63 Add trailing newline.
64 * doc/general-public-license-3.rst:
65 Add trailing newline.
66 * doc/gnu-free-documentation-license.rst:
67 Add trailing newline.
68 * doc/index.rst:
69 Add trailing newline.
70 * doc/indices-and-tables.rst:
71 Add trailing newline.
72 * doc/invoking-gdc.rst:
73 Add trailing newline.
74 * doc/invoking-gdc/code-generation.rst:
75 Add trailing newline.
76 * doc/invoking-gdc/developer-options.rst:
77 Add trailing newline.
78 * doc/invoking-gdc/input-and-output-files.rst:
79 Add trailing newline.
80 * doc/invoking-gdc/options-for-directory-search.rst:
81 Add trailing newline.
82 * doc/invoking-gdc/options-for-linking.rst:
83 Add trailing newline.
84 * doc/invoking-gdc/runtime-options.rst:
85 Add trailing newline.
86 * doc/invoking-gdc/warnings.rst:
87 Add trailing newline.
88
892022-11-14 Martin Liska <mliska@suse.cz>
90
91 Revert:
92 2022-11-10 Martin Liska <mliska@suse.cz>
93
94 * doc/conf.py: Add newline at last line.
95
f225b813
GA
962022-11-10 Martin Liska <mliska@suse.cz>
97
98 * doc/conf.py: Add newline at last line.
99
1cdfd0e5
GA
1002022-11-09 Martin Liska <mliska@suse.cz>
101
102 * doc/copyright.rst:
103 Add trailing newline.
104 * doc/general-public-license-3.rst:
105 Add trailing newline.
106 * doc/gnu-free-documentation-license.rst:
107 Add trailing newline.
108 * doc/index.rst:
109 Add trailing newline.
110 * doc/indices-and-tables.rst:
111 Add trailing newline.
112 * doc/invoking-gdc.rst:
113 Add trailing newline.
114 * doc/invoking-gdc/code-generation.rst:
115 Add trailing newline.
116 * doc/invoking-gdc/developer-options.rst:
117 Add trailing newline.
118 * doc/invoking-gdc/input-and-output-files.rst:
119 Add trailing newline.
120 * doc/invoking-gdc/options-for-directory-search.rst:
121 Add trailing newline.
122 * doc/invoking-gdc/options-for-linking.rst:
123 Add trailing newline.
124 * doc/invoking-gdc/runtime-options.rst:
125 Add trailing newline.
126 * doc/invoking-gdc/warnings.rst:
127 Add trailing newline.
128
1292022-11-09 Martin Liska <mliska@suse.cz>
130
131 * Make-lang.in:
132 Support installation if sphinx-build is missing.
133
1342022-11-09 Martin Liska <mliska@suse.cz>
135
136 * Make-lang.in: Support --with-sphinx-build.
137
1382022-11-09 Martin Liska <mliska@suse.cz>
139
140 * gdc.texi: Removed.
141
1422022-11-09 Martin Liska <mliska@suse.cz>
143
144 * Make-lang.in: Support Sphinx based documentation.
145
1462022-11-09 Martin Liska <mliska@suse.cz>
147
148 * d-target.def: Port to RST.
149
1502022-11-09 Martin Liska <mliska@suse.cz>
151
152 * doc/conf.py: New file.
153 * doc/copyright.rst: New file.
154 * doc/general-public-license-3.rst: New file.
155 * doc/gnu-free-documentation-license.rst: New file.
156 * doc/index.rst: New file.
157 * doc/indices-and-tables.rst: New file.
158 * doc/invoking-gdc.rst: New file.
159 * doc/invoking-gdc/code-generation.rst: New file.
160 * doc/invoking-gdc/developer-options.rst: New file.
161 * doc/invoking-gdc/input-and-output-files.rst: New file.
162 * doc/invoking-gdc/options-for-directory-search.rst: New file.
163 * doc/invoking-gdc/options-for-linking.rst: New file.
164 * doc/invoking-gdc/runtime-options.rst: New file.
165 * doc/invoking-gdc/warnings.rst: New file.
166
05788e9b
GA
1672022-11-05 Iain Buclaw <ibuclaw@gdcproject.org>
168
169 * d-target.cc (Target::isVectorOpSupported): Remove cases for
170 comparison operators.
171 * intrinsics.cc (maybe_set_intrinsic): Remove cases for vector
172 comparison intrinsics.
173 (maybe_warn_intrinsic_mismatch): Likewise.
174 (expand_intrinsic_vec_cond): Remove.
175 (maybe_expand_intrinsic): Remove cases for vector comparison
176 intrinsics.
177 * intrinsics.def (INTRINSIC_EQUALMASK): Remove.
178 (INTRINSIC_NOTEQUALMASK): Remove.
179 (INTRINSIC_GREATERMASK): Remove.
180 (INTRINSIC_GREATEREQUALMASK): Remove.
181
f36bba01
GA
1822022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
183
184 * d-attribs.cc (apply_user_attributes): Update for new front-end
185 interface.
186 * d-builtins.cc (d_init_versions): Predefine `D_Optimized' with
187 compiling with optimizations enabled.
188 * d-lang.cc (d_handle_option): Update for new front-end interface.
189 Handle new option `-fpreview=systemvariables'.
190 * dmd/MERGE: Merge upstream dmd e4f8919591.
191 * dmd/VERSION: Bump version to v2.101.0-beta.1.
192 * expr.cc (ExprVisitor::visit (AssignExp *)): Treat construction of
193 static arrays from a call expression as a simple assignment.
194 (ExprVisitor::visit (ArrayLiteralExp *)): Handle array literals with
195 `scope' storage.
196 * gdc.texi: Update documentation of `-fpreview=' options.
197 * lang.opt (fpreview=shortenedmethods): Remove.
198 (fpreview=systemvariables): New option.
199
2002022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
201
202 * d-target.def (d_minfo_section): Expand documentation of hook.
203 Default initialize to "minfo".
204 (d_minfo_start_name): Rename to ...
205 (d_minfo_section_start): ... this. Default initialize to
206 "__start_minfo".
207 (d_minfo_end_name): Rename to ...
208 (d_minfo_section_end): ... this. Default initialize to "__stop_minfo".
209 * modules.cc (register_moduleinfo): Use new targetdm hook names.
210
1f16a020
GA
2112022-09-27 Iain Buclaw <ibuclaw@gdcproject.org>
212
213 * dmd/MERGE: Merge upstream dmd d579c467c1.
214 * decl.cc (layout_struct_initializer): Update for new front-end
215 interface.
216 * expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array
217 assignments.
218 (ExprVisitor::visit (NewExp *)): Add new lowering of new'ing
219 associative arrays to an _aaNew() library call.
220 * runtime.def (ARRAYSETASSIGN): Remove.
221 (AANEW): Define.
222
d0fc05e8
GA
2232022-09-15 Richard Biener <rguenther@suse.de>
224
225 * d-builtins.cc (d_build_c_type_nodes): Do not initialize
226 void_list_node.
227
6b226ef7
GA
2282022-08-27 Iain Buclaw <ibuclaw@gdcproject.org>
229
230 * dmd/MERGE: Merge upstream dmd 817610b16d.
231 * d-ctfloat.cc (CTFloat::parse): Update for new front-end interface.
232 * d-lang.cc (d_parse_file): Likewise.
233 * expr.cc (ExprVisitor::visit (AssignExp *)): Remove handling of array
234 assignments to non-trivial static and dynamic arrays.
235 * runtime.def (ARRAYASSIGN): Remove.
236 (ARRAYASSIGN_L): Remove.
237 (ARRAYASSIGN_R): Remove.
238
47a61e65
GA
2392022-08-16 Iain Buclaw <ibuclaw@gdcproject.org>
240
241 PR d/106638
242 * gdc.texi: Update DIP links to point at upstream dlang/DIPs
243 repository.
244
ec63a946
GA
2452022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
246
247 * d-tree.h (d_defer_declaration): Declare.
248 * decl.cc (function_needs_inline_definition_p): Defer checking
249 DECL_UNINLINABLE and DECL_DECLARED_INLINE_P.
250 (maybe_build_decl_tree): Call d_defer_declaration instead of
251 build_decl_tree.
252 * modules.cc (deferred_inline_declarations): New variable.
253 (build_module_tree): Set deferred_inline_declarations and a handle
254 declarations pushed to it.
255 (d_defer_declaration): New function.
256
2572022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
258
259 PR d/106623
260 * d-codegen.cc (underlying_complex_expr): New function.
261 (d_build_call): Handle passing native complex objects as the
262 library-defined equivalent.
263 * d-tree.h (underlying_complex_expr): Declare.
264 * expr.cc (ExprVisitor::visit (DotVarExp *)): Call
265 underlying_complex_expr instead of build_vconvert.
266
2672022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
268
269 * d-compiler.cc (Compiler::onParseModule): Call create_tinfo_types
270 when module name is object.
271 * typeinfo.cc (create_tinfo_types): Add guard for multiple
272 invocations.
273
2742022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
275
276 * d-codegen.cc (build_delegate_cst): Give anonymous delegate field
277 names same as per ABI spec.
278
6d001ec1
GA
2792022-08-09 Iain Buclaw <ibuclaw@gdcproject.org>
280
281 PR d/106563
282 * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set semanticRun
283 before generating its symbol.
284 (function_defined_in_root_p): New function.
285 (function_needs_inline_definition_p): New function.
286 (maybe_build_decl_tree): New function.
287 (get_symbol_decl): Call maybe_build_decl_tree before returning symbol.
288 (start_function): Use function_defined_in_root_p instead of inline
289 test for locally defined symbols.
290 (set_linkage_for_decl): Check for inline functions before private or
291 protected symbols.
292
5f17badb
GA
2932022-08-08 Iain Buclaw <ibuclaw@gdcproject.org>
294
295 PR d/106555
296 * d-target.cc (Target::isReturnOnStack): Check for return type size.
297
4c23b534
GA
2982022-08-03 Iain Buclaw <ibuclaw@gdcproject.org>
299
300 * dmd/MERGE: Merge upstream dmd d7772a2369.
301 * dmd/VERSION: Bump version to v2.100.1.
302 * d-codegen.cc (get_frameinfo): Check whether decision to generate
303 closure changed since semantic finished.
304 * d-lang.cc (d_handle_option): Remove handling of -fdebug=level and
305 -fversion=level.
306 * decl.cc (DeclVisitor::visit (VarDeclaration *)): Generate evaluation
307 of noreturn variable initializers before throw.
308 * expr.cc (ExprVisitor::visit (AssignExp *)): Don't generate
309 assignment for noreturn types, only evaluate for side effects.
310 * lang.opt (fdebug=): Undocument -fdebug=level.
311 (fversion=): Undocument -fversion=level.
312
4bc92c3b
GA
3132022-07-06 Iain Buclaw <ibuclaw@gdcproject.org>
314
315 * dmd/MERGE: Merge upstream dmd 56589f0f4.
316
3172022-07-06 Iain Buclaw <ibuclaw@gdcproject.org>
318
319 * Make-lang.in (NOEXCEPTION_DFLAGS): Define.
320 (ALL_DFLAGS): Add NO_EXCEPTION_DFLAGS.
321
ce600bc4
GA
3222022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
323
324 PR d/106139
325 * d-convert.cc (convert_expr): Handle casting from array to vector.
326 (convert_for_rvalue): Rewrite vector to array casts of the same
327 element type into a constructor.
328 (convert_for_assignment): Return calling convert_for_rvalue.
329 * expr.cc (ExprVisitor::visit (VectorExp *)): Handle generating a
330 vector expression from a static array.
331 * toir.cc (IRVisitor::visit (ReturnStatement *)): Call
332 convert_for_rvalue on return value.
333
3342022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
335
336 * intrinsics.cc (build_shuffle_mask_type): Use to_constant when
337 getting the number of subparts from a vector type.
338 (expand_intrinsic_vec_shufflevector): Likewise.
339
3402022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
341
342 * intrinsics.cc: Include diagnostic.h, langhooks.h,
343 vec-perm-indices.h.
344 (maybe_set_intrinsic): Add cases for new simd intrinsics.
345 (warn_mismatched_return_type): New function.
346 (warn_mismatched_argument): New function.
347 (build_shuffle_mask_type): New function.
348 (maybe_warn_intrinsic_mismatch): New function.
349 (expand_intrinsic_vec_cond): New function.
350 (expand_intrinsic_vec_convert): New function.
351 (expand_intrinsic_vec_blend): New function.
352 (expand_intrinsic_vec_shuffle): New function.
353 (expand_intrinsic_vec_shufflevector): New function.
354 (expand_intrinsic_vec_load_unaligned): New function.
355 (expand_intrinsic_vec_store_unaligned): New function.
356 (maybe_expand_intrinsic): Check signature of intrinsic before handing
357 off to front-end lowering. Add cases for new simd intrinsics.
358 * intrinsics.def (INTRINSIC_LOADUNALIGNED): Define intrinsic.
359 (INTRINSIC_STOREUNALIGNED): Define intrinsic.
360 (INTRINSIC_SHUFFLE): Define intrinsic.
361 (INTRINSIC_SHUFFLEVECTOR): Define intrinsic.
362 (INTRINSIC_CONVERTVECTOR): Define intrinsic.
363 (INTRINSIC_BLENDVECTOR): Define intrinsic.
364 (INTRINSIC_EQUALMASK): Define intrinsic.
365 (INTRINSIC_NOTEQUALMASK): Define intrinsic.
366 (INTRINSIC_GREATERMASK): Define intrinsic.
367 (INTRINSIC_GREATEREQUALMASK): Define intrinsic.
368
fb29fdea
GA
3692022-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
370
371 * d-codegen.cc: Include gimple-expr.h.
372 (force_target_expr): Use create_tmp_var_raw.
373 * decl.cc: Inlucde gimple-expr.h.
374 (build_local_temp): Use create_tmp_var_raw.
375 * intrinsics.cc (expand_intrinsic_rotate): Use get_callee_fndecl.
376 (maybe_expand_intrinsic): Likewise.
377
3782022-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
379
380 * d-attribs.cc (handle_omp_declare_simd_attribute): New function.
381 (d_handle_simd_attribute): New function.
382 (d_langhook_common_attribute_table): Add 'omp declare simd' attribute.
383 (d_langhook_attribute_table): Add simd attribute.
384
84c2131d
GA
3852022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
386
387 * d-attribs.cc (d_handle_section_attribute): Update error message.
388 (d_handle_symver_attribute): Likewise.
389 (d_handle_no_sanitize_attribute): Likewise.
390 (d_handle_visibility_attribute): Likewise.
391
3922022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
393
394 PR d/105413
395 * d-attribs.cc (d_handle_register_attribute): New function.
396 (d_langhook_attribute_table): Add register attribute.
397 * d-codegen.cc (d_mark_addressable): Error if taken address of
398 register variable.
399 (build_frame_type): Error if register variable has non-local
400 references.
401 * d-tree.h (d_mark_addressable): Add complain parameter.
402 * decl.cc (get_symbol_decl): Mark register varibles DECL_REGISTER.
403 Error when register variable declared thread-local or extern.
404 * expr.cc (ExprVisitor::visit (IndexExp *)): Don't complain about
405 marking register vectors as addressable in an ARRAY_REF.
406
4072022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
408
409 * d-codegen.cc (build_array_index): Rename to...
410 (build_pointer_index): ...this.
411 * d-tree.h (build_array_index): Rename declaration to...
412 (build_pointer_index): ...this.
413 * expr.cc (ExprVisitor::visit (IndexExp *)): Construct indexes of
414 ARRAY_TYPE using ARRAY_REF.
415 (ExprVisitor::visit (SliceExp *)): Update.
416 * intrinsics.cc (expand_intrinsic_bt): Update.
417
4182022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
419
420 * dmd/MERGE: Merge upstream dmd 529110f66.
421 * decl.cc (DeclVisitor::visit (TupleDeclaration *)): Update for new
422 front-end interface.
423 * types.cc (layout_aggregate_members): Likewise.
424
5d0cf158
GA
4252022-06-22 Iain Buclaw <ibuclaw@gdcproject.org>
426
427 * dmd/MERGE: Merge upstream dmd 6203135dc.
428 * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)):
429 Update for new front-end interface.
430 (SpeculativeTypeVisitor::visit (TypeStruct *)): Likewise.
431
499b9c5f
GA
4322022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
433
434 * d-attribs.cc (d_langhook_attribute_table): Add no_sanitize.
435 (d_handle_no_sanitize_attribute): New function.
436
4372022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
438
439 * d-attribs.cc (d_langhook_attribute_table): Add visibility.
440 (insert_type_attribute): Use decl_attributes instead of
441 merge_attributes.
442 (insert_decl_attribute): Likewise.
443 (apply_user_attributes): Do nothing when no UDAs applied.
444 (d_handle_visibility_attribute): New function.
445 * d-gimplify.cc (d_gimplify_binary_expr): Adjust.
446 * d-tree.h (set_visibility_for_decl): Declare.
447 * decl.cc (get_symbol_decl): Move setting of visibility flags to...
448 (set_visibility_for_decl): ... here. New function.
449 * types.cc (TypeVisitor::visit (TypeStruct *)): Call
450 set_visibility_for_decl().
451 (TypeVisitor::visit (TypeClass *)): Likewise.
452
4532022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
454
455 * typeinfo.cc (make_internal_typeinfo): Set TYPE_ARTIFICIAL.
456
4572022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
458
459 * d-attribs.cc (apply_user_attributes): Set ATTR_FLAG_TYPE_IN_PLACE
460 only on incomplete types.
461 * d-codegen.cc (copy_aggregate_type): Set TYPE_STUB_DECL after copy.
462 * d-compiler.cc (Compiler::onParseModule): Adjust.
463 * d-tree.h (AGGREGATE_OR_ENUM_TYPE_CHECK): Define.
464 (TYPE_FORWARD_REFERENCES): Define.
465 * decl.cc (gcc_attribute_p): Update documentation.
466 (DeclVisitor::visit (StructDeclaration *)): Exit before building type
467 node if gcc.attributes symbol.
468 (DeclVisitor::visit (ClassDeclaration *)): Build type node and add
469 TYPE_NAME to current binding level before emitting anything else.
470 (DeclVisitor::visit (InterfaceDeclaration *)): Likewise.
471 (DeclVisitor::visit (EnumDeclaration *)): Likewise.
472 (build_type_decl): Move rest_of_decl_compilation() call to
473 finish_aggregate_type().
474 * types.cc (insert_aggregate_field): Move layout_decl() call to
475 finish_aggregate_type().
476 (insert_aggregate_bitfield): Likewise.
477 (layout_aggregate_members): Adjust.
478 (finish_incomplete_fields): New function.
479 (finish_aggregate_type): Handle forward referenced field types. Call
480 rest_of_type_compilation() after completing the aggregate.
481 (TypeVisitor::visit (TypeEnum *)): Don't set size and alignment until
482 after apply_user_attributes(). Call rest_of_type_compilation() after
483 completing the enumeral.
484 (TypeVisitor::visit (TypeStruct *)): Call build_type_decl() before
485 apply_user_attributes(). Don't set size, alignment, and mode until
486 after apply_user_attributes().
487 (TypeVisitor::visit (TypeClass *)): Call build_type_decl() before
488 applly_user_attributes().
489
c3642271
GA
4902022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
491
492 * d-builtins.cc: Include builtins.h.
493 (gcc_builtins_libfuncs): Remove.
494 (strip_type_modifiers): New function.
495 (matches_builtin_type): New function.
496 (covariant_with_builtin_type_p): New function.
497 (maybe_set_builtin_1): Set front-end built-in if identifier matches
498 gcc built-in name. Apply user-specified attributes and assembler name
499 overrides to the built-in. Warn about built-in declaration mismatches.
500 (d_builtin_function): Set IDENTIFIER_DECL_TREE of built-in functions.
501 * d-compiler.cc (Compiler::onParseModule): Scan all modules for any
502 identifiers that match built-in function names.
503 * lang.opt (Wbuiltin-declaration-mismatch): New option.
504
5052022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
506
507 * d-tree.h (check_typeinfo_type): Add Expression* parameter.
508 (build_typeinfo): Likewise. Declare new override.
509 * expr.cc (ExprVisitor): Call build_typeinfo with Expression*.
510 * typeinfo.cc (check_typeinfo_type): Include expression in the
511 diagnostic message.
512 (build_typeinfo): New override.
513
5142022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
515
516 * dmd/MERGE: Merge upstream dmd 821ed393d.
517 * expr.cc (ExprVisitor::visit (NewExp *)): Remove handled of
518 allocating `@nogc' throwable object.
519 * runtime.def (NEWTHROW): Remove.
520
b168441c
GA
5212022-06-02 David Malcolm <dmalcolm@redhat.com>
522
523 * d-lang.cc (d_get_sarif_source_language): New.
524 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
525
820ead45
GA
5262022-05-31 Jason Merrill <jason@redhat.com>
527
528 * Make-lang.in (d.tags): Just look at *.cc.
529
5302022-05-31 Iain Buclaw <ibuclaw@gdcproject.org>
531
532 PR d/105544
533 * d-lang.cc (d_parse_file): Zero padding past the end of the stdin
534 buffer so the D lexer has a sentinel to stop parsing at.
535
d9176e64
GA
5362022-05-27 Iain Buclaw <ibuclaw@gdcproject.org>
537
538 * dmd/MERGE: Merge upstream dmd 4d07f22f2
539 * d-lang.cc (d_handle_option): Handle OPT_fpreview_fiximmutableconv.
540 * lang.opt (fpreview=fiximmutableconv): New option.
541 * runtime.def (ARRAYAPPENDT): Remove.
542
3dff965c
GA
5432022-05-25 Iain Buclaw <ibuclaw@gdcproject.org>
544
545 * expr.cc: Add "final" and "override" to all "visit" vfunc decls
546 as appropriate.
547 * imports.cc: Likewise.
548 * typeinfo.cc: Likewise.
549
768f49a2
GA
5502022-05-24 David Malcolm <dmalcolm@redhat.com>
551
552 * decl.cc: Add "final" and "override" to all "visit" vfunc decls
553 as appropriate.
554 * expr.cc: Likewise.
555 * toir.cc: Likewise.
556 * typeinfo.cc: Likewise.
557 * types.cc: Likewise.
558
702bd11f
GA
5592022-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
560
561 * dmd/MERGE: Merge upstream dmd 60bfa0ee7.
562 * dmd/VERSION: Update version to v2.100.0.
563 * d-builtins.cc (d_init_versions): Update for new front-end interface.
564 * d-codegen.cc (d_decl_context): Use resolvedLinkage to get
565 declaration linkage.
566 (build_struct_literal): Track offset in bits.
567 * d-gimplify.cc (d_gimplify_modify_expr): Check both operands for a
568 bit-field reference.
569 * d-lang.cc (d_handle_option): Handle -fpreview=bitfields, remove
570 -frevert=markdown and -ftransition=vmarkdown.
571 (d_post_options): Set flag_rtti and flag_exceptions if -fno-druntime
572 was seen on command-line.
573 (d_parse_file): Update for new front-end interface.
574 (d_type_promotes_to): Use resolvedLinkage to get declaration linkage.
575 * decl.cc (make_thunk): Likewise.
576 * expr.cc (ExprVisitor::visit (CatAssignExp *)): Remove lowering for
577 appending of an element or array to another array.
578 * lang.opt (fpreview=bitfields): New option.
579 (frevert=markdown): Remove.
580 (ftransition=vmarkdown): Remove.
581 * types.cc (layout_aggregate_members): Ignore anonymous fields in
582 total count.
583
6b6f53d8
GA
5842022-04-28 Iain Buclaw <ibuclaw@gdcproject.org>
585
586 * dmd/MERGE: Merge upstream dmd 313d28b3d.
587 * d-port.cc (Port::memicmp): Use d_size_t instead of size_t.
588 (Port::valcpy): Likewise.
589
c1a9cf67
GA
5902022-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
591
592 * dmd/MERGE: Merge upstream dmd eb7bee331.
593 * dmd/VERSION: Update version to v2.100.0-beta.1.
594 * d-lang.cc (d_handle_option): Handle OPT_frevert_dip1000.
595 * lang.opt (frevert=dip1000): New option.
596
247bbed1
GA
5972022-04-13 Iain Buclaw <ibuclaw@gdcproject.org>
598
599 * Make-lang.in (D_FRONTEND_OBJS): Add d/common-bitfields.o,
600 d/mustuse.o.
601 * d-ctfloat.cc (CTFloat::isIdentical): Don't treat NaN values as
602 identical.
603 * dmd/MERGE: Merge upstream dmd 4d1bfcf14.
604 * expr.cc (ExprVisitor::visit (VoidInitExp *)): New.
605
8af4270d
GA
6062022-04-03 Iain Buclaw <ibuclaw@gdcproject.org>
607
608 * d-lang.cc: Include dmd/template.h.
609 (d_parse_file): Call printTemplateStats when vtemplates is set.
610 * decl.cc (start_function): Remove OPT_Wtemplates warning.
611 * lang.opt (Wtemplates): Remove.
612
6132022-04-02 Iain Buclaw <ibuclaw@gdcproject.org>
614
615 * dmd/MERGE: Merge upstream dmd 47871363d.
616 * d-builtins.cc (d_init_versions): Add predefined version identifiers
617 D_PreConditions, D_PostConditions, and D_Invariants.
618 * d-codegen.cc (d_build_call): Update for new front-end interface.
619 (build_frame_type): Generate reference field for NRVO variables with
620 nested references.
621 (build_closure): Generate assignment of return address to closure.
622 * d-tree.h (DECL_INSTANTIATED): Use DECL_LANG_FLAG_2.
623 (bind_expr): Remove.
624 * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Update for new
625 front-end interface.
626 (get_symbol_decl): Likewise.
627 (get_decl_tree): Check DECL_LANG_FRAME_FIELD before DECL_LANG_NRVO.
628 Dereference the field when both are set.
629 * expr.cc (ExprVisitor::visit (DeleteExp *)): Update for new front-end
630 interface.
631 * modules.cc (get_internal_fn): Likewise.
632 * toir.cc (IRVisitor::visit (ReturnStatement *)): Likewise.
633
d156bb87
GA
6342022-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
635
636 PR d/105004
637 * d-codegen.cc (build_struct_literal): Use complex_expr to build
638 complex expressions from __c_complex types.
639
6402022-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
641
642 PR d/104911
643 * dmd/MERGE: Merge upstream dmd 2503f17e5.
644 * d-convert.cc (convert_expr): Replace d_uns64 with dinteger_t.
645 * d-lang.cc: Remove dmd/root/file.h include.
646 (d_handle_option): Update for new front-end interface.
647 (d_parse_file): Likewise.
648
b9756c08
GA
6492022-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
650
651 * dmd/MERGE: Merge upstream dmd 02a3fafc6.
652 * dmd/VERSION: Update version to v2.099.0.
653 * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Don't cache
654 decl in front-end AST node.
655 (ImportVisitor::visit (AggregateDeclaration *)): Likewise.
656 (ImportVisitor::visit (ClassDeclaration *)): Likewise.
657
b00f9761
GA
6582022-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
659
660 * imports.cc (imported_decls): Define.
661 (class ImportVisitor): Add result_ field.
662 (ImportVisitor::result): New method.
663 (ImportVisitor::visit (Module *)): Store decl to result_.
664 (ImportVisitor::visit (Import *)): Likewise.
665 (ImportVisitor::visit (AliasDeclaration *)): Don't cache decl in
666 front-end AST node.
667 (ImportVisitor::visit (OverDeclaration *)): Likewise.
668 (ImportVisitor::visit (FuncDeclaration *)): Likewise.
669 (ImportVisitor::visit (Declaration *)): Likewise.
670 (build_import_decl): Use imported_decls to cache and lookup built
671 declarations.
672
6732022-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
674
675 PR translation/104552
676 * lang.opt (fdump-cxx-spec=): Fix typo in argument handle.
677 (fpreview=fixaliasthis): Quote `alias this' as code.
678
ea4911c4
GA
6792022-03-02 Iain Buclaw <ibuclaw@gdcproject.org>
680
681 * dmd/MERGE: Merge upstream dmd 423f19b41.
682
a35f1697
GA
6832022-02-28 Iain Buclaw <ibuclaw@gdcproject.org>
684
685 * d-target.cc (Target::_init): Initialize C type size fields.
686 * dmd/MERGE: Merge upstream dmd cf63dd8e5.
687 * dmd/VERSION: Update version to v2.099.0-rc.1.
688
c42f1e77
GA
6892022-02-20 Iain Buclaw <ibuclaw@gdcproject.org>
690
691 * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
692 deleting GC allocated classes.
693 * runtime.def (DELCLASS): Remove.
694 (DELINTERFACE): Remove.
695
6962022-02-20 Iain Buclaw <ibuclaw@gdcproject.org>
697
698 * dmd/MERGE: Merge upstream dmd cb49e99f8.
699 * dmd/VERSION: Update version to v2.099.0-beta.1.
700 * decl.cc (layout_class_initializer): Update call to NewExp::create.
701 * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
702 deleting arrays and pointers.
703 (ExprVisitor::visit (DotVarExp *)): Convert complex types to the
704 front-end library type representing them.
705 (ExprVisitor::visit (StringExp *)): Use getCodeUnit instead of charAt
706 to get the value of each index in a string expression.
707 * runtime.def (DELMEMORY): Remove.
708 (DELARRAYT): Remove.
709 * types.cc (TypeVisitor::visit (TypeEnum *)): Handle anonymous enums.
710
cb3afcd2
GA
7112022-02-16 Iain Buclaw <ibuclaw@gdcproject.org>
712
713 * d-builtins.cc (d_build_builtins_module): Set purity of DECL_PURE_P
714 functions to PURE::const_.
715 * d-gimplify.cc (bit_field_ref): New function.
716 (d_gimplify_modify_expr): Handle implicit casting for assignments to
717 bit-fields.
718 (d_gimplify_unary_expr): New function.
719 (d_gimplify_binary_expr): New function.
720 (d_gimplify_expr): Handle UNARY_CLASS_P and BINARY_CLASS_P.
721 * d-target.cc (Target::_init): Initialize bitFieldStyle.
722 (TargetCPP::parameterType): Update signature.
723 (Target::supportsLinkerDirective): New function.
724 * dmd/MERGE: Merge upstream dmd 52844d4b1.
725 * expr.cc (ExprVisitor::visit (ThrowExp *)): New function.
726 * types.cc (d_build_bitfield_integer_type): New function.
727 (insert_aggregate_bitfield): New function.
728 (layout_aggregate_members): Handle inserting bit-fields into an
729 aggregate type.
730
1bb52662
GA
7312022-01-31 Martin Liska <mliska@suse.cz>
732
733 PR d/104287
734 * decl.cc (d_finish_decl): Remove trailing dot.
735
f6f2d6cf
GA
7362022-01-28 Martin Liska <mliska@suse.cz>
737
738 * decl.cc (d_finish_decl): Do not use leading capital letter.
739
fc829782
GA
7402022-01-17 Martin Liska <mliska@suse.cz>
741
742 * d-gimplify.cc: Rename .c names to .cc.
743 * d-incpath.cc: Likewise.
744 * lang-specs.h: Likewise.
745
a4ae8c37
GA
7462022-01-03 Iain Buclaw <ibuclaw@gdcproject.org>
747
748 PR d/103840
749 * dmd/MERGE: Merge upstream dmd 001bfd97b.
750 * Make-lang.in (D_FRONTEND_OBJS): Rename d/complex.o to
751 d/root-complex.o, and d/utf.o to d/root/utf.o.
752
7532022-01-03 Jakub Jelinek <jakub@redhat.com>
754
755 * gdc.texi: Bump @copyrights-d year.
756
b4c522fa 757\f
6123f29a 758Copyright (C) 2022 Free Software Foundation, Inc.
b4c522fa
IB
759
760Copying and distribution of this file, with or without modification,
761are permitted in any medium without royalty provided the copyright
762notice and this notice are preserved.