]> gcc.gnu.org Git - gcc.git/blob - gcc/d/ChangeLog
Daily bump.
[gcc.git] / gcc / d / ChangeLog
1 2020-07-31 Iain Buclaw <ibuclaw@gdcproject.org>
2
3 PR d/96393
4 * intrinsics.cc (expand_intrinsic_bt): Don't generate BIT_NOT_EXPR for
5 btr32 intrinsic.
6
7 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
8
9 PR d/96152
10 * d-codegen.cc (build_array_from_exprs): New function.
11 * d-tree.h (build_array_from_exprs): Declare.
12 * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Use
13 build_array_from_exprs to generate key and value arrays.
14
15 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
16
17 PR d/96154
18 * gdc.texi (Warnings): Document -Wvarargs.
19 * lang.opt: Add -Wvarargs
20
21 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
22
23 PR d/96140
24 * intrinsics.cc (expand_intrinsic_vaarg): Handle ref parameters as
25 arguments to va_arg().
26 (expand_intrinsic_vastart): Handle ref parameters as arguments to
27 va_start().
28
29 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
30
31 * expr.cc (ExprVisitor::visit (AssignExp *)): Inline bounds checking
32 for simple array assignments.
33
34 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
35
36 * d-codegen.cc (build_memcmp_call): New function.
37 (build_memcpy_call): New function.
38 (build_memset_call): New function.
39 (build_float_identity): Call build_memcmp_call.
40 (lower_struct_comparison): Likewise.
41 (build_struct_comparison): Likewise.
42 * d-tree.h (build_memcmp_call): Declare.
43 (build_memcpy_call): Declare.
44 (build_memset_call): Declare.
45 * expr.cc (ExprVisitor::visit (EqualExp *)): Call build_memcmp_call.
46 (ExprVisitor::visit (AssignExp *)): Call build_memset_call.
47 (ExprVisitor::visit (ArrayLiteralExp *)): Call build_memcpy_call.
48 (ExprVisitor::visit (StructLiteralExp *)): Call build_memset_call.
49
50 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
51
52 * expr.cc (needs_postblit): Move out of ExprVisitor as a static
53 function. Update all callers.
54 (needs_dtor): Likewise.
55 (lvalue_p): Likewise.
56 (binary_op): Likewise.
57 (binop_assignment): Likewise.
58
59 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
60
61 * intrinsics.cc (expand_intrinsic_rotate): Add function.
62 (maybe_expand_intrinsic): Handle rol and ror intrinsics.
63 * intrinsics.def (ROL): Add intrinsic.
64 (ROL_TIARG): Add intrinsic.
65 (ROR): Add intrinsic.
66 (ROR_TIARG): Add intrinsic.
67
68 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
69
70 * d-tree.h (DEF_D_INTRINSIC): Rename second argument from A to B.
71 * intrinsics.cc (intrinsic_decl): Add built_in field.
72 (DEF_D_INTRINSIC): Rename second argument from ALIAS to BUILTIN.
73 (maybe_set_intrinsic): Handle new intrinsic codes.
74 (expand_intrinsic_bt): Likewise.
75 (expand_intrinsic_checkedint): Likewise.
76 (expand_intrinsic_bswap): Remove.
77 (expand_intrinsic_sqrt): Remove.
78 (maybe_expand_intrinsic): Group together intrinsic cases that map
79 directly to gcc built-ins.
80 * intrinsics.def (DEF_D_BUILTIN): Rename second argument from A to B.
81 Update all callers to pass equivalent DECL_FUNCTION_CODE.
82 (DEF_CTFE_BUILTIN): Likewise.
83 (STD_COS): Remove intrinsic.
84 (STD_FABS): Remove intrinsic.
85 (STD_LDEXP): Remove intrinsic.
86 (STD_RINT): Remove intrinsic.
87 (STD_RNDTOL): Remove intrinsic.
88 (STD_SIN): Remove intrinsic.
89 (STD_SQRTF): Remove intrinsic.
90 (STD_SQRT): Remove intrinsic.
91 (STD_SQRTL): Remove intrinsic.
92
93 2020-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
94
95 * dmd/MERGE: Merge upstream dmd 8508c4e68.
96
97 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
98
99 * decl.cc (get_symbol_decl): Do not implicitly set
100 DECL_DECLARED_INLINE_P on member functions.
101
102 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
103
104 * d-lang.cc (d_gimplify_expr_p): Make static.
105 (d_parse_file): Likewise.
106 (d_signed_or_unsigned_type): Move to types.cc.
107 (d_unsigned_type): Likewise.
108 (d_signed_type): Likewise.
109 * d-tree.h (d_unsigned_type): Change the location in file.
110 (d_signed_type): Likewise.
111 * types.cc (d_signed_or_unsigned_type): Moved from d-lang.cc.
112 (d_unsigned_type): Likewise.
113 (d_signed_type): Likewise.
114
115 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
116
117 PR d/95075
118 * dmd/MERGE: Merge upstream dmd 4be011355.
119
120 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
121
122 PR d/95250
123 * dmd/MERGE: Merge upstream dmd 90450f3ef.
124
125 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
126
127 * d-lang.cc (d_parse_file): Replace OutBuffer with obstack.
128
129 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
130
131 * dmd/MERGE: Merge upstream dmd 5fc1806cd.
132 * d-lang.cc (d_parse_file): Use peekChars to get string representation
133 of OutBuffer data.
134
135 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
136
137 PR d/95173
138 * d-attribs.cc (uda_attribute_p): Don't search target attribute table
139 if NULL.
140
141 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
142
143 * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't set
144 DECL_INITIAL if initializer is 'void'.
145
146 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
147
148 * d-lang.cc (d_init_options): Turn on deprecation warnings by default.
149
150 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
151
152 * dmd/MERGE: Merge upstream dmd 4f1046222.
153 * toir.cc (IRVisitor::visit (OnScopeGuardStatement *)): Rename to ...
154 (IRVisitor::visit (ScopeGuardStatement *)): ... this.
155
156 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
157
158 * d-attribs.cc (handle_noreturn_attribute): Remove names of unused
159 function parameters.
160 (handle_leaf_attribute): Likewise.
161 (handle_const_attribute): Likewise.
162 (handle_malloc_attribute): Likewise.
163 (handle_pure_attribute): Likewise.
164 (handle_novops_attribute): Likewise.
165 (handle_nonnull_attribute): Likewise.
166 (handle_nothrow_attribute): Likewise.
167 (handle_type_generic_attribute): Likewise.
168 (handle_transaction_pure_attribute): Likewise.
169 (handle_returns_twice_attribute): Likewise.
170 (handle_fnspec_attribute): Likewise.
171 (handle_always_inline_attribute): Likewise.
172 (d_handle_noinline_attribute): Likewise.
173 (d_handle_forceinline_attribute): Likewise.
174 (d_handle_flatten_attribute): Likewise.
175 (d_handle_noclone_attribute): Likewise.
176 (d_handle_section_attribute): Likewise.
177 (d_handle_alias_attribute): Likewise.
178 (d_handle_weak_attribute): Likewise.
179
180 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
181
182 * d-attribs.cc: Update code formatting in a consistant style.
183 * d-builtins.cc: Likewise.
184 * d-codegen.cc: Likewise.
185 * d-compiler.cc: Likewise.
186 * d-convert.cc: Likewise.
187 * d-diagnostic.cc: Likewise.
188 * d-frontend.cc: Likewise.
189 * d-lang.cc: Likewise.
190 * d-longdouble.cc: Likewise.
191 * d-port.cc: Likewise.
192 * d-spec.cc: Likewise.
193 * d-tree.h: Likewise.
194 * decl.cc: Likewise.
195 * expr.cc: Likewise.
196 * longdouble.h: Likewise.
197 * modules.cc: Likewise.
198 * toir.cc: Likewise.
199 * typeinfo.cc: Likewise.
200
201 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
202
203 * d-builtins.cc: Update quotation formatting of comments.
204 * d-codegen.cc: Likewise.
205 * d-lang.cc: Likewise.
206 * decl.cc: Likewise.
207 * expr.cc: Likewise.
208 * imports.cc: Likewise.
209 * runtime.cc: Likewise.
210 * toir.cc: Likewise.
211 * typeinfo.cc: Likewise.
212 * types.cc: Likewise.
213
214 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
215
216 * d-diagnostic.cc (expand_d_format): Replace OutBuffer with obstack.
217 (d_diagnostic_report_diagnostic): Don't free xformat.
218 * d-lang.cc (struct d_option_data): Change deps_target type from
219 OutBuffer to vec <const char *>.
220 (deps_add_target): Update to push each target to deps_target.
221 (deps_write_string): New function.
222 (deps_write): Change buffer type to obstack* and remove colmax.
223 (d_init_options): Update initialization of deps_target.
224 (d_parse_file): Replace OutBuffer with obstack.
225
226 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
227
228 * d-lang.cc (d_parse_file): Replace uses of File with FILE.
229
230 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
231
232 * d-codegen.cc (build_array_bounds_call): New function.
233 (build_bounds_condition): Use build_array_bounds_call.
234 * d-lang.cc (d_init_options): Explicitly set default check action to
235 CHECKACTION_D.
236 (d_post_options): Set check action to CHECKACTION_C if the flag
237 -fno-druntime was seen.
238 * d-tree.h (build_array_bounds_call): Declare.
239 * expr.cc (ExprVisitor::visit (AssertExp *)): Use
240 build_array_bounds_call.
241
242 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
243
244 * d-attribs.cc (build_attributes): Use toStringExp instead of cast.
245 * toir.cc (IRVisitor::visit): Likewise.
246
247 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
248
249 * d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of
250 explicit casts.
251 * d-codegen.cc (d_build_call): Likewise.
252 * d-compiler.cc (Compiler::paintAsType): Likewise.
253 * decl.cc (ExprVisitor::visit): Likewise.
254 (layout_class_initializer): Likewise.
255 * expr.cc (ExprVisitor::lvalue_p): Likewise
256 (ExprVisitor::visit): Likewise.
257 * types.cc (layout_aggregate_members): Likewise.
258
259 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
260
261 * d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast.
262 * decl.cc (DeclVisitor::visit): Likewise.
263 * toir.cc (IRVisitor::visit): Likewise.
264 * typeinfo.cc (TypeInfoVisitor::visit): Likewise.
265
266 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
267
268 * d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers
269 instead of explicit casts.
270 (d_build_builtins_module): Likewise.
271 * d-codegen.cc (get_array_length): Likewise.
272 (identity_compare_p): Likewise.
273 (lower_struct_comparison): Likewise.
274 (build_array_from_val): Likewise.
275 (array_bounds_check): Likewise.
276 (get_function_type): Likewise.
277 (d_build_call): Likewise.
278 * d-compiler.cc (Compiler::paintAsType): Likewise.
279 * d-convert.cc (convert_expr): Likewise.
280 (convert_for_assignment): Likewise.
281 * d-lang.cc (d_classify_record): Likewise.
282 (d_build_eh_runtime_type): Likewise.
283 * decl.cc (DeclVisitor::visit): Likewise.
284 * expr.cc (ExprVisitor::needs_postblit): Likewise.
285 (ExprVisitor::needs_dtor): Likewise.
286 (ExprVisitor::visit): Likewise.
287 * imports.cc (ImportVisitor::visit): Likewise.
288 * typeinfo.cc (get_typeinfo_kind): Likewise.
289 (TypeInfoVisitor::visit): Likewise.
290 (TypeDeclInfoVisitor::visit): Likewise.
291 * types.cc (merge_aggregate_types): Likewise.
292 (TypeVisitor::visit): Likewise.
293
294 2020-06-14 Iain Buclaw <ibuclaw@gdcproject.org>
295
296 * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line
297 lengths, no functional change.
298 * typeinfo.cc (TypeInfoVisitor::layout_interfaces): Likewise.
299 (layout_classinfo_interfaces): Likewise.
300
301 2020-06-09 Iain Buclaw <ibuclaw@gdcproject.org>
302
303 * dmd/MERGE: Merge upstream dmd 13d67c575.
304 * d-builtins.cc (build_frontend_type): Update call to
305 TypeVector::create.
306 * d-frontend.cc (Global::_init): Move setting of errorLimit to ...
307 * d-lang.cc (d_init_options): ... here. Update for new field
308 location of errorLimit.
309 (d_post_options): Likewise.
310 * d-port.cc (Port::readwordLE): Update signature.
311 (Port::readwordBE): Likewise.
312 (Port::readlongLE): Likewise.
313 (Port::readlongBE): Likewise.
314 * decl.cc (get_symbol_decl): Update for new field types.
315
316 2020-06-08 Iain Buclaw <ibuclaw@gdcproject.org>
317
318 PR d/95573
319 * dmd/MERGE: Merge upstream dmd 5041e56f1.
320
321 2020-06-08 Iain Buclaw <ibuclaw@gdcproject.org>
322
323 * dmd/MERGE: Merge upstream dmd 955b8b36f.
324 * expr.cc (ExprVisitor::visit (AndAndExp *)): Rename type to ...
325 (ExprVisitor::visit (LogicalExp *)): ... this. Handle both 'and if'
326 and 'or if' expression nodes.
327 (ExprVisitor::visit (OrOrExp *)): Remove.
328
329 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
330
331 * dmd/MERGE: Merge upstream dmd 73d8e2fec.
332 * decl.cc (get_symbol_decl): Use new Prot::Kind enum.
333 * modules.cc (get_internal_fn): Likewise.
334
335 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
336
337 * dmd/MERGE: Merge upstream dmd 108ca1bcd.
338 * d-diagnostic.cc (expand_d_format): Adjust to use extractChars().
339 * d-frontend.cc (Loc::toChars): Likewise.
340 * d-lang.cc (deps_write): Likewise.
341 (d_parse_file): Likewise.
342 * decl.cc (d_mangle_decl): Likewise.
343 * intrinsics.cc (maybe_set_intrinsic): Likewise.
344
345 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
346
347 * dmd/MERGE: Merge upstream dmd b0df0e982.
348 * d-builtins.cc (build_frontend_type): Use VarArg for varargs_p.
349 * d-codegen.cc (declaration_type): Call TypeFunction::create with
350 argument VARARGnone.
351 (parameter_type): Likewise.
352 (d_build_call): Use new field names and member functions.
353 * d-target.cc (Target::cppParameterType): Call TypeFunction::create
354 with argument VARARGnone.
355 * types.cc (TypeVisitor::visit (TypeFunction *): Use new field names
356 and member functions.
357
358 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
359
360 * dmd/MERGE: Merge upstream dmd 1831b24ff.
361 * d-lang.cc (d_init_options): Remove initialization of updated fields.
362 (d_handle_option): Adjust for new field types.
363
364 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
365
366 * dmd/MERGE: Merge upstream dmd cef1e7991.
367 * d-lang.cc (d_parse_file): Adjust for new field types.
368
369 2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
370
371 * dmd/MERGE: Merge upstream dmd 740f3d1ea.
372 * d-lang.cc (d_handle_option): Use new fields to save debug and
373 version levels passed over command-line.
374 (d_post_options): Add them to front-end here.
375
376 2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
377
378 * dmd/MERGE: Merge upstream dmd f5638c7b8.
379 * d-builtins.cc (d_init_versions): Use new CHECKENABLE enum.
380 * d-codegen.cc (array_bounds_check): Likewise.
381 (build_frame_type): Likewise.
382 (get_frameinfo): Likewise.
383 * d-lang.cc (d_init_options): Likewise.
384 (d_init_options_struct): Don't initialize x_flag_bounds_check.
385 (d_handle_option): Use new CHECKENABLE enum.
386 (d_post_options): Likewise. Set flag_bounds_check here.
387 * expr.cc (ExprVisitor::visit(AssertExp *)): Use new CHECKENABLE enum.
388
389 2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
390
391 * dmd/MERGE: Merge upstream dmd 56f0a65c4.
392 * d-builtins.cc (build_frontend_type): Remove static.
393 (d_build_builtins_module): Use target.va_listType() to get front-end
394 type for va_list.
395 (d_init_builtins): Move creation of va_list to Target::va_listType.
396 * d-codegen.cc (build_interface_binfo): Use new target global.
397 (build_vindex_ref): Likewise.
398 (identity_compare_p): Likewise.
399 * d-ctfloat.cc (CTFloat::parse): Likewise.
400 * d-lang.cc (d_init): Likewise.
401 * d-port.cc (Port::isFloat32LiteralOutOfRange): Likewise.
402 (Port::isFloat64LiteralOutOfRange): Likewise.
403 * d-target.cc (define_float_constants): Initialize constants through a
404 reference, instead of setting globals.
405 (Target::_init): Initialize new fields instead of setting globals.
406 (Target::va_listType): Build front-end type from va_list_type_node.
407 (Target::toCppMangle): Renamed to ...
408 (TargetCPP::toMangle): ... this.
409 (Target::cppTypeInfoMangle): Renamed to ...
410 (TargetCPP::typeInfoMangle): ... this.
411 (Target::cppTypeMangle): Renamed to ...
412 (TargetCPP::typeMangle): this.
413 (Target::cppParameterType): Renamed to ...
414 (TargetCPP::parameterType): ... this. Use target.va_listType() to get
415 front-end type for va_list.
416 (Target::cppFundamentalType): Renamed to ...
417 (TargetCPP::fundamentalType): ... this.
418 * d-tree.h (build_frontend_type): Declare.
419 * decl.cc (base_vtable_offset): Use new target global.
420 * typeinfo.cc (layout_classinfo_interfaces): Likewise.
421 (layout_cpp_typeinfo): Likewise.
422 * types.cc (valist_array_p): Use target.va_listType() to get front-end
423 type for va_list.
424 (layout_aggregate_type): Use new target global.
425
426 2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
427
428 * dmd/MERGE: Merge upstream dmd 6d5bffa54.
429 * d-builtins.cc (maybe_set_builtin_1): Update call to
430 Condition::include().
431 * decl.cc (DeclVisitor::visit(AttribDeclaration *)): Likewise.
432 * types.cc (layout_aggregate_members): Likewise.
433
434 2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org>
435
436 * dmd/MERGE: Merge upstream dmd 48d704f08.
437 * d-attribs.cc (build_attributes): Use new field name.
438 * d-builtins.cc (build_frontend_type): Likewise.
439 (maybe_set_builtin_1): Likewise.
440 (d_maybe_set_builtin): Likewise.
441 * d-codegen.cc (build_interface_binfo): Likewise.
442 (identity_compare_p): Likewise.
443 (lower_struct_comparison): Likewise.
444 (build_struct_comparison): Likewise.
445 (d_build_call): Likewise.
446 (build_frame_type): Likewise.
447 (build_closure): Likewise.
448 * d-compiler.cc (Compiler::paintAsType): Likewise.
449 (Compiler::loadModule): Likewise.
450 * d-incpath.cc (add_globalpaths): Likewise.
451 (add_filepaths): Likewise.
452 (add_import_paths): Likewise.
453 * d-lang.cc (deps_write): Likewise.
454 (d_parse_file): Likewise.
455 * decl.cc (gcc_attribute_p): Likewise.
456 (base_vtable_offset): Likewise.
457 (get_vtable_decl): Likewise.
458 (build_class_instance): Likewise.
459 * expr.cc (class ExprVisitor): Likewise.
460 * modules.cc (layout_moduleinfo_fields): Likewise.
461 (layout_moduleinfo): Likewise.
462 (build_module_tree): Likewise.
463 * toir.cc (class IRVisitor): Likewise.
464 * typeinfo.cc (class TypeInfoVisitor): Likewise.
465 (layout_classinfo_interfaces): Likewise.
466 * types.cc (layout_aggregate_members): Likewise.
467 (layout_aggregate_type): Likewise.
468
469 2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org>
470
471 * dmd/MERGE: Merge upstream dmd 47ed0330f.
472
473 2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org>
474
475 * Make-lang.in (D_OBJS): Add d-compiler.o, d-ctfloat.o, d-port.o.
476 * d-frontend.cc (Port::memicmp): Move to d-port.cc.
477 (Port::strupr): Likewise.
478 (Port::isFloat32LiteralOutOfRange): Likewise.
479 (Port::isFloat64LiteralOutOfRange): Likewise.
480 (Port::readwordLE): Likewise.
481 (Port::readwordBE): Likewise.
482 (Port::readlongLE): Likewise.
483 (Port::readlongBE): Likewise.
484 (Port::valcpy): Likewise.
485 (CTFloat::fabs): Move to d-ctfloat.cc.
486 (CTFloat::ldexp): Likewise.
487 (CTFloat::isIdentical): Likewise.
488 (CTFloat::isNaN): Likewise.
489 (CTFloat::isSNaN): Likewise.
490 (CTFloat::isInfinity): Likewise.
491 (CTFloat::parse): Likewise.
492 (CTFloat::sprint): Likewise.
493 (CTFloat::hash): Likewise.
494 (Compiler::genCmain): Move to d-compiler.cc.
495 (Compiler::paintAsType): Likewise.
496 (Compiler::loadModule): Likewise.
497 * d-compiler.cc: New file.
498 * d-ctfloat.cc: New file.
499 * d-port.cc: New file.
500
501 2020-06-02 Iain Buclaw <ibuclaw@gdcproject.org>
502
503 * decl.cc (DeclVisitor::build_dsymbol): New function.
504 (DeclVisitor::visit (TupleDeclaration *)): Use build_dsymbol to
505 traverse AST instead of accept.
506 (DeclVisitor::visit (AttribDeclaration *)): Likewise.
507 (DeclVisitor::visit (Nspace *)): Likewise.
508 (DeclVisitor::visit (TemplateDeclaration *)): Likewise.
509 (DeclVisitor::visit (TemplateInstance *)): Likewise.
510 (DeclVisitor::visit (TemplateMixin *)): Likewise.
511 (DeclVisitor::visit (StructDeclaration *)): Likewise.
512 (DeclVisitor::visit (ClassDeclaration *)): Likewise.
513 (DeclVisitor::visit (InterfaceDeclaration *)): Likewise.
514 (DeclVisitor::visit (VarDeclaration *)): Likewise.
515 (build_decl_tree): Likewise.
516
517 2020-06-02 Iain Buclaw <ibuclaw@gdcproject.org>
518
519 * d-builtins.cc (build_frontend_type): Handle struct fields with NULL
520 DECL_NAME. Use byte_position to get the real field offset.
521
522 2020-05-06 Iain Buclaw <ibuclaw@gdcproject.org>
523
524 PR d/94970
525 * d-codegen.cc (force_target_expr): Move create_temporary_var
526 implementation inline here.
527 (create_temporary_var): Remove.
528 (maybe_temporary_var): Remove.
529 (bind_expr): Remove.
530 * d-convert.cc (d_array_convert): Use build_local_temp to generate
531 temporaries, and generate its assignment.
532 * d-tree.h (create_temporary_var): Remove.
533 (maybe_temporary_var): Remove.
534 (d_array_convert): Remove vars argument.
535 * expr.cc (ExprVisitor::visit (CatExp *)): Use build_local_temp to
536 generate temporaries, don't wrap them in a BIND_EXPR.
537 (ExprVisitor::visit (NewExp *)): Likewise.
538
539 2020-04-30 Iain Buclaw <ibuclaw@gdcproject.org>
540
541 * gdc.texi (Options for Linking): Clarify usage of -defaultlib= and
542 -debuglib= options.
543
544 2020-04-29 Iain Buclaw <ibuclaw@gdcproject.org>
545
546 * d-codegen.cc (d_decl_context): Don't include module in the name of
547 class and struct types that aren't extern(D).
548
549 2020-04-27 Iain Buclaw <ibuclaw@gdcproject.org>
550
551 PR d/94777
552 * d-builtins.cc (build_frontend_type): Set parent for generated
553 fields of built-in types.
554 * d-codegen.cc (argument_reference_p): Rename to ...
555 (parameter_reference_p): ... this.
556 (type_passed_as): Rename to ...
557 (parameter_type): ... this. Make TREE_ADDRESSABLE types restrict.
558 (d_build_call): Move handling of non-POD types here from ...
559 * d-convert.cc (convert_for_argument): ... here.
560 * d-tree.h (argument_reference_p): Rename declaration to ...
561 (parameter_reference_p): ... this.
562 (type_passed_as): Rename declaration to ...
563 (parameter_type): ... this.
564 * types.cc (TypeVisitor::visit (TypeFunction *)): Update caller.
565
566 2020-04-26 Iain Buclaw <ibuclaw@gdcproject.org>
567
568 * decl.cc (get_symbol_decl): Set DECL_DECLARED_INLINE_P or
569 DECL_UNINLINABLE for declarations with pragma(inline).
570 * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_INLINE_P if
571 in function decorated with pragma(inline).
572
573 2020-04-25 Iain Buclaw <ibuclaw@gdcproject.org>
574
575 * intrinsics.cc (expand_intrinsic_toprec): New function.
576 (maybe_expand_intrinsic): Handle toPrec intrinsics.
577 * intrinsics.def (TOPRECF, TOPREC, TOPRECL): Add toPrec intrinsics.
578
579 2020-04-24 Iain Buclaw <ibuclaw@gdcproject.org>
580
581 * d-spec.cc (need_phobos): Remove.
582 (lang_specific_driver): Replace need_phobos with phobos_library.
583 Reorder -debuglib and -defaultlib to have precedence over libphobos.
584 (lang_specific_pre_link): Remove test for need_phobos.
585
586 2020-04-19 Iain Buclaw <ibuclaw@gdcproject.org>
587
588 PR d/94609
589 * d-codegen.cc (argument_reference_p): Don't check TREE_ADDRESSABLE.
590 (type_passed_as): Build reference type if TREE_ADDRESSABLE.
591 * d-convert.cc (convert_for_argument): Build explicit TARGET_EXPR if
592 needed for arguments passed by invisible reference.
593 * types.cc (TypeVisitor::visit (TypeStruct *)): Mark all structs that
594 are not POD as TREE_ADDRESSABLE.
595
596 2020-04-13 Iain Buclaw <ibuclaw@gdcproject.org>
597
598 * Make-lang.in (D_FRONTEND_OBJS): Remove d/argtypes.o.
599 * d-target.cc (Target::toArgTypes): New function.
600
601 2020-04-10 Iain Buclaw <ibuclaw@gdcproject.org>
602
603 * d-spec.cc (LIBDRUNTIME): Remove.
604 (LIBDRUNTIME_PROFILE): Remove.
605 (lang_specific_driver): Don't link in libgdruntime.
606
607 2020-04-07 Iain Buclaw <ibuclaw@gdcproject.org>
608
609 PR d/94425
610 * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_VOLATILE_P
611 on all asm statements.
612
613 2020-04-01 Iain Buclaw <ibuclaw@gdcproject.org>
614
615 PR d/90136
616 * d-attribs.cc: Include dmd/attrib.h.
617 (build_attributes): Redeclare as static.
618 (apply_user_attributes): New function.
619 * d-tree.h (class UserAttributeDeclaration): Remove.
620 (build_attributes): Remove.
621 (apply_user_attributes): Declare.
622 (finish_aggregate_type): Remove attrs argument.
623 * decl.cc (get_symbol_decl): Merge declaration prototypes with
624 definitions. Use apply_user_attributes.
625 * modules.cc (layout_moduleinfo_fields): Remove last argument to
626 finish_aggregate_type.
627 * typeinfo.cc (layout_classinfo_interfaces): Likewise.
628 * types.cc (layout_aggregate_members): Likewise.
629 (finish_aggregate_type): Remove attrs argument.
630 (TypeVisitor::visit (TypeEnum *)): Use apply_user_attributes.
631 (TypeVisitor::visit (TypeStruct *)): Remove last argument to
632 finish_aggregate_type. Use apply_user_attributes.
633 (TypeVisitor::visit (TypeClass *)): Likewise.
634
635 2020-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
636
637 * d-attribs.cc (d_langhook_common_attribute_table): Add always_inline.
638 (handle_always_inline_attribute): New function.
639
640 2020-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
641
642 PR d/94424
643 * d-codegen.cc (build_alignment_field): Remove.
644 (build_struct_literal): Don't insert alignment padding.
645 * expr.cc (ExprVisitor::visit (AssignExp *)): Call memset before
646 assigning struct literals.
647
648 2020-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
649
650 * typeinfo.cc (TypeInfoVisitor::internal_reference): Call
651 d_comdat_linkage on generated decl.
652
653 2020-03-22 Iain Buclaw <ibuclaw@gdcproject.org>
654
655 PR d/93038
656 * d-lang.cc (deps_write): Generate phony targets for content imported
657 files.
658
659 2020-03-22 Iain Buclaw <ibuclaw@gdcproject.org>
660
661 PR d/93038
662 * d-lang.cc (deps_write): Add content imported files to the make
663 dependency list.
664
665 2020-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
666
667 PR d/94240
668 * typeinfo.cc (class TypeInfoVisitor): Replace type_ field with decl_.
669 (TypeInfoVisitor::TypeInfoVisitor): Set decl_.
670 (TypeInfoVisitor::result): Update.
671 (TypeInfoVisitor::internal_reference): New function.
672 (TypeInfoVisitor::layout_string): Use internal_reference.
673 (TypeInfoVisitor::visit (TypeInfoTupleDeclaration *)): Likewise.
674 (layout_typeinfo): Construct TypeInfoVisitor with typeinfo decl.
675 (layout_classinfo): Likewise.
676
677 2020-03-20 Iain Buclaw <ibuclaw@gdcproject.org>
678
679 PR lto/91027
680 * d-tree.h (struct GTY): Add daggregate field.
681 (IDENTIFIER_DAGGREGATE): Define.
682 (d_mangle_decl): Add declaration.
683 * decl.cc (mangle_decl): Remove static linkage, rename to...
684 (d_mangle_decl): ...this, update all callers.
685 * types.cc (merge_aggregate_types): New function.
686 (TypeVisitor::visit (TypeStruct *)): Call merge_aggregate_types, set
687 IDENTIFIER_DAGGREGATE and TYPE_CXX_ODR_P.
688 (TypeVisitor::visit (TypeClass *)): Likewise.
689
690 2020-03-18 Jakub Jelinek <jakub@redhat.com>
691
692 * expr.cc (ExprVisitor::visit (CatAssignExp *)): Fix up duplicated
693 word issue in a comment.
694 * d-target.cc (Target::FPTypeProperties<T>::max): Likewise.
695
696 2020-03-16 Iain Buclaw <ibuclaw@gdcproject.org>
697
698 PR d/92309
699 * types.cc (fixup_anonymous_offset): Don't set DECL_FIELD_OFFSET on
700 anonymous fields.
701
702 2020-03-16 Iain Buclaw <ibuclaw@gdcproject.org>
703
704 PR d/92216
705 * decl.cc (make_thunk): Don't set TREE_PUBLIC on thunks if the target
706 function is external to the current compilation.
707
708 2020-01-01 Jakub Jelinek <jakub@redhat.com>
709
710 Update copyright years.
711
712 * gdc.texi: Bump @copyrights-d year.
713 \f
714 Copyright (C) 2020 Free Software Foundation, Inc.
715
716 Copying and distribution of this file, with or without modification,
717 are permitted in any medium without royalty provided the copyright
718 notice and this notice are preserved.
This page took 0.069687 seconds and 5 git commands to generate.