Daily bump.
[official-gcc.git] / gcc / d / ChangeLog
blobc045cc9ddd221d33d40be44c85bd8f42ec834852
1 2021-10-08  Martin Liska  <mliska@suse.cz>
3         * d-lang.cc (d_post_options): Use new macro
4         OPTION_SET_P.
6 2021-10-05  Iain Sandoe  <iain@sandoe.co.uk>
8         * d-spec.cc (lang_specific_driver): Push the -static-libstdc++
9         option back onto the command line for targets without support
10         for -Bstatic/dynamic.
12 2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
14         PR d/102574
15         * d-spec.cc (lang_specific_driver): Link libstdc++ statically if
16         -static-libstdc++ was given on command-line.
18 2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
20         * d-attribs.cc (d_handle_optimize_attribute): Save target node before
21         calling parse_optimize_options in case it changes.
23 2021-09-12  Iain Buclaw  <ibuclaw@gdcproject.org>
25         PR d/102185
26         * d-builtins.cc (d_eval_constant_expression): Don't include
27         terminating null pointer in string expression conversion.
29 2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
31         * d-codegen.cc: Include dmd/module.h.
32         (build_filename_from_loc): New function.
33         (d_assert_call): Rename to...
34         (build_assert_call): ...this.
35         (build_array_bounds_call): Call arrayboundsp variant of the array
36         bounds failure callback.
37         (build_bounds_condition): Rename to...
38         (build_bounds_index_condition): ...this.  Update signature.
39         (build_bounds_slice_condition): New function.
40         (checkaction_trap_p): New function.
41         (d_assert_call): Call assertp variant of assert failure callback.
42         * d-tree.h (class IndexExp): Declare.
43         (class SliceExp): Declare.
44         (build_bounds_condition): Remove.
45         (build_assert_call): Declare.
46         (build_bounds_index_condition): Declare.
47         (build_bounds_slice_condition): Declare.
48         (checkaction_trap_p): Declare.
49         (d_assert_call): Remove.
50         * expr.cc (ExprVisitor::visit(IndexExp *)): Call
51         build_bounds_index_condition.
52         (ExprVisitor::visit(SliceExp *)): Call build_bounds_slice_condition.
53         (ExprVisitor::visit(AssertExp *)): Update setting of libcall.
54         * runtime.cc (enum d_libcall_type): Add LCT_IMMUTABLE_CHARPTR.
55         (get_libcall_type): Handle LCT_IMMUTABLE_CHARPTR.
56         * runtime.def (ASSERT): Rename to...
57         (ASSERTP): ...this.  Update signature.
58         (UNITTEST): Rename to...
59         (UNITTESTP): ...this.  Update signature.
60         (ARRAY_BOUNDS): Rename to...
61         (ARRAYBOUNDSP): ...this.  Updates signature.
62         * toir.cc (IRVisitor::visit(SwitchErrorStatement *)): Update call.
64 2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
66         * typeinfo.cc (class TypeInfoVisitor::layout_base): Update comment.
68 2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
70         * typeinfo.cc (TypeInfoVisitor::visit(TypeInfoClassDeclaration *)):
71         Use int to store type flags.
72         (TypeInfoVisitor::visit(TypeInfoStructDeclaration *)): Likewise.
74 2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
76         * types.cc (TypeVisitor::visit(TypeEnum*)): Get wchar_t type from
77         build_frontend_type.
79 2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
81         * d-convert.cc (convert_for_rvalue): Convert switch statement into if
82         condition.
84 2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
86         * d-builtins.cc (d_init_versions): Use POINTER_SIZE for testing
87         whether to predefine D_LP64.
89 2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
91         PR d/102094
92         * d-codegen.cc (build_frame_type): Set TYPE_CXX_ODR_P.
94 2021-08-25  Lewis Hyatt  <lhyatt@gmail.com>
96         PR other/93067
97         * d-lang.cc (d_input_charset_callback): New function.
98         (d_init): Call new function
99         diagnostic_initialize_input_context().
101 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
103         * expr.cc (binary_op): Remove dead code.
105 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
107         * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)):
108         Always layout initializer for the m_RTInfo field.
110 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
112         * expr.cc (ExprVisitor::visit (AssertExp *)): Don't generate
113         PREDICT_EXPR.
115 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
117         * expr.cc (ExprVisitor::visit (AssignExp *)): Clarify comment
118           for generating static array assignment with literal.
120 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
122         * decl.cc (enum_initializer_decl): Only handle named enums.
124 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
126         * decl.cc (make_thunk): Set COMDAT and visibility of thunks only if
127         they are public.
129 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
131         * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't use sinit
132         for declaration directly.
133         (DeclVisitor::visit (ClassDeclaration *)): Likewise.
134         (aggregate_initializer_decl): Likewise.  Set sinit after creating.
136 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
138         * d-builtins.cc (build_frontend_type): Use Identifier::idPool to
139         generate anonymous field name.
141 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
143         * types.cc (layout_aggregate_type): Call hasMonitor.
144         * typeinfo.cc (TypeInfoVisitor::layout_base): Likewise.
145         (layout_cpp_typeinfo): Likewise.  Don't emit vtable unless
146         have_typeinfo_p.
148 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
150         * d-lang.cc (deps_add_target): Insert null terminator in buffer.
151         (deps_write): Likewise.
152         (d_parse_file): Likewise.
154 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
156         * d-builtins.cc (build_frontend_type): Restore builtin_converted_decls
157         length on conversion failure.
159 2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
161         * d-codegen.cc (d_nested_class): Rename to ...
162         (get_outer_function): ... this.  Handle all aggregate declarations.
163         (d_nested_struct): Remove.
164         (find_this_tree): Use get_outer_function.
165         (get_framedecl): Likewise.
167 2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
169         PR d/101672
170         * typeinfo.cc (make_frontend_typeinfo): Generate Object class if it
171         doesn't exist.
172         (check_typeinfo_type): Don't warn if there's no location.
174 2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
176         PR d/101664
177         * expr.cc (ExprVisitor::visit (CallExp *)): Use object expression as
178         result for C++ constructor calls.
180 2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
182         PR d/96435
183         * d-convert.cc (convert_for_rvalue): New function.
184         * d-tree.h (convert_for_rvalue): Declare.
185         * expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue.
186         (build_return_dtor): Likewise.
188 2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
190         PR d/101657
191         * d-lang.cc (d_parse_file): Remove generated D header files on error.
193 2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
195         PR d/101656
196         * d-diagnostic.cc (escape_d_format): Don't escape quoted format
197         strings.
199 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
201         PR d/101640
202         * expr.cc (binary_op): Use build2 instead of fold_build2.
204 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
206         PR d/101490
207         * dmd/MERGE: Merge upstream dmd 27e388b4c.
208         * d-codegen.cc (build_array_index): Handle void arrays same as byte.
209         * d-convert.cc (convert_expr): Handle converting to zero-sized arrays.
211 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
213         PR d/101441
214         * dmd/MERGE: Merge upstream dmd f8c1ca928.
216 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
218         PR d/101127
219         * d-builtins.cc (d_builtin_function_ext_scope): New function.
220         * d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define.
221         * d-tree.h (d_builtin_function_ext_scope): Declare.
223 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
225         PR d/101619
226         * dmd/MERGE: Merge upstream dmd 1d8386a63.
228 2021-07-03  Iain Buclaw  <ibuclaw@gdcproject.org>
230         PR d/101273
231         * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returns that
232         use a temporary, and replace with return value.
234 2021-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
236         PR d/101282
237         * d-codegen.cc (build_assign): Force target_expr on RHS for non-POD
238         assignment expressions.
240 2021-06-11  Iain Buclaw  <ibuclaw@gdcproject.org>
242         PR d/100999
243         * dmd/MERGE: Merge upstream dmd 7a3808254.
245 2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
247         PR d/100967
248         * d-frontend.cc (getTypeInfoType): Move TypeInfo checks to
249         check_typeinfo_type and call new function.
250         * d-tree.h (check_typeinfo_type): Declare.
251         * typeinfo.cc: Include dmd/scope.h.
252         (create_frontend_tinfo_types): Generate front-end types even if Object
253         is missing.
254         (build_typeinfo): Move TypeInfo checks to check_typeinfo_type and call
255         new function.
256         (check_typeinfo_type): New function.
258 2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
260         PR d/100964
261         * dmd/MERGE: Merge upstream dmd 4a4e46a6f.
263 2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
265         PR d/100935
266         * dmd/MERGE: Merge upstream dmd f3fdeb578.
268 2021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
270         PR d/100882
271         * d-codegen.cc (build_assign): Construct initializations inside
272         TARGET_EXPR_INITIAL.
273         (compound_expr): Remove intermediate expressions that have no
274         side-effects.
275         (return_expr): Construct returns inside TARGET_EXPR_INITIAL.
276         * expr.cc (ExprVisitor::visit (CallExp *)): Remove useless assignment
277         to TARGET_EXPR_SLOT.
279 2021-05-18  Iain Buclaw  <ibuclaw@gdcproject.org>
281         * d-incpath.cc (prefixed_path): Use filename_ncmp instead of strncmp.
283 2021-05-18  Iain Buclaw  <ibuclaw@gdcproject.org>
285         * types.cc (TypeVisitor::visit (TypeEnum *)): Use startswith function
286         instead of strncmp.
288 2021-05-18  Iain Buclaw  <ibuclaw@gdcproject.org>
290         * dmd/dinterpret.c (evaluateIfBuiltin): Revert last change.
291         * dmd/dmangle.c: Likewise.
292         * dmd/hdrgen.c: Likewise.
293         * dmd/identifier.c (Identifier::toHChars2): Likewise.
295 2021-05-10  Iain Buclaw  <ibuclaw@gdcproject.org>
297         * dmd/MERGE: Merge upstream dmd b7d146c4c.
299 2021-05-10  Martin Liska  <mliska@suse.cz>
301         * d-builtins.cc (do_build_builtin_fn): Use startswith
302         function instead of strncmp.
303         * dmd/dinterpret.c (evaluateIfBuiltin): Likewise.
304         * dmd/dmangle.c: Likewise.
305         * dmd/hdrgen.c: Likewise.
306         * dmd/identifier.c (Identifier::toHChars2): Likewise.
308 2021-04-19  Iain Buclaw  <ibuclaw@gdcproject.org>
310         PR d/98457
311         * d-diagnostic.cc (expand_d_format): Handle escaped backticks.
312         (escape_d_format): New funtion.
313         (verror): Call escape_d_format on prefixing strings.
314         (vdeprecation): Likewise.
316 2021-04-17  Iain Buclaw  <ibuclaw@gdcproject.org>
318         PR d/99914
319         * d-target.def (d_templates_always_comdat): New hook.
320         * d-tree.h (mark_needed): Remove prototype.
321         * decl.cc: Include d-target.h.
322         (mark_needed): Rename to...
323         (d_mark_needed): ...this.  Make static.
324         (set_linkage_for_decl): Put variables in comdat if
325         d_templates_always_comdat.
327 2021-04-17  Iain Buclaw  <ibuclaw@gdcproject.org>
329         * d-target.cc (d_handle_target_object_format): New function.
330         (d_language_target_info): Add d_handle_target_object_format as handler
331         for objectFormat key.
332         (Target::getTargetInfo): Continue if handler returned NULL_TREE.
334 2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
336         * d-target.cc (Target::_init): Call new targetdm hook to register OS
337         specific target info keys.
338         * d-target.def (d_register_os_target_info): New hook.
340 2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
342         * d-builtins.cc (d_add_builtin_version): Remove all setting of
343         target-specific global.params.
344         * typeinfo.cc (create_typeinfo): Don't add argType fields to
345         TypeInfo_Struct.
347 2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
349         PR d/99914
350         * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't set
351         DECL_INSTANTIATED on static initializer declarations.
352         (DeclVisitor::visit (ClassDeclaration *)): Likewise.
353         (DeclVisitor::visit (EnumDeclaration *)): Likewise.
354         (d_finish_decl): Move call to set_linkage_for_decl to...
355         (declare_extern_var): ...here.
357 2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
359         * d-target.cc (Target::_init): Call new targetdm hook to register CPU
360         specific target info keys.
361         * d-target.def (d_register_cpu_target_info): New hook.
363 2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
365         * d-target.cc (Target::systemLinkage): Return LINKwindows if
366         d_has_stdcall_convention applies to LINKsystem.
367         * d-target.def (d_has_stdcall_convention): New hook.
368         * types.cc (TypeVisitor::visit (TypeFunction *)): Insert "stdcall"
369         function attribute if d_has_stdcall_convention applies to LINKwindows.
371 2021-04-10  Iain Buclaw  <ibuclaw@gdcproject.org>
373         * dmd/MERGE: Merge upstream dmd 0450061c8.
375 2021-04-08  Iain Buclaw  <ibuclaw@gdcproject.org>
377         * d-attribs.cc: Include fold-const.h and opts.h.
378         (attr_noreturn_exclusions): Add alloc_size.
379         (attr_const_pure_exclusions): Likewise.
380         (attr_inline_exclusions): Add target_clones.
381         (attr_noinline_exclusions): Rename forceinline to always_inline.
382         (attr_target_exclusions): New array.
383         (attr_target_clones_exclusions): New array.
384         (attr_alloc_exclusions): New array.
385         (attr_cold_hot_exclusions): New array.
386         (d_langhook_common_attribute_table): Add new D attribute handlers.
387         (build_attributes): Update to look for gcc.attributes.  Issue warning
388         if not given a struct literal.  Handle void initialized arguments.
389         (handle_always_inline_attribute): Remove function.
390         (d_handle_noinline_attribute): Don't extract TYPE_LANG_FRONTEND.
391         (d_handle_forceinline_attribute): Rename to...
392         (d_handle_always_inline_attribute): ...this.  Remove special handling.
393         (d_handle_flatten_attribute): Don't extract TYPE_LANG_FRONTEND.
394         (d_handle_target_attribute): Likewise.  Warn about empty arguments.
395         (d_handle_target_clones_attribute): New function.
396         (optimize_args): New static variable.
397         (parse_optimize_options): New function.
398         (d_handle_optimize_attribute): New function.
399         (d_handle_noclone_attribute): Don't extract TYPE_LANG_FRONTEND.
400         (d_handle_alias_attribute): Remove function.
401         (d_handle_noicf_attribute): New function.
402         (d_handle_noipa_attribute): New function.
403         (d_handle_section_attribute): Call the handle_generic_attribute target
404         hook after performing target independent processing.
405         (d_handle_symver_attribute): New function.
406         (d_handle_noplt_attribute): New function.
407         (positional_argument): New function.
408         (d_handle_alloc_size_attribute): New function.
409         (d_handle_cold_attribute): New function.
410         (d_handle_restrict_attribute): New function.
411         (d_handle_used_attribute): New function.
412         * decl.cc (gcc_attribute_p): Update to look for gcc.attributes.
413         (get_symbol_decl): Update decl source location of old prototypes to
414         the new declaration being merged.
415         * types.cc (layout_aggregate_members): Apply user defined attributes
416         on fields.
418 2021-04-06  Iain Buclaw  <ibuclaw@gdcproject.org>
420         PR d/99917
421         * dmd/MERGE: Merge upstream dmd d16195406.
423 2021-04-06  Iain Buclaw  <ibuclaw@gdcproject.org>
425         * d-codegen.cc (build_frame_type): Use Array::find to get index of
426         element.
428 2021-04-06  Iain Buclaw  <ibuclaw@gdcproject.org>
430         * d-diagnostic.cc (vwarning): Increment gaggedWarnings if warning
431         message was suppressed.
432         (vdeprecation): Likewise for deprecation messages.
434 2021-04-06  Iain Buclaw  <ibuclaw@gdcproject.org>
436         * dmd/MERGE: Merge upstream dmd 5cc71ff83.
438 2021-04-05  Iain Buclaw  <ibuclaw@gdcproject.org>
440         PR d/99914
441         * d-lang.cc (d_init): Disable flag_weak_templates if no support for
442         weak or one-only symbols.
443         * d-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro.
444         (DECL_INSTANTIATED): New macro.
445         (d_comdat_linkage): Remove declaration.
446         (d_linkonce_linkage): Remove declaration.
447         (set_linkage_for_decl): New declaration.
448         * decl.cc (DeclVisitor::visit (StructDeclaration *)): Replace call to
449         d_linkonce_linkage with setting DECL_INSTANTIATED.
450         (DeclVisitor::visit (ClassDeclaration *)): Likewise.
451         (DeclVisitor::visit (EnumDeclaration *)): Likewise.
452         (DeclVisitor::visit (InterfaceDeclaration *)): Remove call to
453         d_linkonce_linkage.
454         (get_symbol_decl): Call set_linkage_for_decl instead of
455         d_linkonce_linkage.
456         (d_finish_decl): Call set_linkage_for_decl.
457         (d_comdat_linkage): Made function static.  Only set DECL_COMDAT for
458         DECL_INSTANTIATED decls.
459         (d_linkonce_linkage): Remove function.
460         (d_weak_linkage): New function.
461         (set_linkage_for_decl): New function.
462         * gdc.texi (Runtime Options): Rename -fno-weak to -fno-weak-templates,
463         update documentation of option.
464         * lang.opt (fweak): Rename option to ...
465         (fweak-templates): ... this.  Update help string.
466         * modules.cc (get_internal_fn): Add Prot parameter.  Set generated
467         function flag.
468         (build_internal_fn): Update call to get_internal_fn.
469         (build_dso_cdtor_fn): Likewise.
470         (register_moduleinfo): Call d_finish_decl on dso_slot_node and
471         dso_initialized_node.
472         * typeinfo.cc (TypeInfoVisitor::internal_reference): Call
473         set_linkage_for_decl instead of d_comdat_linkage.
474         (TypeInfoDeclVisitor::visit (TypeInfoDeclaration *)): Remove calls to
475         d_linkonce_linkage and d_comdat_linkage.
476         (get_cpp_typeinfo_decl): Likewise.
478 2021-04-03  Iain Buclaw  <ibuclaw@gdcproject.org>
480         * dmd/MERGE: Merge upstream dmd 3b808e838.
481         * Make-lang.in (D_FRONTEND_OBJS): Add d/chkformat.o.
482         * d-codegen.cc (build_struct_literal): Handle special enums.
483         * d-convert.cc (convert_expr): Handle noreturn type.
484         (convert_for_condition): Likewise.
485         * d-target.cc (Target::_init): Set type for wchar_t.
486         (TargetCPP::derivedClassOffset): New method.
487         (Target::libraryObjectMonitors): New method.
488         * decl.cc (get_symbol_decl): Set TREE_THIS_VOLATILE for functions of
489         type noreturn.
490         * toir.cc (IRVisitor::visit (ReturnStatement *)): Handle returning
491         noreturn types.
492         * types.cc (TypeVisitor::visit (TypeNoreturn *)): New method.
493         (TypeVisitor::visit (TypeEnum *)): Handle special enums.
495 2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
497         * d-builtins.cc (d_init_versions): Predefine D_PIE if flag_pie is set.
499 2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
501         * d-lang.cc (d_enum_underlying_base_type): New function.
502         (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Set as
503         d_enum_underlying_base_type.
505 2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
507         * Make-lang.in (DMDGEN_COMPILE): Remove.
508         (d/%.dmdgen.o): Use COMPILER_FOR_BUILD and BUILD_COMPILERFLAGS to
509         build all D generator programs.
510         (D_SYSTEM_H): New macro.
511         (d/idgen.dmdgen.o): Add dependencies to build.
512         (d/impcnvgen.dmdgen.o): Likewise.
513         * d-system.h: Include bconfig.h if GENERATOR_FILE is defined.
515 2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
517         * config-lang.in (gtfiles): Remove modules.cc.
518         * modules.cc (struct module_info): Remove GTY marker.
519         (static_ctor_list): Remove variable.
520         (static_dtor_list): Remove variable.
521         (register_moduleinfo): Directly set DECL_STATIC_CONSTRUCTOR on
522         dso_ctor, and DECL_STATIC_DESTRUCTOR on dso_dtor.
523         (d_finish_compilation): Remove static ctor/dtor handling.
525 2021-03-06  Iain Buclaw  <ibuclaw@gdcproject.org>
527         * d-lang.cc (d_init_options_struct): Don't set default
528         flag_complex_method.
530 2021-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
532         PR d/99337
533         * dmd/MERGE: Merge upstream dmd a3c9bf422.
535 2021-02-13  Iain Buclaw  <ibuclaw@gdcproject.org>
537         * dmd/MERGE: Merge upstream dmd 7132b3537.
538         * Make-lang.in (D_FRONTEND_OBJS): Add d/dsymbolsem.o, d/semantic2.o,
539         d/semantic3.o, and d/templateparamsem.o.
540         * d-compiler.cc (Compiler::genCmain): Update calls to semantic
541         entrypoint functions.
542         * d-lang.cc (d_parse_file): Likewise.
543         * typeinfo.cc (make_frontend_typeinfo): Likewise.
545 2021-02-05  Iain Buclaw  <ibuclaw@gdcproject.org>
547         * d-tree.h (DEF_D_INTRINSIC): Don't insert INTRINSIC_ into the
548         intrinsic code name.
549         * intrinsics.cc (DEF_D_INTRINSIC): Don't insert INTRISIC_ and
550         BUILT_IN_ into the intrinsic and built-in code names.
551         * intrinsics.def:  Explicitly use full intrinsic and built-in
552         codes in all definitions.
554 2021-02-04  Iain Buclaw  <ibuclaw@gdcproject.org>
556         * dmd/MERGE: Merge upstream dmd 46133f761.
557         * d-builtins.cc (d_build_builtins_module): Set builtins as BUILTINgcc.
558         (maybe_set_builtin_1): Likewise.
559         * d-frontend.cc (eval_builtin): Adjust condition for early return.
560         * intrinsics.cc (maybe_set_intrinsic): Set intrinsics as BUILTINgcc.
561         (maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16.
562         * intrinsics.def (INTRINSIC_BT): Update signature.
563         (INTRINSIC_BT64): Likewise.
564         (INTRINSIC_BSWAP16): New intrinsic.
565         (INTRINSIC_VLOAD8): Update module.
566         (INTRINSIC_VLOAD16): Likewise.
567         (INTRINSIC_VLOAD32): Likewise.
568         (INTRINSIC_VLOAD64): Likewise.
569         (INTRINSIC_VSTORE8): Likewise.
570         (INTRINSIC_VSTORE16): Likewise.
571         (INTRINSIC_VSTORE32): Likewise.
572         (INTRINSIC_VSTORE64): Likewise.
573         (INTRINSIC_ADDS): Update signature.
574         (INTRINSIC_ADDSL): Likewise.
575         (INTRINSIC_ADDU): Likewise.
576         (INTRINSIC_ADDUL): Likewise.
577         (INTRINSIC_SUBS): Likewise.
578         (INTRINSIC_SUBSL): Likewise.
579         (INTRINSIC_SUBU): Likewise.
580         (INTRINSIC_SUBUL): Likewise.
581         (INTRINSIC_MULS): Likewise.
582         (INTRINSIC_MULSL): Likewise.
583         (INTRINSIC_MULU): Likewise.
584         (INTRINSIC_MULUI): Likewise.
585         (INTRINSIC_MULUL): Likewise.
586         (INTRINSIC_NEGS): Likewise.
587         (INTRINSIC_NEGSL): Likewise.
589 2021-02-02  Iain Buclaw  <ibuclaw@gdcproject.org>
591         PR d/98921
592         * dmd/MERGE: Merge upstream dmd 5e2a81d9c.
594 2021-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
596         * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoDeclaration *)): Don't
597         layout m_arg1 and m_arg2 fields.
599 2021-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
601         * dmd/MERGE: Merge upstream dmd 609c3ce2d.
602         * d-compiler.cc (Compiler::loadModule): Rename to ...
603         (Compiler::onParseModule): ... this.
604         (Compiler::onImport): New function.
605         * d-lang.cc (d_parse_file): Remove call to Compiler::loadModule.
607 2021-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>
609         * dmd/MERGE: Merge upstream dmd 3a7ebef73.
611 2021-01-11  Iain Buclaw  <ibuclaw@gdcproject.org>
613         * dmd/MERGE: Merge upstream dmd 2d3d13748.
614         * d-lang.cc (d_handle_option): Remove OPT_ftransition_checkimports and
615         OPT_ftransition_import.
616         * gdc.texi (Warnings): Remove documentation for -ftransition=import
617         and -ftransition=checkimports.
618         * lang.opt (ftransition=checkimports): Remove.
619         (ftransition=import): Remove.
621 2021-01-09  Iain Buclaw  <ibuclaw@gdcproject.org>
623         * dmd/MERGE: Merge upstream dmd cb1106ad5.
625 2021-01-09  Iain Buclaw  <ibuclaw@gdcproject.org>
627         * dmd/MERGE: Merge upstream dmd 9bba772fa.
629 2021-01-09  Iain Buclaw  <ibuclaw@gdcproject.org>
631         * dmd/MERGE: Merge upstream dmd e598f69c0.
633 2021-01-07  Iain Buclaw  <ibuclaw@gdcproject.org>
635         * dmd/MERGE: Merge upstream dmd 9038e64c5.
636         * d-builtins.cc (build_frontend_type): Update call to
637         Parameter::create.
639 2021-01-05  Iain Buclaw  <ibuclaw@gdcproject.org>
641         * dmd/MERGE: Merge upstream dmd a5c86f5b9.
642         * d-builtins.cc (d_eval_constant_expression): Handle ADDR_EXPR trees
643         created by build_string_literal.
644         * d-frontend.cc (retStyle): Remove function.
645         * d-target.cc (d_language_target_info): New variable.
646         (d_target_info_table): Likewise.
647         (Target::_init): Initialize d_target_info_table.
648         (Target::isReturnOnStack): New function.
649         (d_add_target_info_handlers): Likewise.
650         (d_handle_target_cpp_std): Likewise.
651         (d_handle_target_cpp_runtime_library): Likewise.
652         (Target::getTargetInfo): Likewise.
653         * d-target.h (struct d_target_info_spec): New type.
654         (d_add_target_info_handlers): Declare.
656 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
658         * gdc.texi: Bump @copyrights-d year.
660 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
662         * ChangeLog-2020: Rotate ChangeLog.  New file.
665 Copyright (C) 2021 Free Software Foundation, Inc.
667 Copying and distribution of this file, with or without modification,
668 are permitted in any medium without royalty provided the copyright
669 notice and this notice are preserved.