]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/d/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / d / ChangeLog
CommitLineData
8a89c39b
GA
12021-12-15 Iain Buclaw <ibuclaw@gdcproject.org>
2
3 * d-lang.cc (d_init_options): Set default -fextern-std= to C++17.
4 * dmd/MERGE: Merge upstream dmd 93108bb9e.
5 * gdc.texi (Runtime Options): Document the default for -fextern-std=.
6
0bceef16
GA
72021-12-10 Iain Buclaw <ibuclaw@gdcproject.org>
8
9 PR d/103529
10 * dmd/MERGE: Merge upstream dmd 3982604c5.
11 * Make-lang.in (D_FRONTEND_OBJS): Add d/root-optional.o.
12 * d-attribs.cc (build_attributes): Update for new front-end interface.
13 * d-codegen.cc (d_build_call): Likewise.
14 * d-compiler.cc (Compiler::paintAsType): Likewise.
15 * d-lang.cc (d_handle_option): Remove OPT_fpreview_intpromote, add
16 handling of OPT_frevert_intpromote.
17 * d-port.cc (Port::valcpy): Assert buffer is aligned.
18 * d-target.cc (Target::isVectorOpSupported): Update for new front-end
19 interface.
20 * decl.cc (layout_class_initializer): Likewise.
21 * expr.cc (lvalue_p): Likewise.
22 (binop_assignment): Likewise.
23 (ExprVisitor::visit): Likewise.
24 (ExprVisitor::visit (AssignExp *)): Remove generation of _d_arrayctor
25 and _d_arraysetctor library helpers.
26 (ExprVisitor::visit (VarExp *)): Support __traits(initSymbol).
27 * intrinsics.cc (expand_intrinsic_rotate): Update for new front-end
28 interface.
29 * lang.opt (fpreview=intpromote): Remove.
30 (frevert=intpromote): New.
31 * runtime.def (ARRAYCTOR): Remove.
32 (ARRAYSETCTOR): Remove.
33 * toir.cc (IRVisitor::visit): Update for new front-end interface.
34 * types.cc (layout_aggregate_members): Likewise.
35 * dmd/root/optional.d: New file.
36 * dmd/root/optional.h: New file.
37
382021-12-10 Iain Buclaw <ibuclaw@gdcproject.org>
39
40 * decl.cc (get_symbol_decl): Align methods to MINIMUM_METHOD_BOUNDARY.
41
4b4839e3
GA
422021-12-09 Martin Liska <mliska@suse.cz>
43
44 * expr.cc: Call memcpy only when length != 0.
45
641ff219
GA
462021-12-08 Iain Buclaw <ibuclaw@gdcproject.org>
47
48 * dmd/MERGE: Merge upstream dmd 568496d5b.
49 * Make-lang.in (D_FRONTEND_OBJS): Add d/common-file.o,
50 d/common-outbuffer.o, d/common-string.o, d/file_manager.o,
51 d/importc.o. Remove d/root-outbuffer.o.
52 (d/common-%.o): New recipe.
53 * d-builtins.cc (build_frontend_type): Update for new front-end
54 interface.
55 (d_build_d_type_nodes): Set noreturn_type_node.
56 * d-codegen.cc (d_build_call): Don't call function if one of the
57 arguments is type 'noreturn'.
58 (build_vthis_function): Propagate TYPE_QUAL_VOLATILE from original
59 function type.
60 * d-frontend.cc (eval_builtin): Update signature.
61 (getTypeInfoType): Likewise.
62 (toObjFile): New function.
63 * d-gimplify.cc (d_gimplify_call_expr): Always evaluate arguments from
64 left to right.
65 * d-lang.cc (d_handle_option): Handle OPT_ftransition_in.
66 (d_parse_file): Don't generate D main if it is declared in user code.
67 * d-tree.h (CALL_EXPR_ARGS_ORDERED): Remove.
68 (enum d_tree_index): Add DTI_BOTTOM_TYPE.
69 (noreturn_type_node): New.
70 * decl.cc (apply_pragma_crt): Remove.
71 (DeclVisitor::visit): Update for new front-end interface.
72 (DeclVisitor::visit (PragmaDeclaration *)): Don't handle
73 crt_constructor and crt_destructor pragmas.
74 (DeclVisitor::visit (VarDeclaration *)): Don't generate declarations
75 of type 'noreturn'.
76 (DeclVisitor::visit (FuncDeclaration *)): Stop adding parameters when
77 'noreturn' type has been encountered.
78 (get_symbol_decl): Set DECL_STATIC_CONSTRUCTOR and
79 DECL_STATIC_DESTRUCTOR on decl node if requested.
80 (aggregate_initializer_decl): Update for new front-end interface.
81 * expr.cc (ExprVisitor::visit (CallExp *)): Always use the 'this'
82 object as the result of calling any constructor function.
83 (ExprVisitor::visit): Update for new front-end interface.
84 * gdc.texi (Runtime Options): Document -fmain and -ftransition=in.
85 * lang.opt (ftransition=in): New option.
86 * modules.cc (get_internal_fn): Update for new front-end interface.
87 * types.cc (TypeVisitor::visit): Likewise.
88 (TypeVisitor::visit (TypeNoreturn *)): Return noreturn_type_node.
89 (TypeVisitor::visit (TypeFunction *)): Stop adding parameters when
90 'notreturn' type has been encountered. Qualify function types that
91 return 'noreturn' as TYPE_QUAL_VOLATILE.
92
ea6ef320
GA
932021-12-02 Iain Buclaw <ibuclaw@gdcproject.org>
94
95 PR d/103520
96 * d-frontend.h (gc_disable): Declare.
97 * d-lang.cc (d_init_options): Disable the D runtime garbage collector
98 after initializing.
99
1002021-12-02 Iain Buclaw <ibuclaw@gdcproject.org>
101
102 * Make-lang.in (D_FRONTEND_OBJS): Prefix object files from the root
103 package with root-.
104 (d/root-%.o): New recipe.
105
40fa651e
GA
1062021-12-01 Iain Buclaw <ibuclaw@gdcproject.org>
107
108 * d-spec.cc (lang_specific_driver): Set SKIPOPT on -static-libstdc++
109 and -static-libphobos only when target supports LD_STATIC_DYNAMIC.
110 Remove generate_option to re-add -static-libstdc++.
111
1122021-12-01 Iain Buclaw <ibuclaw@gdcproject.org>
113
114 * gdc.texi (Runtime Options): Document -fcheckaction=, -fextern-std=,
115 -fpreview=, -frevert=.
116 (Code Generation): Document -fdump-c++-spec=, -fdump-c++-spec-verbose,
117 -fsave-mixins=.
118 (Warnings): Update list of supported -ftransitions=.
119
c177e806
GA
1202021-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
121
122 * dmd/MERGE: Merge upstream dmd b8384668f.
123 * Make-lang.in (d-warn): Use strict warnings.
124 (DMD_WARN_CXXFLAGS): Remove.
125 (DMD_COMPILE): Remove.
126 (CHECKING_DFLAGS): Define.
127 (WARN_DFLAGS): Define.
128 (ALL_DFLAGS): Define.
129 (DCOMPILE.base): Define.
130 (DCOMPILE): Define.
131 (DPOSTCOMPILE): Define.
132 (DLINKER): Define.
133 (DLLINKER): Define.
134 (D_FRONTEND_OBJS): Add new dmd front-end objects.
135 (D_GENERATED_SRCS): Remove.
136 (D_GENERATED_OBJS): Remove.
137 (D_ALL_OBJS): Remove D_GENERATED_OBJS.
138 (d21$(exeext)): Build using DLLINKER and -static-libphobos.
139 (d.tags): Remove dmd/*.c and dmd/root/*.c.
140 (d.mostlyclean): Remove D_GENERATED_SRCS, d/idgen$(build_exeext),
141 d/impcnvgen$(build_exeext).
142 (D_INCLUDES): Include $(srcdir)/d/dmd/res.
143 (CFLAGS-d/id.o): Remove.
144 (CFLAGS-d/impcnvtab.o): Remove.
145 (d/%.o): Build using DCOMPILE and DPOSTCOMPILE. Update dependencies
146 from d/dmd/%.c to d/dmd/%.d.
147 (d/idgen$(build_exeext)): Remove.
148 (d/impcnvgen$(build_exeext)): Remove.
149 (d/id.c): Remove.
150 (d/id.h): Remove.
151 (d/impcnvtab.c): Remove.
152 (d/%.dmdgen.o): Remove.
153 (D_SYSTEM_H): Remove.
154 (d/idgen.dmdgen.o): Remove.
155 (d/impcnvgen.dmdgen.o): Remove.
156 * config-lang.in (boot_language): New variable.
157 * d-attribs.cc: Include dmd/expression.h.
158 * d-builtins.cc: Include d-frontend.h.
159 (build_frontend_type): Update for new front-end interface.
160 (d_eval_constant_expression): Likewise.
161 (d_build_builtins_module): Likewise.
162 (maybe_set_builtin_1): Likewise.
163 (d_build_d_type_nodes): Likewise.
164 * d-codegen.cc (d_decl_context): Likewise.
165 (declaration_reference_p): Likewise.
166 (declaration_type): Likewise.
167 (parameter_reference_p): Likewise.
168 (parameter_type): Likewise.
169 (get_array_length): Likewise.
170 (build_delegate_cst): Likewise.
171 (build_typeof_null_value): Likewise.
172 (identity_compare_p): Likewise.
173 (lower_struct_comparison): Likewise.
174 (build_filename_from_loc): Likewise.
175 (build_assert_call): Remove LIBCALL_SWITCH_ERROR.
176 (build_bounds_index_condition): Call LIBCALL_ARRAYBOUNDS_INDEXP on
177 bounds error.
178 (build_bounds_slice_condition): Call LIBCALL_ARRAYBOUNDS_SLICEP on
179 bounds error.
180 (array_bounds_check): Update for new front-end interface.
181 (checkaction_trap_p): Handle CHECKACTION_context.
182 (get_function_type): Update for new front-end interface.
183 (d_build_call): Likewise.
184 * d-compiler.cc: Remove include of dmd/scope.h.
185 (Compiler::genCmain): Remove.
186 (Compiler::paintAsType): Update for new front-end interface.
187 (Compiler::onParseModule): Likewise.
188 * d-convert.cc (convert_expr): Remove call to LIBCALL_ARRAYCAST.
189 (convert_for_rvalue): Update for new front-end interface.
190 (convert_for_assignment): Likewise.
191 (convert_for_condition): Likewise.
192 (d_array_convert): Likewise.
193 * d-diagnostic.cc (error): Remove.
194 (errorSupplemental): Remove.
195 (warning): Remove.
196 (warningSupplemental): Remove.
197 (deprecation): Remove.
198 (deprecationSupplemental): Remove.
199 (message): Remove.
200 (vtip): New.
201 * d-frontend.cc (global): Remove.
202 (Global::_init): Remove.
203 (Global::startGagging): Remove.
204 (Global::endGagging): Remove.
205 (Global::increaseErrorCount): Remove.
206 (Loc::Loc): Remove.
207 (Loc::toChars): Remove.
208 (Loc::equals): Remove.
209 (isBuiltin): Update for new front-end interface.
210 (eval_builtin): Likewise.
211 (getTypeInfoType): Likewise.
212 (inlineCopy): Remove.
213 * d-incpath.cc: Include d-frontend.h.
214 (add_globalpaths): Call d_gc_malloc to allocate Strings.
215 (add_filepaths): Likewise.
216 * d-lang.cc: Include dmd/id.h, dmd/root/file.h, d-frontend.h. Remove
217 include of dmd/mars.h, id.h.
218 (entrypoint_module): Remove.
219 (entrypoint_root_module): Remove.
220 (deps_write_string): Update for new front-end interface.
221 (deps_write): Likewise.
222 (d_init_options): Call rt_init. Remove setting global params that are
223 default initialized by the front-end.
224 (d_handle_option): Handle OPT_fcheckaction_, OPT_fdump_c___spec_,
225 OPT_fdump_c___spec_verbose, OPT_fextern_std_, OPT_fpreview,
226 OPT_revert, OPT_fsave_mixins_, and OPT_ftransition.
227 (d_post_options): Propagate dip1021 and dip1000 preview flags to
228 dip25, and flag_diagnostics_show_caret to printErrorContext.
229 (d_add_entrypoint_module): Remove.
230 (d_parse_file): Update for new front-end interface.
231 (d_type_promotes_to): Likewise.
232 (d_types_compatible_p): Likewise.
233 * d-longdouble.cc (CTFloat::zero): Remove.
234 (CTFloat::one): Remove.
235 (CTFloat::minusone): Remove.
236 (CTFloat::half): Remove.
237 * d-system.h (POSIX): Remove.
238 (realpath): Remove.
239 (isalpha): Remove.
240 (isalnum): Remove.
241 (isdigit): Remove.
242 (islower): Remove.
243 (isprint): Remove.
244 (isspace): Remove.
245 (isupper): Remove.
246 (isxdigit): Remove.
247 (tolower): Remove.
248 (_mkdir): Remove.
249 (INT32_MAX): Remove.
250 (INT32_MIN): Remove.
251 (INT64_MIN): Remove.
252 (UINT32_MAX): Remove.
253 (UINT64_MAX): Remove.
254 * d-target.cc: Include calls.h.
255 (target): Remove.
256 (define_float_constants): Remove initialization of snan.
257 (Target::_init): Update for new front-end interface.
258 (Target::isVectorTypeSupported): Likewise.
259 (Target::isVectorOpSupported): Remove cases for unordered operators.
260 (TargetCPP::typeMangle): Update for new front-end interface.
261 (TargetCPP::parameterType): Likewise.
262 (Target::systemLinkage): Likewise.
263 (Target::isReturnOnStack): Likewise.
264 (Target::isCalleeDestroyingArgs): Define.
265 (Target::preferPassByRef): Define.
266 * d-tree.h (d_add_entrypoint_module): Remove.
267 * decl.cc (gcc_attribute_p): Update for new front-end interface.
268 (apply_pragma_crt): Define.
269 (DeclVisitor::visit(PragmaDeclaration *)): Handle pragmas
270 crt_constructor and crt_destructor.
271 (DeclVisitor::visit(TemplateDeclaration *)): Update for new front-end
272 interface.
273 (DeclVisitor::visit): Likewise.
274 (DeclVisitor::finish_vtable): Likewise.
275 (get_symbol_decl): Error if template has more than one nesting
276 context. Update for new front-end interface.
277 (make_thunk): Update for new front-end interface.
278 (get_vtable_decl): Likewise.
279 * expr.cc (ExprVisitor::visit): Likewise.
280 (build_return_dtor): Likewise.
281 * imports.cc (ImportVisitor::visit): Likewise.
282 * intrinsics.cc: Include dmd/expression.h. Remove include of
283 dmd/mangle.h.
284 (maybe_set_intrinsic): Update for new front-end interface.
285 * intrinsics.def (INTRINSIC_ROL): Update intrinsic signature.
286 (INTRINSIC_ROR): Likewise.
287 (INTRINSIC_ROR_TIARG): Likewise.
288 (INTRINSIC_TOPREC): Likewise.
289 (INTRINSIC_TOPRECL): Likewise.
290 (INTRINSIC_TAN): Update intrinsic module and signature.
291 (INTRINSIC_ISNAN): Likewise.
292 (INTRINSIC_ISFINITE): Likewise.
293 (INTRINSIC_COPYSIGN): Define intrinsic.
294 (INTRINSIC_COPYSIGNI): Define intrinsic.
295 (INTRINSIC_EXP): Update intrinsic module.
296 (INTRINSIC_EXPM1): Likewise.
297 (INTRINSIC_EXP2): Likewise.
298 (INTRINSIC_LOG): Likewise.
299 (INTRINSIC_LOG2): Likewise.
300 (INTRINSIC_LOG10): Likewise.
301 (INTRINSIC_POW): Likewise.
302 (INTRINSIC_ROUND): Likewise.
303 (INTRINSIC_FLOORF): Likewise.
304 (INTRINSIC_FLOOR): Likewise.
305 (INTRINSIC_FLOORL): Likewise.
306 (INTRINSIC_CEILF): Likewise.
307 (INTRINSIC_CEIL): Likewise.
308 (INTRINSIC_CEILL): Likewise.
309 (INTRINSIC_TRUNC): Likewise.
310 (INTRINSIC_FMIN): Likewise.
311 (INTRINSIC_FMAX): Likewise.
312 (INTRINSIC_FMA): Likewise.
313 (INTRINSIC_VA_ARG): Update intrinsic signature.
314 (INTRINSIC_VASTART): Likewise.
315 * lang.opt (fcheck=): Add alternate aliases for contract switches.
316 (fcheckaction=): New option.
317 (check_action): New Enum and EnumValue entries.
318 (fdump-c++-spec-verbose): New option.
319 (fdump-c++-spec=): New option.
320 (fextern-std=): New option.
321 (extern_stdcpp): New Enum and EnumValue entries
322 (fpreview=): New options.
323 (frevert=): New options.
324 (fsave-mixins): New option.
325 (ftransition=): Update options.
326 * modules.cc (get_internal_fn): Replace Prot with Visibility.
327 (build_internal_fn): Likewise.
328 (build_dso_cdtor_fn): Likewise.
329 (build_module_tree): Remove check for __entrypoint module.
330 * runtime.def (P5): Define.
331 (ARRAYBOUNDS_SLICEP): Define.
332 (ARRAYBOUNDS_INDEXP): Define.
333 (NEWTHROW): Define.
334 (ADCMP2): Remove.
335 (ARRAYCAST): Remove.
336 (SWITCH_STRING): Remove.
337 (SWITCH_USTRING): Remove.
338 (SWITCH_DSTRING): Remove.
339 (SWITCH_ERROR): Remove.
340 * toir.cc (IRVisitor::visit): Update for new front-end interface.
341 (IRVisitor::check_previous_goto): Remove checks for case and default
342 statements.
343 (IRVisitor::visit(SwitchStatement *)): Remove handling of string
344 switch conditions.
345 * typeinfo.cc: Include d-frontend.h.
346 (get_typeinfo_kind): Update for new front-end interface.
347 (make_frontend_typeinfo): Likewise.
348 (TypeInfoVisitor::visit): Likewise.
349 (builtin_typeinfo_p): Likewise.
350 (get_typeinfo_decl): Likewise.
351 (build_typeinfo): Likewise.
352 * types.cc (valist_array_p): Likewise.
353 (make_array_type): Likewise.
354 (merge_aggregate_types): Likewise.
355 (TypeVisitor::visit(TypeBasic *)): Likewise.
356 (TypeVisitor::visit(TypeFunction *)): Likewise.
357 (TypeVisitor::visit(TypeStruct *)): Update comment.
358 * verstr.h: Removed.
359 * d-frontend.h: New file.
360
87cd82c8
GA
3612021-11-29 Eric Gallager <egallager@gcc.gnu.org>
362
363 PR other/103021
364 * Make-lang.in: Use ETAGS variable in TAGS target.
365
2f0dd172
GA
3662021-11-28 Martin Liska <mliska@suse.cz>
367
368 * d-attribs.cc (parse_optimize_options): Fix thinko.
369
f4ed2e3a
GA
3702021-11-26 Martin Liska <mliska@suse.cz>
371
372 * d-attribs.cc (parse_optimize_options): Check index before
373 accessing cl_options.
374
483092d3
GA
3752021-11-18 Iain Buclaw <ibuclaw@gdcproject.org>
376
377 * decl.cc (d_finish_decl): Use HOST_WIDE_INT for type size
378 temporaries.
379
c2bd5d8a
GA
3802021-10-22 Eric Gallager <egallager@gcc.gnu.org>
381
382 PR other/102663
383 * Make-lang.in: Allow dvi-formatted documentation
384 to be installed.
385
ce6eec39
GA
3862021-10-08 Martin Liska <mliska@suse.cz>
387
388 * d-lang.cc (d_post_options): Use new macro
389 OPTION_SET_P.
390
bb6194e0
GA
3912021-10-05 Iain Sandoe <iain@sandoe.co.uk>
392
393 * d-spec.cc (lang_specific_driver): Push the -static-libstdc++
394 option back onto the command line for targets without support
395 for -Bstatic/dynamic.
396
da9c5f78
GA
3972021-10-04 Iain Buclaw <ibuclaw@gdcproject.org>
398
399 PR d/102574
400 * d-spec.cc (lang_specific_driver): Link libstdc++ statically if
401 -static-libstdc++ was given on command-line.
402
4032021-10-04 Iain Buclaw <ibuclaw@gdcproject.org>
404
405 * d-attribs.cc (d_handle_optimize_attribute): Save target node before
406 calling parse_optimize_options in case it changes.
407
e1ab9289
GA
4082021-09-12 Iain Buclaw <ibuclaw@gdcproject.org>
409
410 PR d/102185
411 * d-builtins.cc (d_eval_constant_expression): Don't include
412 terminating null pointer in string expression conversion.
413
1e77fd4f
GA
4142021-08-29 Iain Buclaw <ibuclaw@gdcproject.org>
415
416 * d-codegen.cc: Include dmd/module.h.
417 (build_filename_from_loc): New function.
418 (d_assert_call): Rename to...
419 (build_assert_call): ...this.
420 (build_array_bounds_call): Call arrayboundsp variant of the array
421 bounds failure callback.
422 (build_bounds_condition): Rename to...
423 (build_bounds_index_condition): ...this. Update signature.
424 (build_bounds_slice_condition): New function.
425 (checkaction_trap_p): New function.
426 (d_assert_call): Call assertp variant of assert failure callback.
427 * d-tree.h (class IndexExp): Declare.
428 (class SliceExp): Declare.
429 (build_bounds_condition): Remove.
430 (build_assert_call): Declare.
431 (build_bounds_index_condition): Declare.
432 (build_bounds_slice_condition): Declare.
433 (checkaction_trap_p): Declare.
434 (d_assert_call): Remove.
435 * expr.cc (ExprVisitor::visit(IndexExp *)): Call
436 build_bounds_index_condition.
437 (ExprVisitor::visit(SliceExp *)): Call build_bounds_slice_condition.
438 (ExprVisitor::visit(AssertExp *)): Update setting of libcall.
439 * runtime.cc (enum d_libcall_type): Add LCT_IMMUTABLE_CHARPTR.
440 (get_libcall_type): Handle LCT_IMMUTABLE_CHARPTR.
441 * runtime.def (ASSERT): Rename to...
442 (ASSERTP): ...this. Update signature.
443 (UNITTEST): Rename to...
444 (UNITTESTP): ...this. Update signature.
445 (ARRAY_BOUNDS): Rename to...
446 (ARRAYBOUNDSP): ...this. Updates signature.
447 * toir.cc (IRVisitor::visit(SwitchErrorStatement *)): Update call.
448
4492021-08-29 Iain Buclaw <ibuclaw@gdcproject.org>
450
451 * typeinfo.cc (class TypeInfoVisitor::layout_base): Update comment.
452
4532021-08-29 Iain Buclaw <ibuclaw@gdcproject.org>
454
455 * typeinfo.cc (TypeInfoVisitor::visit(TypeInfoClassDeclaration *)):
456 Use int to store type flags.
457 (TypeInfoVisitor::visit(TypeInfoStructDeclaration *)): Likewise.
458
4592021-08-29 Iain Buclaw <ibuclaw@gdcproject.org>
460
461 * types.cc (TypeVisitor::visit(TypeEnum*)): Get wchar_t type from
462 build_frontend_type.
463
4642021-08-29 Iain Buclaw <ibuclaw@gdcproject.org>
465
466 * d-convert.cc (convert_for_rvalue): Convert switch statement into if
467 condition.
468
4692021-08-29 Iain Buclaw <ibuclaw@gdcproject.org>
470
471 * d-builtins.cc (d_init_versions): Use POINTER_SIZE for testing
472 whether to predefine D_LP64.
473
4742021-08-29 Iain Buclaw <ibuclaw@gdcproject.org>
475
476 PR d/102094
477 * d-codegen.cc (build_frame_type): Set TYPE_CXX_ODR_P.
478
85d77ac4
GA
4792021-08-25 Lewis Hyatt <lhyatt@gmail.com>
480
481 PR other/93067
482 * d-lang.cc (d_input_charset_callback): New function.
483 (d_init): Call new function
484 diagnostic_initialize_input_context().
485
4d17ca1b
GA
4862021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
487
488 * expr.cc (binary_op): Remove dead code.
489
4902021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
491
492 * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)):
493 Always layout initializer for the m_RTInfo field.
494
4952021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
496
497 * expr.cc (ExprVisitor::visit (AssertExp *)): Don't generate
498 PREDICT_EXPR.
499
5002021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
501
502 * expr.cc (ExprVisitor::visit (AssignExp *)): Clarify comment
503 for generating static array assignment with literal.
504
5052021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
506
507 * decl.cc (enum_initializer_decl): Only handle named enums.
508
5092021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
510
511 * decl.cc (make_thunk): Set COMDAT and visibility of thunks only if
512 they are public.
513
5142021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
515
516 * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't use sinit
517 for declaration directly.
518 (DeclVisitor::visit (ClassDeclaration *)): Likewise.
519 (aggregate_initializer_decl): Likewise. Set sinit after creating.
520
5212021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
522
523 * d-builtins.cc (build_frontend_type): Use Identifier::idPool to
524 generate anonymous field name.
525
5262021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
527
528 * types.cc (layout_aggregate_type): Call hasMonitor.
529 * typeinfo.cc (TypeInfoVisitor::layout_base): Likewise.
530 (layout_cpp_typeinfo): Likewise. Don't emit vtable unless
531 have_typeinfo_p.
532
5332021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
534
535 * d-lang.cc (deps_add_target): Insert null terminator in buffer.
536 (deps_write): Likewise.
537 (d_parse_file): Likewise.
538
5392021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
540
541 * d-builtins.cc (build_frontend_type): Restore builtin_converted_decls
542 length on conversion failure.
543
5442021-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
545
546 * d-codegen.cc (d_nested_class): Rename to ...
547 (get_outer_function): ... this. Handle all aggregate declarations.
548 (d_nested_struct): Remove.
549 (find_this_tree): Use get_outer_function.
550 (get_framedecl): Likewise.
551
5522021-07-29 Iain Buclaw <ibuclaw@gdcproject.org>
553
554 PR d/101672
555 * typeinfo.cc (make_frontend_typeinfo): Generate Object class if it
556 doesn't exist.
557 (check_typeinfo_type): Don't warn if there's no location.
558
5592021-07-29 Iain Buclaw <ibuclaw@gdcproject.org>
560
561 PR d/101664
562 * expr.cc (ExprVisitor::visit (CallExp *)): Use object expression as
563 result for C++ constructor calls.
564
5652021-07-29 Iain Buclaw <ibuclaw@gdcproject.org>
566
567 PR d/96435
568 * d-convert.cc (convert_for_rvalue): New function.
569 * d-tree.h (convert_for_rvalue): Declare.
570 * expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue.
571 (build_return_dtor): Likewise.
572
5732021-07-29 Iain Buclaw <ibuclaw@gdcproject.org>
574
575 PR d/101657
576 * d-lang.cc (d_parse_file): Remove generated D header files on error.
577
5782021-07-29 Iain Buclaw <ibuclaw@gdcproject.org>
579
580 PR d/101656
581 * d-diagnostic.cc (escape_d_format): Don't escape quoted format
582 strings.
583
39169029
GA
5842021-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
585
586 PR d/101640
587 * expr.cc (binary_op): Use build2 instead of fold_build2.
588
5892021-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
590
591 PR d/101490
592 * dmd/MERGE: Merge upstream dmd 27e388b4c.
593 * d-codegen.cc (build_array_index): Handle void arrays same as byte.
594 * d-convert.cc (convert_expr): Handle converting to zero-sized arrays.
595
5962021-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
597
598 PR d/101441
599 * dmd/MERGE: Merge upstream dmd f8c1ca928.
600
6012021-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
602
603 PR d/101127
604 * d-builtins.cc (d_builtin_function_ext_scope): New function.
605 * d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define.
606 * d-tree.h (d_builtin_function_ext_scope): Declare.
607
6082021-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
609
610 PR d/101619
611 * dmd/MERGE: Merge upstream dmd 1d8386a63.
612
e6f3adc8
GA
6132021-07-03 Iain Buclaw <ibuclaw@gdcproject.org>
614
615 PR d/101273
616 * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returns that
617 use a temporary, and replace with return value.
618
7a60a6e8
GA
6192021-07-02 Iain Buclaw <ibuclaw@gdcproject.org>
620
621 PR d/101282
622 * d-codegen.cc (build_assign): Force target_expr on RHS for non-POD
623 assignment expressions.
624
f16f65f8
GA
6252021-06-11 Iain Buclaw <ibuclaw@gdcproject.org>
626
627 PR d/100999
628 * dmd/MERGE: Merge upstream dmd 7a3808254.
629
43c35d0d
GA
6302021-06-10 Iain Buclaw <ibuclaw@gdcproject.org>
631
632 PR d/100967
633 * d-frontend.cc (getTypeInfoType): Move TypeInfo checks to
634 check_typeinfo_type and call new function.
635 * d-tree.h (check_typeinfo_type): Declare.
636 * typeinfo.cc: Include dmd/scope.h.
637 (create_frontend_tinfo_types): Generate front-end types even if Object
638 is missing.
639 (build_typeinfo): Move TypeInfo checks to check_typeinfo_type and call
640 new function.
641 (check_typeinfo_type): New function.
642
4f625f47
GA
6432021-06-09 Iain Buclaw <ibuclaw@gdcproject.org>
644
645 PR d/100964
646 * dmd/MERGE: Merge upstream dmd 4a4e46a6f.
647
6482021-06-09 Iain Buclaw <ibuclaw@gdcproject.org>
649
650 PR d/100935
651 * dmd/MERGE: Merge upstream dmd f3fdeb578.
652
600f90cb
GA
6532021-06-04 Iain Buclaw <ibuclaw@gdcproject.org>
654
655 PR d/100882
656 * d-codegen.cc (build_assign): Construct initializations inside
657 TARGET_EXPR_INITIAL.
658 (compound_expr): Remove intermediate expressions that have no
659 side-effects.
660 (return_expr): Construct returns inside TARGET_EXPR_INITIAL.
661 * expr.cc (ExprVisitor::visit (CallExp *)): Remove useless assignment
662 to TARGET_EXPR_SLOT.
663
a8daf9a1
GA
6642021-05-18 Iain Buclaw <ibuclaw@gdcproject.org>
665
666 * d-incpath.cc (prefixed_path): Use filename_ncmp instead of strncmp.
667
6682021-05-18 Iain Buclaw <ibuclaw@gdcproject.org>
669
670 * types.cc (TypeVisitor::visit (TypeEnum *)): Use startswith function
671 instead of strncmp.
672
6732021-05-18 Iain Buclaw <ibuclaw@gdcproject.org>
674
675 * dmd/dinterpret.c (evaluateIfBuiltin): Revert last change.
676 * dmd/dmangle.c: Likewise.
677 * dmd/hdrgen.c: Likewise.
678 * dmd/identifier.c (Identifier::toHChars2): Likewise.
679
aa891c56
GA
6802021-05-10 Iain Buclaw <ibuclaw@gdcproject.org>
681
682 * dmd/MERGE: Merge upstream dmd b7d146c4c.
683
6842021-05-10 Martin Liska <mliska@suse.cz>
685
686 * d-builtins.cc (do_build_builtin_fn): Use startswith
687 function instead of strncmp.
688 * dmd/dinterpret.c (evaluateIfBuiltin): Likewise.
689 * dmd/dmangle.c: Likewise.
690 * dmd/hdrgen.c: Likewise.
691 * dmd/identifier.c (Identifier::toHChars2): Likewise.
692
6e81e015
GA
6932021-04-19 Iain Buclaw <ibuclaw@gdcproject.org>
694
695 PR d/98457
696 * d-diagnostic.cc (expand_d_format): Handle escaped backticks.
697 (escape_d_format): New funtion.
698 (verror): Call escape_d_format on prefixing strings.
699 (vdeprecation): Likewise.
700
da946b41
GA
7012021-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
702
703 PR d/99914
704 * d-target.def (d_templates_always_comdat): New hook.
705 * d-tree.h (mark_needed): Remove prototype.
706 * decl.cc: Include d-target.h.
707 (mark_needed): Rename to...
708 (d_mark_needed): ...this. Make static.
709 (set_linkage_for_decl): Put variables in comdat if
710 d_templates_always_comdat.
711
7122021-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
713
714 * d-target.cc (d_handle_target_object_format): New function.
715 (d_language_target_info): Add d_handle_target_object_format as handler
716 for objectFormat key.
717 (Target::getTargetInfo): Continue if handler returned NULL_TREE.
718
df3b1289
GA
7192021-04-14 Iain Buclaw <ibuclaw@gdcproject.org>
720
721 * d-target.cc (Target::_init): Call new targetdm hook to register OS
722 specific target info keys.
723 * d-target.def (d_register_os_target_info): New hook.
724
7252021-04-14 Iain Buclaw <ibuclaw@gdcproject.org>
726
727 * d-builtins.cc (d_add_builtin_version): Remove all setting of
728 target-specific global.params.
729 * typeinfo.cc (create_typeinfo): Don't add argType fields to
730 TypeInfo_Struct.
731
7322021-04-14 Iain Buclaw <ibuclaw@gdcproject.org>
733
734 PR d/99914
735 * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't set
736 DECL_INSTANTIATED on static initializer declarations.
737 (DeclVisitor::visit (ClassDeclaration *)): Likewise.
738 (DeclVisitor::visit (EnumDeclaration *)): Likewise.
739 (d_finish_decl): Move call to set_linkage_for_decl to...
740 (declare_extern_var): ...here.
741
7422021-04-14 Iain Buclaw <ibuclaw@gdcproject.org>
743
744 * d-target.cc (Target::_init): Call new targetdm hook to register CPU
745 specific target info keys.
746 * d-target.def (d_register_cpu_target_info): New hook.
747
7482021-04-14 Iain Buclaw <ibuclaw@gdcproject.org>
749
750 * d-target.cc (Target::systemLinkage): Return LINKwindows if
751 d_has_stdcall_convention applies to LINKsystem.
752 * d-target.def (d_has_stdcall_convention): New hook.
753 * types.cc (TypeVisitor::visit (TypeFunction *)): Insert "stdcall"
754 function attribute if d_has_stdcall_convention applies to LINKwindows.
755
1d54b138
GA
7562021-04-10 Iain Buclaw <ibuclaw@gdcproject.org>
757
758 * dmd/MERGE: Merge upstream dmd 0450061c8.
759
019a9220
GA
7602021-04-08 Iain Buclaw <ibuclaw@gdcproject.org>
761
762 * d-attribs.cc: Include fold-const.h and opts.h.
763 (attr_noreturn_exclusions): Add alloc_size.
764 (attr_const_pure_exclusions): Likewise.
765 (attr_inline_exclusions): Add target_clones.
766 (attr_noinline_exclusions): Rename forceinline to always_inline.
767 (attr_target_exclusions): New array.
768 (attr_target_clones_exclusions): New array.
769 (attr_alloc_exclusions): New array.
770 (attr_cold_hot_exclusions): New array.
771 (d_langhook_common_attribute_table): Add new D attribute handlers.
772 (build_attributes): Update to look for gcc.attributes. Issue warning
773 if not given a struct literal. Handle void initialized arguments.
774 (handle_always_inline_attribute): Remove function.
775 (d_handle_noinline_attribute): Don't extract TYPE_LANG_FRONTEND.
776 (d_handle_forceinline_attribute): Rename to...
777 (d_handle_always_inline_attribute): ...this. Remove special handling.
778 (d_handle_flatten_attribute): Don't extract TYPE_LANG_FRONTEND.
779 (d_handle_target_attribute): Likewise. Warn about empty arguments.
780 (d_handle_target_clones_attribute): New function.
781 (optimize_args): New static variable.
782 (parse_optimize_options): New function.
783 (d_handle_optimize_attribute): New function.
784 (d_handle_noclone_attribute): Don't extract TYPE_LANG_FRONTEND.
785 (d_handle_alias_attribute): Remove function.
786 (d_handle_noicf_attribute): New function.
787 (d_handle_noipa_attribute): New function.
788 (d_handle_section_attribute): Call the handle_generic_attribute target
789 hook after performing target independent processing.
790 (d_handle_symver_attribute): New function.
791 (d_handle_noplt_attribute): New function.
792 (positional_argument): New function.
793 (d_handle_alloc_size_attribute): New function.
794 (d_handle_cold_attribute): New function.
795 (d_handle_restrict_attribute): New function.
796 (d_handle_used_attribute): New function.
797 * decl.cc (gcc_attribute_p): Update to look for gcc.attributes.
798 (get_symbol_decl): Update decl source location of old prototypes to
799 the new declaration being merged.
800 * types.cc (layout_aggregate_members): Apply user defined attributes
801 on fields.
802
8cac6af6
GA
8032021-04-06 Iain Buclaw <ibuclaw@gdcproject.org>
804
805 PR d/99917
806 * dmd/MERGE: Merge upstream dmd d16195406.
807
8082021-04-06 Iain Buclaw <ibuclaw@gdcproject.org>
809
810 * d-codegen.cc (build_frame_type): Use Array::find to get index of
811 element.
812
8132021-04-06 Iain Buclaw <ibuclaw@gdcproject.org>
814
815 * d-diagnostic.cc (vwarning): Increment gaggedWarnings if warning
816 message was suppressed.
817 (vdeprecation): Likewise for deprecation messages.
818
8192021-04-06 Iain Buclaw <ibuclaw@gdcproject.org>
820
821 * dmd/MERGE: Merge upstream dmd 5cc71ff83.
822
b1da9916
GA
8232021-04-05 Iain Buclaw <ibuclaw@gdcproject.org>
824
825 PR d/99914
826 * d-lang.cc (d_init): Disable flag_weak_templates if no support for
827 weak or one-only symbols.
828 * d-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro.
829 (DECL_INSTANTIATED): New macro.
830 (d_comdat_linkage): Remove declaration.
831 (d_linkonce_linkage): Remove declaration.
832 (set_linkage_for_decl): New declaration.
833 * decl.cc (DeclVisitor::visit (StructDeclaration *)): Replace call to
834 d_linkonce_linkage with setting DECL_INSTANTIATED.
835 (DeclVisitor::visit (ClassDeclaration *)): Likewise.
836 (DeclVisitor::visit (EnumDeclaration *)): Likewise.
837 (DeclVisitor::visit (InterfaceDeclaration *)): Remove call to
838 d_linkonce_linkage.
839 (get_symbol_decl): Call set_linkage_for_decl instead of
840 d_linkonce_linkage.
841 (d_finish_decl): Call set_linkage_for_decl.
842 (d_comdat_linkage): Made function static. Only set DECL_COMDAT for
843 DECL_INSTANTIATED decls.
844 (d_linkonce_linkage): Remove function.
845 (d_weak_linkage): New function.
846 (set_linkage_for_decl): New function.
847 * gdc.texi (Runtime Options): Rename -fno-weak to -fno-weak-templates,
848 update documentation of option.
849 * lang.opt (fweak): Rename option to ...
850 (fweak-templates): ... this. Update help string.
851 * modules.cc (get_internal_fn): Add Prot parameter. Set generated
852 function flag.
853 (build_internal_fn): Update call to get_internal_fn.
854 (build_dso_cdtor_fn): Likewise.
855 (register_moduleinfo): Call d_finish_decl on dso_slot_node and
856 dso_initialized_node.
857 * typeinfo.cc (TypeInfoVisitor::internal_reference): Call
858 set_linkage_for_decl instead of d_comdat_linkage.
859 (TypeInfoDeclVisitor::visit (TypeInfoDeclaration *)): Remove calls to
860 d_linkonce_linkage and d_comdat_linkage.
861 (get_cpp_typeinfo_decl): Likewise.
862
c0756c4e
GA
8632021-04-03 Iain Buclaw <ibuclaw@gdcproject.org>
864
865 * dmd/MERGE: Merge upstream dmd 3b808e838.
866 * Make-lang.in (D_FRONTEND_OBJS): Add d/chkformat.o.
867 * d-codegen.cc (build_struct_literal): Handle special enums.
868 * d-convert.cc (convert_expr): Handle noreturn type.
869 (convert_for_condition): Likewise.
870 * d-target.cc (Target::_init): Set type for wchar_t.
871 (TargetCPP::derivedClassOffset): New method.
872 (Target::libraryObjectMonitors): New method.
873 * decl.cc (get_symbol_decl): Set TREE_THIS_VOLATILE for functions of
874 type noreturn.
875 * toir.cc (IRVisitor::visit (ReturnStatement *)): Handle returning
876 noreturn types.
877 * types.cc (TypeVisitor::visit (TypeNoreturn *)): New method.
878 (TypeVisitor::visit (TypeEnum *)): Handle special enums.
879
c4110112
GA
8802021-03-28 Iain Buclaw <ibuclaw@gdcproject.org>
881
882 * d-builtins.cc (d_init_versions): Predefine D_PIE if flag_pie is set.
883
8842021-03-28 Iain Buclaw <ibuclaw@gdcproject.org>
885
886 * d-lang.cc (d_enum_underlying_base_type): New function.
887 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Set as
888 d_enum_underlying_base_type.
889
8902021-03-28 Iain Buclaw <ibuclaw@gdcproject.org>
891
892 * Make-lang.in (DMDGEN_COMPILE): Remove.
893 (d/%.dmdgen.o): Use COMPILER_FOR_BUILD and BUILD_COMPILERFLAGS to
894 build all D generator programs.
895 (D_SYSTEM_H): New macro.
896 (d/idgen.dmdgen.o): Add dependencies to build.
897 (d/impcnvgen.dmdgen.o): Likewise.
898 * d-system.h: Include bconfig.h if GENERATOR_FILE is defined.
899
9002021-03-28 Iain Buclaw <ibuclaw@gdcproject.org>
901
902 * config-lang.in (gtfiles): Remove modules.cc.
903 * modules.cc (struct module_info): Remove GTY marker.
904 (static_ctor_list): Remove variable.
905 (static_dtor_list): Remove variable.
906 (register_moduleinfo): Directly set DECL_STATIC_CONSTRUCTOR on
907 dso_ctor, and DECL_STATIC_DESTRUCTOR on dso_dtor.
908 (d_finish_compilation): Remove static ctor/dtor handling.
909
0ad6a2e2
GA
9102021-03-06 Iain Buclaw <ibuclaw@gdcproject.org>
911
912 * d-lang.cc (d_init_options_struct): Don't set default
913 flag_complex_method.
914
f3641ac7
GA
9152021-03-03 Iain Buclaw <ibuclaw@gdcproject.org>
916
917 PR d/99337
918 * dmd/MERGE: Merge upstream dmd a3c9bf422.
919
c8656df6
GA
9202021-02-13 Iain Buclaw <ibuclaw@gdcproject.org>
921
922 * dmd/MERGE: Merge upstream dmd 7132b3537.
923 * Make-lang.in (D_FRONTEND_OBJS): Add d/dsymbolsem.o, d/semantic2.o,
924 d/semantic3.o, and d/templateparamsem.o.
925 * d-compiler.cc (Compiler::genCmain): Update calls to semantic
926 entrypoint functions.
927 * d-lang.cc (d_parse_file): Likewise.
928 * typeinfo.cc (make_frontend_typeinfo): Likewise.
929
1ed59127
GA
9302021-02-05 Iain Buclaw <ibuclaw@gdcproject.org>
931
932 * d-tree.h (DEF_D_INTRINSIC): Don't insert INTRINSIC_ into the
933 intrinsic code name.
934 * intrinsics.cc (DEF_D_INTRINSIC): Don't insert INTRISIC_ and
935 BUILT_IN_ into the intrinsic and built-in code names.
936 * intrinsics.def: Explicitly use full intrinsic and built-in
937 codes in all definitions.
938
a19dd5e6
GA
9392021-02-04 Iain Buclaw <ibuclaw@gdcproject.org>
940
941 * dmd/MERGE: Merge upstream dmd 46133f761.
942 * d-builtins.cc (d_build_builtins_module): Set builtins as BUILTINgcc.
943 (maybe_set_builtin_1): Likewise.
944 * d-frontend.cc (eval_builtin): Adjust condition for early return.
945 * intrinsics.cc (maybe_set_intrinsic): Set intrinsics as BUILTINgcc.
946 (maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16.
947 * intrinsics.def (INTRINSIC_BT): Update signature.
948 (INTRINSIC_BT64): Likewise.
949 (INTRINSIC_BSWAP16): New intrinsic.
950 (INTRINSIC_VLOAD8): Update module.
951 (INTRINSIC_VLOAD16): Likewise.
952 (INTRINSIC_VLOAD32): Likewise.
953 (INTRINSIC_VLOAD64): Likewise.
954 (INTRINSIC_VSTORE8): Likewise.
955 (INTRINSIC_VSTORE16): Likewise.
956 (INTRINSIC_VSTORE32): Likewise.
957 (INTRINSIC_VSTORE64): Likewise.
958 (INTRINSIC_ADDS): Update signature.
959 (INTRINSIC_ADDSL): Likewise.
960 (INTRINSIC_ADDU): Likewise.
961 (INTRINSIC_ADDUL): Likewise.
962 (INTRINSIC_SUBS): Likewise.
963 (INTRINSIC_SUBSL): Likewise.
964 (INTRINSIC_SUBU): Likewise.
965 (INTRINSIC_SUBUL): Likewise.
966 (INTRINSIC_MULS): Likewise.
967 (INTRINSIC_MULSL): Likewise.
968 (INTRINSIC_MULU): Likewise.
969 (INTRINSIC_MULUI): Likewise.
970 (INTRINSIC_MULUL): Likewise.
971 (INTRINSIC_NEGS): Likewise.
972 (INTRINSIC_NEGSL): Likewise.
973
548b75d8
GA
9742021-02-02 Iain Buclaw <ibuclaw@gdcproject.org>
975
976 PR d/98921
977 * dmd/MERGE: Merge upstream dmd 5e2a81d9c.
978
5dfbad4f
GA
9792021-01-30 Iain Buclaw <ibuclaw@gdcproject.org>
980
981 * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoDeclaration *)): Don't
982 layout m_arg1 and m_arg2 fields.
983
e62bb7f0
GA
9842021-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
985
986 * dmd/MERGE: Merge upstream dmd 609c3ce2d.
987 * d-compiler.cc (Compiler::loadModule): Rename to ...
988 (Compiler::onParseModule): ... this.
989 (Compiler::onImport): New function.
990 * d-lang.cc (d_parse_file): Remove call to Compiler::loadModule.
991
7559d465
GA
9922021-01-21 Iain Buclaw <ibuclaw@gdcproject.org>
993
994 * dmd/MERGE: Merge upstream dmd 3a7ebef73.
995
67fbb7f0
GA
9962021-01-11 Iain Buclaw <ibuclaw@gdcproject.org>
997
998 * dmd/MERGE: Merge upstream dmd 2d3d13748.
999 * d-lang.cc (d_handle_option): Remove OPT_ftransition_checkimports and
1000 OPT_ftransition_import.
1001 * gdc.texi (Warnings): Remove documentation for -ftransition=import
1002 and -ftransition=checkimports.
1003 * lang.opt (ftransition=checkimports): Remove.
1004 (ftransition=import): Remove.
1005
87237336
GA
10062021-01-09 Iain Buclaw <ibuclaw@gdcproject.org>
1007
1008 * dmd/MERGE: Merge upstream dmd cb1106ad5.
1009
10102021-01-09 Iain Buclaw <ibuclaw@gdcproject.org>
1011
1012 * dmd/MERGE: Merge upstream dmd 9bba772fa.
1013
10142021-01-09 Iain Buclaw <ibuclaw@gdcproject.org>
1015
1016 * dmd/MERGE: Merge upstream dmd e598f69c0.
1017
7d187e4f
GA
10182021-01-07 Iain Buclaw <ibuclaw@gdcproject.org>
1019
1020 * dmd/MERGE: Merge upstream dmd 9038e64c5.
1021 * d-builtins.cc (build_frontend_type): Update call to
1022 Parameter::create.
1023
651b8a50
GA
10242021-01-05 Iain Buclaw <ibuclaw@gdcproject.org>
1025
1026 * dmd/MERGE: Merge upstream dmd a5c86f5b9.
1027 * d-builtins.cc (d_eval_constant_expression): Handle ADDR_EXPR trees
1028 created by build_string_literal.
1029 * d-frontend.cc (retStyle): Remove function.
1030 * d-target.cc (d_language_target_info): New variable.
1031 (d_target_info_table): Likewise.
1032 (Target::_init): Initialize d_target_info_table.
1033 (Target::isReturnOnStack): New function.
1034 (d_add_target_info_handlers): Likewise.
1035 (d_handle_target_cpp_std): Likewise.
1036 (d_handle_target_cpp_runtime_library): Likewise.
1037 (Target::getTargetInfo): Likewise.
1038 * d-target.h (struct d_target_info_spec): New type.
1039 (d_add_target_info_handlers): Declare.
1040
b6dd195a
GA
10412021-01-01 Jakub Jelinek <jakub@redhat.com>
1042
1043 * gdc.texi: Bump @copyrights-d year.
1044
10452021-01-01 Jakub Jelinek <jakub@redhat.com>
1046
1047 * ChangeLog-2020: Rotate ChangeLog. New file.
1048
b4c522fa 1049\f
618e665a 1050Copyright (C) 2021 Free Software Foundation, Inc.
b4c522fa
IB
1051
1052Copying and distribution of this file, with or without modification,
1053are permitted in any medium without royalty provided the copyright
1054notice and this notice are preserved.