12021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
2
3	Backported from master:
4	2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
5
6	PR d/102574
7	* d-spec.cc (lang_specific_driver): Link libstdc++ statically if
8	-static-libstdc++ was given on command-line.
9
102021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
11
12	Backported from master:
13	2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
14
15	PR d/96435
16	* d-convert.cc (convert_for_rvalue): New function.
17	* d-tree.h (convert_for_rvalue): Declare.
18	* expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue.
19	(build_return_dtor): Likewise.
20
212021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
22
23	Backported from master:
24	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
25
26	PR d/101640
27	* expr.cc (binary_op): Use build2 instead of fold_build2.
28
292021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
30
31	Backported from master:
32	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
33
34	PR d/101490
35	* d-codegen.cc (build_array_index): Handle void arrays same as byte.
36	* d-convert.cc (convert_expr): Handle converting to zero-sized arrays.
37	* dmd/dcast.c (castTo): Handle casting to zero-sized arrays.
38
392021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
40
41	Backported from master:
42	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
43
44	PR d/101441
45	* dmd/expression.c (FuncInitExp::resolveLoc): Set type as `string'.
46	(PrettyFuncInitExp::resolveLoc): Likewise.
47
482021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
49
50	Backported from master:
51	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
52
53	PR d/101127
54	* d-builtins.cc (d_builtin_function_ext_scope): New function.
55	* d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define.
56	* d-tree.h (d_builtin_function_ext_scope): Declare.
57
582021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
59
60	Backported from master:
61	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
62
63	PR d/101619
64	* dmd/expression.c (DotTemplateExp::checkType): New function.
65	(DotTemplateExp::checkValue): New function.
66	* dmd/expression.h (class DotTemplateExp): Declare checkType and
67	checkValue.
68
692021-06-11  Iain Buclaw  <ibuclaw@gdcproject.org>
70
71	Backported from master:
72	2021-06-11  Iain Buclaw  <ibuclaw@gdcproject.org>
73
74	PR d/100999
75	* dmd/cond.c (lowerArrayAggregate): Run CTFE interpret on foreach
76	input range.
77	(createTupleType): Don't generate typeinfo when disabled.
78	(lowerNonArrayAggregate): Suppress errors when running type semantic.
79	(staticForeachPrepare): Don't run CTFE interpret from here.
80	* dmd/dinterpret.c (ctfeInterpret): Add more shortcut cases.
81	* dmd/expression.c (resolvePropertiesX): Remove early error.
82	(Expression::checkPostblit): Don't generate typeinfo when type is
83	missing from library.
84	* dmd/expressionsem.c (ExpressionSemanticVisitor): Set type of
85	DotTemplateExp as void.
86	* dmd/statementsem.c (StatementSemanticVisitor::declareVariable):
87	Don't override index type.
88	(StatementSemanticVisitor::makeTupleForeachBody): Check index type is
89	integral and index range fits type size.
90	(StatementSemanticVisitor::visit (ForeachStatement*)): Adjust index
91	range before testing.
92
932021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
94
95	Backported from master:
96	2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
97
98	PR d/100967
99	* d-frontend.cc (getTypeInfoType): Move TypeInfo checks to
100	check_typeinfo_type and call new function.
101	* d-tree.h (check_typeinfo_type): Declare.
102	* typeinfo.cc: Include dmd/scope.h.
103	(create_frontend_tinfo_types): Generate front-end types even if Object
104	is missing.
105	(build_typeinfo): Move TypeInfo checks to check_typeinfo_type and call
106	new function.
107	(check_typeinfo_type): New function.
108
1092021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
110
111	Backported from master:
112	2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
113
114	PR d/100964
115	* dmd/expression.c (Expression::checkPostblit): Don't generate
116	TypeInfo when RTTI is disabled.
117
1182021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
119
120	Backported from master:
121	2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
122
123	PR d/100935
124	* dmd/mtype.c (Type::getProperty): Prefer explicit alignment over
125	natural alignment for alignof property.
126
1272021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
128
129	Backported from master:
130	2021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
131
132	PR d/100882
133	* d-codegen.cc (build_assign): Construct initializations inside
134	TARGET_EXPR_INITIAL.
135	(compound_expr): Remove intermediate expressions that have no
136	side-effects.
137	(return_expr): Construct returns inside TARGET_EXPR_INITIAL.
138	* expr.cc (ExprVisitor::visit (CallExp *)): Remove useless assignment
139	to TARGET_EXPR_SLOT.
140
1412021-04-19  Iain Buclaw  <ibuclaw@gdcproject.org>
142
143	Backported from master:
144	2021-04-19  Iain Buclaw  <ibuclaw@gdcproject.org>
145
146	PR d/98457
147	* d-diagnostic.cc (expand_d_format): Handle escaped backticks.
148	(escape_d_format): New funtion.
149	(verror): Call escape_d_format on prefixing strings.
150	(vdeprecation): Likewise.
151
1522021-04-08  Release Manager
153
154	* GCC 10.3.0 released.
155
1562021-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
157
158	Backported from master:
159	2021-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
160
161	PR d/99337
162	* dmd/dmodule.c (checkModFileAlias): Don't read past buffer in
163	  comparison.
164
1652021-02-02  Iain Buclaw  <ibuclaw@gdcproject.org>
166
167	Backported from master:
168	2021-02-02  Iain Buclaw  <ibuclaw@gdcproject.org>
169
170	PR d/98921
171	* dmd/dmangle.c (Mangler::visit (TypeSArray *)): Use buf->print
172	  to format integer value.
173	(Mangler::visit (TypeIdentifier *)): Likewise.
174	(Mangler::toBuffer): Likewise.
175	(Mangler::visit (IntegerExp *)): Likewise.
176	(Mangler::visit (StringExp *)): Likewise.
177	(Mangler::visit (ArrayLiteralExp *)): Likewise.
178	(Mangler::visit (AssocArrayLiteralExp *)): Likewise.
179	(Mangler::visit (StructLiteralExp *)): Likewise.
180	* dmd/root/outbuffer.c (OutBuffer::print): New function.
181	* dmd/root/outbuffer.h (OutBuffer::print): Declare.
182
1832020-12-15  Iain Buclaw  <ibuclaw@gdcproject.org>
184
185	Backported from master:
186	2020-12-15  Iain Buclaw  <ibuclaw@gdcproject.org>
187
188	PR d/98277
189	* decl.cc (DeclVisitor::visit (VarDeclaration *)): Move setting of
190	DECL_INITIAL for manifest constants to ...
191	(get_symbol_decl): ... here.
192
1932020-11-22  Iain Buclaw  <ibuclaw@gdcproject.org>
194
195	Backported from master:
196	2020-11-22  Iain Buclaw  <ibuclaw@gdcproject.org>
197
198	PR d/97889
199	* expr.cc (ExprVisitor::visit (CatAssignExp *)): Enforce LTR order of
200	evaluation on left and right hand side expressions.
201
2022020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
203
204	Backported from master:
205	2020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
206
207	PR d/97843
208	* d-codegen.cc (build_assign): Evaluate TARGET_EXPR before use in
209	the right hand side of an assignment.
210	* expr.cc (ExprVisitor::visit (CatAssignExp *)): Force a TARGET_EXPR
211	on the element to append if it is a CALL_EXPR.
212
2132020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
214
215	Backported from master:
216	2020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
217
218	PR d/97842
219	* dmd/cond.c (StaticIfCondition::include): Return error if condition
220	expression is unset.
221	* dmd/mtype.c (TypeTypeof::resolve): Return error if scope is unset.
222
2232020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
224
225	Backported from master:
226	2020-11-13  Iain Buclaw  <ibuclaw@gdcproject.org>
227
228	* intrinsics.cc (expand_intrinsic_copysign): Explicitly determine
229	which built-in copysign function to call.
230
2312020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
232
233	Backported from master:
234	2020-10-27  Iain Buclaw  <ibuclaw@gdcproject.org>
235
236	* dmd/dtemplate.c (TemplateInstance::semantic): Propagate the root
237	module where the instantiated template should belong from the instance
238	to all member scopes.
239
2402020-10-12  Iain Buclaw  <ibuclaw@gdcproject.org>
241
242	Backported from master:
243	2020-10-12  Iain Buclaw  <ibuclaw@gdcproject.org>
244
245	* dmd/declaration.c (AliasDeclaration::aliasSemantic): Apply storage
246	class and protection attributes.
247
2482020-09-04  Iain Buclaw  <ibuclaw@gdcproject.org>
249
250	Backported from master:
251	2020-09-04  Iain Buclaw  <ibuclaw@gdcproject.org>
252
253	PR d/96924
254	* expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force
255	temporaries needlessly.
256
2572020-08-30  Iain Buclaw  <ibuclaw@gdcproject.org>
258
259	Backported from master:
260	2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
261
262	PR d/96157
263	* d-codegen.cc (d_build_call): Handle TREE_ADDRESSABLE static arrays.
264	* types.cc (make_array_type): Propagate TREE_ADDRESSABLE from base
265	type to static array.
266
2672020-08-30  Iain Buclaw  <ibuclaw@gdcproject.org>
268
269	Backported from master:
270	2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
271
272	* dmd/globals.h (Global): Add recursionLimit.
273	* dmd/dmacro.c (Macro::expand): Limit recursive expansion to
274	global.recursionLimit.
275	* dmd/dtemplate.c (deduceType): Likewise.
276	(TemplateInstance::tryExpandMembers): Likewise.
277	(TemplateInstance::trySemantic3): Likewise.
278	(TemplateMixin::semantic): Likewise.
279	* dmd/expressionsem.c (ExpressionSemanticVisitor::visit): Likewise.
280	* dmd/mtype.c (Type::noMember): Likewise.
281	(TypeFunction::semantic): Likewise.
282	* dmd/optimize.c (Expression_optimize): Likewise.
283
2842020-08-30  Iain Buclaw  <ibuclaw@gdcproject.org>
285
286	Backported from master:
287	2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
288
289	* d-lang.cc (d_parse_file): Use read() to load contents from stdin,
290	allow the front-end to free the memory after parsing.
291	* dmd/func.c (FuncDeclaration::semantic): Use module filename if
292	searchPath returns NULL.
293
2942020-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>
295
296	PR d/96250
297	* dmd/expressionsem.c (ExpressionSemanticVisitor::visit(TypeExp)):
298	Fix cast from Expression to VarExp.
299
3002020-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>
301
302	PR d/96250
303	* dmd/dstruct.c (StructDeclaration::semantic): Error if redefinition
304	of struct exists in compilation.
305	* dmd/expressionsem.c (ExpressionSemanticVisitor::visit(TypeExp)):
306	Rewrite resolved field variables as 'this.var' before semantic.
307	* dmd/parse.c (Parser::parseUnaryExp): Mark '(type) una_exp' as a
308	parenthesized expression.
309
3102020-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>
311
312	Backported from master:
313	2020-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>
314
315	* dmd/ctfeexpr.c (isCtfeValueValid): Return true for array literals as
316	well as structs.
317	* dmd/dinterpret.c: Don't reinterpret static arrays into dynamic.
318
3192020-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>
320
321	Backported from master:
322	2020-08-03  Iain Buclaw  <ibuclaw@gdcproject.org>
323
324	PR d/96254
325	* d-codegen.cc (error_no_frame_access): New.
326	(get_frame_for_symbol): Use fdparent name in error message.
327	(get_framedecl): Replace call to assert with error.
328	* d-tree.h (error_no_frame_access): Declare.
329	* decl.cc (get_decl_tree): Detect recursion and error.
330
3312020-08-18  Iain Buclaw  <ibuclaw@gdcproject.org>
332
333	Backported from master:
334	2020-08-18  Iain Buclaw  <ibuclaw@gdcproject.org>
335
336	PR d/96301
337	* decl.cc (DeclVisitor::visit (FuncDeclaration *)): Only return
338	non-trivial structs by invisible reference.
339
3402020-08-01  Iain Buclaw  <ibuclaw@gdcproject.org>
341
342	Backported from master:
343	2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
344
345	PR d/96140
346	* intrinsics.cc (expand_intrinsic_vaarg): Handle ref parameters as
347	arguments to va_arg().
348	(expand_intrinsic_vastart): Handle ref parameters as arguments to
349	va_start().
350
3512020-07-23  Release Manager
352
353	* GCC 10.2.0 released.
354
3552020-06-28  Iain Buclaw  <ibuclaw@gdcproject.org>
356
357	Backported from master:
358	2020-06-28  Iain Buclaw  <ibuclaw@gdcproject.org>
359
360	* dmd/cond.c (lowerArrayAggregate): Directly use the elements of the
361	array for TupleExp creation.
362	(lowerNonArrayAggregate): Inline creation of foreach range indexes.
363
3642020-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
365
366	Backported from master:
367	2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
368
369	PR d/95250
370	* dmd/expressionsem.c (class ExpressionSemanticVisitor): Return early
371	if error occurred during semantic of DivExp.
372
3732020-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
374
375	Backported from master:
376	2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
377
378	PR d/95173
379	* d-attribs.cc (uda_attribute_p): Don't search target attribute table
380	if NULL.
381
3822020-06-02  Iain Buclaw  <ibuclaw@gdcproject.org>
383
384	* d-builtins.cc (build_frontend_type): Handle struct fields with NULL
385	DECL_NAME.  Use byte_position to get the real field offset.
386
3872020-05-17  Iain Buclaw  <ibuclaw@gdcproject.org>
388
389	Backport from mainline
390	2020-05-06  Iain Buclaw  <ibuclaw@gdcproject.org>
391
392	PR d/94970
393	* d-codegen.cc (force_target_expr): Move create_temporary_var
394	implementation inline here.
395	(create_temporary_var): Remove.
396	(maybe_temporary_var): Remove.
397	(bind_expr): Remove.
398	* d-convert.cc (d_array_convert): Use build_local_temp to generate
399	temporaries, and generate its assignment.
400	* d-tree.h (create_temporary_var): Remove.
401	(maybe_temporary_var): Remove.
402	(d_array_convert): Remove vars argument.
403	* expr.cc (ExprVisitor::visit (CatExp *)): Use build_local_temp to
404	generate temporaries, don't wrap them in a BIND_EXPR.
405	(ExprVisitor::visit (NewExp *)): Likewise.
406
4072020-05-07  Release Manager
408
409	* GCC 10.1.0 released.
410
4112020-04-30  Iain Buclaw  <ibuclaw@gdcproject.org>
412
413	* gdc.texi (Options for Linking): Clarify usage of -defaultlib= and
414	-debuglib= options.
415
4162020-04-29  Iain Buclaw  <ibuclaw@gdcproject.org>
417
418	* d-codegen.cc (d_decl_context): Don't include module in the name of
419	class and struct types that aren't extern(D).
420
4212020-04-27  Iain Buclaw  <ibuclaw@gdcproject.org>
422
423	PR d/94777
424	* d-builtins.cc (build_frontend_type): Set parent for generated
425	fields of built-in types.
426	* d-codegen.cc (argument_reference_p): Rename to ...
427	(parameter_reference_p): ... this.
428	(type_passed_as): Rename to ...
429	(parameter_type): ... this.  Make TREE_ADDRESSABLE types restrict.
430	(d_build_call): Move handling of non-POD types here from ...
431	* d-convert.cc (convert_for_argument): ... here.
432	* d-tree.h (argument_reference_p): Rename declaration to ...
433	(parameter_reference_p): ... this.
434	(type_passed_as): Rename declaration to ...
435	(parameter_type): ... this.
436	* types.cc (TypeVisitor::visit (TypeFunction *)): Update caller.
437
4382020-04-26  Iain Buclaw  <ibuclaw@gdcproject.org>
439
440	* decl.cc (get_symbol_decl): Set DECL_DECLARED_INLINE_P or
441	DECL_UNINLINABLE for declarations with pragma(inline).
442	* toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_INLINE_P if
443	in function decorated with pragma(inline).
444
4452020-04-25  Iain Buclaw  <ibuclaw@gdcproject.org>
446
447	* intrinsics.cc (expand_intrinsic_toprec): New function.
448	(maybe_expand_intrinsic): Handle toPrec intrinsics.
449	* intrinsics.def (TOPRECF, TOPREC, TOPRECL): Add toPrec intrinsics.
450
4512020-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>
452
453	* d-spec.cc (need_phobos): Remove.
454	(lang_specific_driver): Replace need_phobos with phobos_library.
455	Reorder -debuglib and -defaultlib to have precedence over libphobos.
456	(lang_specific_pre_link): Remove test for need_phobos.
457
4582020-04-19  Iain Buclaw  <ibuclaw@gdcproject.org>
459
460	PR d/94609
461	* d-codegen.cc (argument_reference_p): Don't check TREE_ADDRESSABLE.
462	(type_passed_as): Build reference type if TREE_ADDRESSABLE.
463	* d-convert.cc (convert_for_argument): Build explicit TARGET_EXPR if
464	needed for arguments passed by invisible reference.
465	* types.cc (TypeVisitor::visit (TypeStruct *)): Mark all structs that
466	are not POD as TREE_ADDRESSABLE.
467
4682020-04-13  Iain Buclaw  <ibuclaw@gdcproject.org>
469
470	* Make-lang.in (D_FRONTEND_OBJS): Remove d/argtypes.o.
471	* d-target.cc (Target::toArgTypes): New function.
472
4732020-04-10  Iain Buclaw  <ibuclaw@gdcproject.org>
474
475	* d-spec.cc (LIBDRUNTIME): Remove.
476	(LIBDRUNTIME_PROFILE): Remove.
477	(lang_specific_driver): Don't link in libgdruntime.
478
4792020-04-07  Iain Buclaw  <ibuclaw@gdcproject.org>
480
481	PR d/94425
482	* toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_VOLATILE_P
483	on all asm statements.
484
4852020-04-01  Iain Buclaw  <ibuclaw@gdcproject.org>
486
487	PR d/90136
488	* d-attribs.cc: Include dmd/attrib.h.
489	(build_attributes): Redeclare as static.
490	(apply_user_attributes): New function.
491	* d-tree.h (class UserAttributeDeclaration): Remove.
492	(build_attributes): Remove.
493	(apply_user_attributes): Declare.
494	(finish_aggregate_type): Remove attrs argument.
495	* decl.cc (get_symbol_decl): Merge declaration prototypes with
496	definitions.  Use apply_user_attributes.
497	* modules.cc (layout_moduleinfo_fields): Remove last argument to
498	finish_aggregate_type.
499	* typeinfo.cc (layout_classinfo_interfaces): Likewise.
500	* types.cc (layout_aggregate_members): Likewise.
501	(finish_aggregate_type): Remove attrs argument.
502	(TypeVisitor::visit (TypeEnum *)): Use apply_user_attributes.
503	(TypeVisitor::visit (TypeStruct *)): Remove last argument to
504	finish_aggregate_type.  Use apply_user_attributes.
505	(TypeVisitor::visit (TypeClass *)): Likewise.
506
5072020-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>
508
509	* d-attribs.cc (d_langhook_common_attribute_table): Add always_inline.
510	(handle_always_inline_attribute): New function.
511
5122020-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>
513
514	PR d/94424
515	* d-codegen.cc (build_alignment_field): Remove.
516	(build_struct_literal): Don't insert alignment padding.
517	* expr.cc (ExprVisitor::visit (AssignExp *)): Call memset before
518	assigning struct literals.
519
5202020-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>
521
522	* typeinfo.cc (TypeInfoVisitor::internal_reference): Call
523	d_comdat_linkage on generated decl.
524
5252020-03-22  Iain Buclaw  <ibuclaw@gdcproject.org>
526
527	PR d/93038
528	* d-lang.cc (deps_write): Generate phony targets for content imported
529	files.
530
5312020-03-22  Iain Buclaw  <ibuclaw@gdcproject.org>
532
533	PR d/93038
534	* d-lang.cc (deps_write): Add content imported files to the make
535	dependency list.
536
5372020-03-21  Iain Buclaw  <ibuclaw@gdcproject.org>
538
539	PR d/94240
540	* typeinfo.cc (class TypeInfoVisitor): Replace type_ field with decl_.
541	(TypeInfoVisitor::TypeInfoVisitor): Set decl_.
542	(TypeInfoVisitor::result): Update.
543	(TypeInfoVisitor::internal_reference): New function.
544	(TypeInfoVisitor::layout_string): Use internal_reference.
545	(TypeInfoVisitor::visit (TypeInfoTupleDeclaration *)): Likewise.
546	(layout_typeinfo): Construct TypeInfoVisitor with typeinfo decl.
547	(layout_classinfo): Likewise.
548
5492020-03-20  Iain Buclaw  <ibuclaw@gdcproject.org>
550
551	PR lto/91027
552	* d-tree.h (struct GTY): Add daggregate field.
553	(IDENTIFIER_DAGGREGATE): Define.
554	(d_mangle_decl): Add declaration.
555	* decl.cc (mangle_decl): Remove static linkage, rename to...
556	(d_mangle_decl): ...this, update all callers.
557	* types.cc (merge_aggregate_types): New function.
558	(TypeVisitor::visit (TypeStruct *)): Call merge_aggregate_types, set
559	IDENTIFIER_DAGGREGATE and TYPE_CXX_ODR_P.
560	(TypeVisitor::visit (TypeClass *)): Likewise.
561
5622020-03-18  Jakub Jelinek  <jakub@redhat.com>
563
564	* expr.cc (ExprVisitor::visit (CatAssignExp *)): Fix up duplicated
565	word issue in a comment.
566	* d-target.cc (Target::FPTypeProperties<T>::max): Likewise.
567
5682020-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
569
570	PR d/92309
571	* types.cc (fixup_anonymous_offset): Don't set DECL_FIELD_OFFSET on
572	anonymous fields.
573
5742020-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
575
576	PR d/92216
577	* decl.cc (make_thunk): Don't set TREE_PUBLIC on thunks if the target
578	function is external to the current compilation.
579
5802020-01-01  Jakub Jelinek  <jakub@redhat.com>
581
582	Update copyright years.
583
584	* gdc.texi: Bump @copyrights-d year.
585
586Copyright (C) 2020 Free Software Foundation, Inc.
587
588Copying and distribution of this file, with or without modification,
589are permitted in any medium without royalty provided the copyright
590notice and this notice are preserved.
591