+2020-12-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/98277
+ * decl.cc (DeclVisitor::visit (VarDeclaration *)): Move setting of
+ DECL_INITIAL for manifest constants to ...
+ (get_symbol_decl): ... here.
+
+2020-11-29 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-target.def (d_minfo_section): New hook.
+ (d_minfo_start_name): New hook.
+ (d_minfo_end_name): New hook.
+ * modules.cc: Include d-target.h.
+ (register_moduleinfo): Update to use new targetdm hooks.
+
+2020-11-29 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/87788
+ * dmd/MERGE: Merge upsream dmd 45fa6cfd2.
+
+2020-11-27 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd db0df3f7e.
+ * types.cc (TypeVisitor::visit (TypeFunction *)): Remove LINKpascal.
+
+2020-11-27 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * intrinsics.cc (maybe_expand_intrinsic): Handle new intrinsics.
+ * intrinsics.def (INTRINSIC_COS): Add float and double overloads.
+ (INTRINSIC_FABS): Likewise.
+ (INTRINSIC_LDEXP): Likewise.
+ (INTRINSIC_RINT): Likewise.
+ (INTRINSIC_RNDTOL): Likewise.
+ (INTRINSIC_SIN): Likewise.
+ (INTRINSIC_TOPREC): Adjust signature.
+
+2020-11-22 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/97889
+ * expr.cc (ExprVisitor::visit (CatAssignExp *)): Enforce LTR order of
+ evaluation on left and right hand side expressions.
+
+2020-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/97911
+ * Make-lang.in (d.serial): Change from goal to a variable.
+ (.PHONY): Drop d.serial and d.prev.
+ (d21$(exeext)): Depend on $(d.serial) rather than d.serial.
+
+2020-11-18 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (d.serial): New goal.
+ (.PHONY): Add d.serial d.prev.
+ (d21$(exeext)): Depend on d.prev. Call LINK_PROGRESS.
+
+2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/97843
+ * d-codegen.cc (build_assign): Evaluate TARGET_EXPR before use in
+ the right hand side of an assignment.
+ * expr.cc (ExprVisitor::visit (CatAssignExp *)): Force a TARGET_EXPR
+ on the element to append if it is a CALL_EXPR.
+
+2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/97842
+ * dmd/MERGE: Merge upstream dmd b6a779e49
+
+2020-11-13 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * intrinsics.cc (expand_intrinsic_copysign): Explicitly determine
+ which built-in copysign function to call.
+
+2020-11-13 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/97644
+ * dmd/MERGE: Merge upstream dmd 95044d8e4.
+ * d-target.cc (TargetCPP::thunkMangle): New function.
+ * decl.cc (finish_thunk): Don't force expand thunks for external
+ functions.
+ (make_thunk): Emit thunks only if the function has a definition.
+ Generate correct mangling for thunks to C++ classes.
+
+2020-11-10 Strager Neds <strager.nds@gmail.com>
+
+ * decl.cc (finish_thunk): Use new overload of
+ set_decl_section_name
+
+2020-10-27 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd bec5973b0.
+ * d-target.cc (Target::critsecsize): Remove.
+ * d-target.def: Remove d_critsec_size.
+
+2020-10-27 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 0fcdaab32
+
+2020-10-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * decl.cc (finish_thunk): Update for new thunk api.
+
+2020-10-22 Jan Hubicka <hubicka@ucw.cz>
+
+ * decl.cc: Include tree-nested.h
+ (get_symbol_decl): Update for new nested function info.
+
+2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 70aabfb51
+
+2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 3a9790525
+ * d-target.cc (Target::isVectorTypeSupported): Adjust return codes for
+ invalid size and invalid base type.
+
+2020-09-12 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/97002
+ * d-codegen.cc (d_build_call): Set input_location on CALL_EXPR.
+ * d-lang.cc: Include function.h.
+ (d_type_promotes_to): Do default conversions for C and C++ functions.
+ * intrinsics.cc (expand_intrinsic_vaarg): Use build1_loc to build
+ VA_ARG_EXPR.
+
+2020-09-12 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-builtins.cc (d_build_d_type_nodes): Call build_ctype() on all
+ basic front-end types.
+ * decl.cc (DeclVisitor::visit (EnumDeclaration *)): Always add decl to
+ current binding level.
+ (build_type_decl): Build TYPE_DECL as a typedef if not for an enum or
+ record type.
+ * types.cc (TypeVisitor::visit (TypeEnum *)): Set underlying type for
+ ENUMERAL_TYPEs. Build TYPE_DECL for non-numeric enums.
+
+2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * lang.opt (Waddress): Enable warning by -Wextra.
+ (Wcast-result): Likewise.
+ (Wunknown-pragmas): Likewise.
+
+2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't warn about
+ variables initialized with 'void'.
+
+2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-convert.cc (convert_expr): Warn when casting from a D class to a
+ C++ class.
+
+2020-09-04 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96924
+ * expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force
+ temporaries needlessly.
+
+2020-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96869
+ * d-builtins.cc (build_frontend_type): Don't expose intrinsics that
+ use unsupported vector types.
+ * d-target.cc (Target::isVectorTypeSupported): Restrict to supporting
+ only if TARGET_VECTOR_MODE_SUPPORTED_P is true. Don't allow complex
+ or boolean vector types.
+
+2020-08-31 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-target.cc (Target::_init): Don't set classinfosize.
+ * d-tree.h (base_vtable_offset): Move under typeinfo.cc section.
+ * decl.cc (base_vtable_offset): Move to...
+ * typeinfo.cc (base_vtable_offset): ...here. Get base offset from
+ internal TypeInfo_Class type.
+ * intrinsics.cc (expand_intrinsic_bt): Use pointer TYPE_SIZE for
+ setting bitsize value. Build integer constants of correct type.
+
+2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd e49192807
+
+2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96156
+ * d-frontend.cc (retStyle): Only return RETstack for struct and static
+ array types.
+ * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Use NRVO return
+ for all TREE_ADDRESSABLE types. Set shidden to the RESULT_DECL.
+ * expr.cc (ExprVisitor::visit (CallExp *)): Force TARGET_EXPR if the
+ 'this' pointer reference is a CONSTRUCTOR.
+ (ExprVisitor::visit (StructLiteralExp *)): Generate assignment to the
+ symbol to initialize with literal.
+ * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returning
+ struct literals and write directly into the RESULT_DECL.
+ * dmd/MERGE: Merge upstream dmd fe5f388d8.
+
+2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd cb4a96fae
+
+2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-lang.cc (d_parse_file): Use read() to load contents from stdin,
+ allow the front-end to free the memory after parsing.
+ * dmd/MERGE: Merge upstream dmd 2cc25c219.
+
+2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96153
+ * d-codegen.cc (build_address): Create a temporary for CALL_EXPRs
+ returning trivial aggregates, pre-filling it with zeroes.
+ (build_memset_call): Use build_zero_cst if setting the entire object.
+
+2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96157
+ * d-codegen.cc (d_build_call): Handle TREE_ADDRESSABLE static arrays.
+ * types.cc (make_array_type): Propagate TREE_ADDRESSABLE from base
+ type to static array.
+
+2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-gimplify.cc (d_gimplify_expr): Move lowering of each tree node to
+ separate functions.
+ (d_gimplify_modify_expr): New function.
+ (d_gimplify_addr_expr): New function.
+ (d_gimplify_call_expr): New function.
+ (d_gimplify_unsigned_rshift_expr): New function.
+
+2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * Make-lang.in (D_OBJS): Add d-gimplify.o.
+ * d-lang.cc (empty_modify_p): Move to d-gimplify.cc.
+ (d_gimplify_expr): Likewise.
+ * d-tree.h (d_gimplify_expr): Declare.
+ * d-gimplify.cc: New file.
+
+2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 1b5a53d01.
+
+2020-08-18 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96301
+ * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Only return
+ non-trivial structs by invisible reference.
+
+2020-08-04 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96153
+ * d-tree.h (build_expr): Add literalp argument.
+ * expr.cc (ExprVisitor): Add literalp_ field.
+ (ExprVisitor::ExprVisitor): Initialize literalp_.
+ (ExprVisitor::visit (AssignExp *)): Call memset() on blits where RHS
+ is a struct literal. Elide assignment if initializer is all zeroes.
+ (ExprVisitor::visit (CastExp *)): Forward literalp_ to generation of
+ subexpression.
+ (ExprVisitor::visit (AddrExp *)): Likewise.
+ (ExprVisitor::visit (ArrayLiteralExp *)): Use memset() to pre-fill
+ object with zeroes. Set literalp in subexpressions.
+ (ExprVisitor::visit (StructLiteralExp *)): Likewise.
+ (ExprVisitor::visit (TupleExp *)): Set literalp in subexpressions.
+ (ExprVisitor::visit (VectorExp *)): Likewise.
+ (ExprVisitor::visit (VectorArrayExp *)): Likewise.
+ (build_expr): Forward literal_p to ExprVisitor.
+
+2020-08-04 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96429
+ * expr.cc (ExprVisitor::visit (BinExp*)): Use EXACT_DIV_EXPR for
+ pointer diff expressions.
+
+2020-08-03 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96254
+ * d-codegen.cc (error_no_frame_access): New.
+ (get_frame_for_symbol): Use fdparent name in error message.
+ (get_framedecl): Replace call to assert with error.
+ * d-tree.h (error_no_frame_access): Declare.
+ * decl.cc (get_decl_tree): Detect recursion and error.
+
+2020-08-03 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96250
+ * dmd/MERGE: Merge upstream dmd c2274e56a.
+
+2020-07-31 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96393
+ * intrinsics.cc (expand_intrinsic_bt): Don't generate BIT_NOT_EXPR for
+ btr32 intrinsic.
+
+2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96152
+ * d-codegen.cc (build_array_from_exprs): New function.
+ * d-tree.h (build_array_from_exprs): Declare.
+ * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Use
+ build_array_from_exprs to generate key and value arrays.
+
+2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96154
+ * gdc.texi (Warnings): Document -Wvarargs.
+ * lang.opt: Add -Wvarargs
+
+2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/96140
+ * intrinsics.cc (expand_intrinsic_vaarg): Handle ref parameters as
+ arguments to va_arg().
+ (expand_intrinsic_vastart): Handle ref parameters as arguments to
+ va_start().
+
+2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * expr.cc (ExprVisitor::visit (AssignExp *)): Inline bounds checking
+ for simple array assignments.
+
+2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-codegen.cc (build_memcmp_call): New function.
+ (build_memcpy_call): New function.
+ (build_memset_call): New function.
+ (build_float_identity): Call build_memcmp_call.
+ (lower_struct_comparison): Likewise.
+ (build_struct_comparison): Likewise.
+ * d-tree.h (build_memcmp_call): Declare.
+ (build_memcpy_call): Declare.
+ (build_memset_call): Declare.
+ * expr.cc (ExprVisitor::visit (EqualExp *)): Call build_memcmp_call.
+ (ExprVisitor::visit (AssignExp *)): Call build_memset_call.
+ (ExprVisitor::visit (ArrayLiteralExp *)): Call build_memcpy_call.
+ (ExprVisitor::visit (StructLiteralExp *)): Call build_memset_call.
+
+2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * expr.cc (needs_postblit): Move out of ExprVisitor as a static
+ function. Update all callers.
+ (needs_dtor): Likewise.
+ (lvalue_p): Likewise.
+ (binary_op): Likewise.
+ (binop_assignment): Likewise.
+
+2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * intrinsics.cc (expand_intrinsic_rotate): Add function.
+ (maybe_expand_intrinsic): Handle rol and ror intrinsics.
+ * intrinsics.def (ROL): Add intrinsic.
+ (ROL_TIARG): Add intrinsic.
+ (ROR): Add intrinsic.
+ (ROR_TIARG): Add intrinsic.
+
+2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-tree.h (DEF_D_INTRINSIC): Rename second argument from A to B.
+ * intrinsics.cc (intrinsic_decl): Add built_in field.
+ (DEF_D_INTRINSIC): Rename second argument from ALIAS to BUILTIN.
+ (maybe_set_intrinsic): Handle new intrinsic codes.
+ (expand_intrinsic_bt): Likewise.
+ (expand_intrinsic_checkedint): Likewise.
+ (expand_intrinsic_bswap): Remove.
+ (expand_intrinsic_sqrt): Remove.
+ (maybe_expand_intrinsic): Group together intrinsic cases that map
+ directly to gcc built-ins.
+ * intrinsics.def (DEF_D_BUILTIN): Rename second argument from A to B.
+ Update all callers to pass equivalent DECL_FUNCTION_CODE.
+ (DEF_CTFE_BUILTIN): Likewise.
+ (STD_COS): Remove intrinsic.
+ (STD_FABS): Remove intrinsic.
+ (STD_LDEXP): Remove intrinsic.
+ (STD_RINT): Remove intrinsic.
+ (STD_RNDTOL): Remove intrinsic.
+ (STD_SIN): Remove intrinsic.
+ (STD_SQRTF): Remove intrinsic.
+ (STD_SQRT): Remove intrinsic.
+ (STD_SQRTL): Remove intrinsic.
+
+2020-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 8508c4e68.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * decl.cc (get_symbol_decl): Do not implicitly set
+ DECL_DECLARED_INLINE_P on member functions.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-lang.cc (d_gimplify_expr_p): Make static.
+ (d_parse_file): Likewise.
+ (d_signed_or_unsigned_type): Move to types.cc.
+ (d_unsigned_type): Likewise.
+ (d_signed_type): Likewise.
+ * d-tree.h (d_unsigned_type): Change the location in file.
+ (d_signed_type): Likewise.
+ * types.cc (d_signed_or_unsigned_type): Moved from d-lang.cc.
+ (d_unsigned_type): Likewise.
+ (d_signed_type): Likewise.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/95075
+ * dmd/MERGE: Merge upstream dmd 4be011355.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/95250
+ * dmd/MERGE: Merge upstream dmd 90450f3ef.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-lang.cc (d_parse_file): Replace OutBuffer with obstack.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 5fc1806cd.
+ * d-lang.cc (d_parse_file): Use peekChars to get string representation
+ of OutBuffer data.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/95173
+ * d-attribs.cc (uda_attribute_p): Don't search target attribute table
+ if NULL.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't set
+ DECL_INITIAL if initializer is 'void'.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-lang.cc (d_init_options): Turn on deprecation warnings by default.
+
+2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 4f1046222.
+ * toir.cc (IRVisitor::visit (OnScopeGuardStatement *)): Rename to ...
+ (IRVisitor::visit (ScopeGuardStatement *)): ... this.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (handle_noreturn_attribute): Remove names of unused
+ function parameters.
+ (handle_leaf_attribute): Likewise.
+ (handle_const_attribute): Likewise.
+ (handle_malloc_attribute): Likewise.
+ (handle_pure_attribute): Likewise.
+ (handle_novops_attribute): Likewise.
+ (handle_nonnull_attribute): Likewise.
+ (handle_nothrow_attribute): Likewise.
+ (handle_type_generic_attribute): Likewise.
+ (handle_transaction_pure_attribute): Likewise.
+ (handle_returns_twice_attribute): Likewise.
+ (handle_fnspec_attribute): Likewise.
+ (handle_always_inline_attribute): Likewise.
+ (d_handle_noinline_attribute): Likewise.
+ (d_handle_forceinline_attribute): Likewise.
+ (d_handle_flatten_attribute): Likewise.
+ (d_handle_noclone_attribute): Likewise.
+ (d_handle_section_attribute): Likewise.
+ (d_handle_alias_attribute): Likewise.
+ (d_handle_weak_attribute): Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc: Update code formatting in a consistant style.
+ * d-builtins.cc: Likewise.
+ * d-codegen.cc: Likewise.
+ * d-compiler.cc: Likewise.
+ * d-convert.cc: Likewise.
+ * d-diagnostic.cc: Likewise.
+ * d-frontend.cc: Likewise.
+ * d-lang.cc: Likewise.
+ * d-longdouble.cc: Likewise.
+ * d-port.cc: Likewise.
+ * d-spec.cc: Likewise.
+ * d-tree.h: Likewise.
+ * decl.cc: Likewise.
+ * expr.cc: Likewise.
+ * longdouble.h: Likewise.
+ * modules.cc: Likewise.
+ * toir.cc: Likewise.
+ * typeinfo.cc: Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-builtins.cc: Update quotation formatting of comments.
+ * d-codegen.cc: Likewise.
+ * d-lang.cc: Likewise.
+ * decl.cc: Likewise.
+ * expr.cc: Likewise.
+ * imports.cc: Likewise.
+ * runtime.cc: Likewise.
+ * toir.cc: Likewise.
+ * typeinfo.cc: Likewise.
+ * types.cc: Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-diagnostic.cc (expand_d_format): Replace OutBuffer with obstack.
+ (d_diagnostic_report_diagnostic): Don't free xformat.
+ * d-lang.cc (struct d_option_data): Change deps_target type from
+ OutBuffer to vec <const char *>.
+ (deps_add_target): Update to push each target to deps_target.
+ (deps_write_string): New function.
+ (deps_write): Change buffer type to obstack* and remove colmax.
+ (d_init_options): Update initialization of deps_target.
+ (d_parse_file): Replace OutBuffer with obstack.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-lang.cc (d_parse_file): Replace uses of File with FILE.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-codegen.cc (build_array_bounds_call): New function.
+ (build_bounds_condition): Use build_array_bounds_call.
+ * d-lang.cc (d_init_options): Explicitly set default check action to
+ CHECKACTION_D.
+ (d_post_options): Set check action to CHECKACTION_C if the flag
+ -fno-druntime was seen.
+ * d-tree.h (build_array_bounds_call): Declare.
+ * expr.cc (ExprVisitor::visit (AssertExp *)): Use
+ build_array_bounds_call.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (build_attributes): Use toStringExp instead of cast.
+ * toir.cc (IRVisitor::visit): Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of
+ explicit casts.
+ * d-codegen.cc (d_build_call): Likewise.
+ * d-compiler.cc (Compiler::paintAsType): Likewise.
+ * decl.cc (ExprVisitor::visit): Likewise.
+ (layout_class_initializer): Likewise.
+ * expr.cc (ExprVisitor::lvalue_p): Likewise
+ (ExprVisitor::visit): Likewise.
+ * types.cc (layout_aggregate_members): Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast.
+ * decl.cc (DeclVisitor::visit): Likewise.
+ * toir.cc (IRVisitor::visit): Likewise.
+ * typeinfo.cc (TypeInfoVisitor::visit): Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers
+ instead of explicit casts.
+ (d_build_builtins_module): Likewise.
+ * d-codegen.cc (get_array_length): Likewise.
+ (identity_compare_p): Likewise.
+ (lower_struct_comparison): Likewise.
+ (build_array_from_val): Likewise.
+ (array_bounds_check): Likewise.
+ (get_function_type): Likewise.
+ (d_build_call): Likewise.
+ * d-compiler.cc (Compiler::paintAsType): Likewise.
+ * d-convert.cc (convert_expr): Likewise.
+ (convert_for_assignment): Likewise.
+ * d-lang.cc (d_classify_record): Likewise.
+ (d_build_eh_runtime_type): Likewise.
+ * decl.cc (DeclVisitor::visit): Likewise.
+ * expr.cc (ExprVisitor::needs_postblit): Likewise.
+ (ExprVisitor::needs_dtor): Likewise.
+ (ExprVisitor::visit): Likewise.
+ * imports.cc (ImportVisitor::visit): Likewise.
+ * typeinfo.cc (get_typeinfo_kind): Likewise.
+ (TypeInfoVisitor::visit): Likewise.
+ (TypeDeclInfoVisitor::visit): Likewise.
+ * types.cc (merge_aggregate_types): Likewise.
+ (TypeVisitor::visit): Likewise.
+
+2020-06-14 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line
+ lengths, no functional change.
+ * typeinfo.cc (TypeInfoVisitor::layout_interfaces): Likewise.
+ (layout_classinfo_interfaces): Likewise.
+
+2020-06-09 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 13d67c575.
+ * d-builtins.cc (build_frontend_type): Update call to
+ TypeVector::create.
+ * d-frontend.cc (Global::_init): Move setting of errorLimit to ...
+ * d-lang.cc (d_init_options): ... here. Update for new field
+ location of errorLimit.
+ (d_post_options): Likewise.
+ * d-port.cc (Port::readwordLE): Update signature.
+ (Port::readwordBE): Likewise.
+ (Port::readlongLE): Likewise.
+ (Port::readlongBE): Likewise.
+ * decl.cc (get_symbol_decl): Update for new field types.
+
+2020-06-08 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/95573
+ * dmd/MERGE: Merge upstream dmd 5041e56f1.
+
+2020-06-08 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 955b8b36f.
+ * expr.cc (ExprVisitor::visit (AndAndExp *)): Rename type to ...
+ (ExprVisitor::visit (LogicalExp *)): ... this. Handle both 'and if'
+ and 'or if' expression nodes.
+ (ExprVisitor::visit (OrOrExp *)): Remove.
+
+2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 73d8e2fec.
+ * decl.cc (get_symbol_decl): Use new Prot::Kind enum.
+ * modules.cc (get_internal_fn): Likewise.
+
+2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 108ca1bcd.
+ * d-diagnostic.cc (expand_d_format): Adjust to use extractChars().
+ * d-frontend.cc (Loc::toChars): Likewise.
+ * d-lang.cc (deps_write): Likewise.
+ (d_parse_file): Likewise.
+ * decl.cc (d_mangle_decl): Likewise.
+ * intrinsics.cc (maybe_set_intrinsic): Likewise.
+
+2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd b0df0e982.
+ * d-builtins.cc (build_frontend_type): Use VarArg for varargs_p.
+ * d-codegen.cc (declaration_type): Call TypeFunction::create with
+ argument VARARGnone.
+ (parameter_type): Likewise.
+ (d_build_call): Use new field names and member functions.
+ * d-target.cc (Target::cppParameterType): Call TypeFunction::create
+ with argument VARARGnone.
+ * types.cc (TypeVisitor::visit (TypeFunction *): Use new field names
+ and member functions.
+
+2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 1831b24ff.
+ * d-lang.cc (d_init_options): Remove initialization of updated fields.
+ (d_handle_option): Adjust for new field types.
+
+2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd cef1e7991.
+ * d-lang.cc (d_parse_file): Adjust for new field types.
+
2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
* dmd/MERGE: Merge upstream dmd 740f3d1ea.