Daily bump.
[platform/upstream/gcc.git] / gcc / d / ChangeLog
index eb17034..7f1f510 100644 (file)
@@ -1,3 +1,237 @@
+2021-10-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * d-spec.cc (lang_specific_driver): Push the -static-libstdc++
+       option back onto the command line for targets without support
+       for -Bstatic/dynamic.
+
+2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102574
+       * d-spec.cc (lang_specific_driver): Link libstdc++ statically if
+       -static-libstdc++ was given on command-line.
+
+2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc (d_handle_optimize_attribute): Save target node before
+       calling parse_optimize_options in case it changes.
+
+2021-09-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102185
+       * d-builtins.cc (d_eval_constant_expression): Don't include
+       terminating null pointer in string expression conversion.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-codegen.cc: Include dmd/module.h.
+       (build_filename_from_loc): New function.
+       (d_assert_call): Rename to...
+       (build_assert_call): ...this.
+       (build_array_bounds_call): Call arrayboundsp variant of the array
+       bounds failure callback.
+       (build_bounds_condition): Rename to...
+       (build_bounds_index_condition): ...this.  Update signature.
+       (build_bounds_slice_condition): New function.
+       (checkaction_trap_p): New function.
+       (d_assert_call): Call assertp variant of assert failure callback.
+       * d-tree.h (class IndexExp): Declare.
+       (class SliceExp): Declare.
+       (build_bounds_condition): Remove.
+       (build_assert_call): Declare.
+       (build_bounds_index_condition): Declare.
+       (build_bounds_slice_condition): Declare.
+       (checkaction_trap_p): Declare.
+       (d_assert_call): Remove.
+       * expr.cc (ExprVisitor::visit(IndexExp *)): Call
+       build_bounds_index_condition.
+       (ExprVisitor::visit(SliceExp *)): Call build_bounds_slice_condition.
+       (ExprVisitor::visit(AssertExp *)): Update setting of libcall.
+       * runtime.cc (enum d_libcall_type): Add LCT_IMMUTABLE_CHARPTR.
+       (get_libcall_type): Handle LCT_IMMUTABLE_CHARPTR.
+       * runtime.def (ASSERT): Rename to...
+       (ASSERTP): ...this.  Update signature.
+       (UNITTEST): Rename to...
+       (UNITTESTP): ...this.  Update signature.
+       (ARRAY_BOUNDS): Rename to...
+       (ARRAYBOUNDSP): ...this.  Updates signature.
+       * toir.cc (IRVisitor::visit(SwitchErrorStatement *)): Update call.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * typeinfo.cc (class TypeInfoVisitor::layout_base): Update comment.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * typeinfo.cc (TypeInfoVisitor::visit(TypeInfoClassDeclaration *)):
+       Use int to store type flags.
+       (TypeInfoVisitor::visit(TypeInfoStructDeclaration *)): Likewise.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * types.cc (TypeVisitor::visit(TypeEnum*)): Get wchar_t type from
+       build_frontend_type.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-convert.cc (convert_for_rvalue): Convert switch statement into if
+       condition.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (d_init_versions): Use POINTER_SIZE for testing
+       whether to predefine D_LP64.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102094
+       * d-codegen.cc (build_frame_type): Set TYPE_CXX_ODR_P.
+
+2021-08-25  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR other/93067
+       * d-lang.cc (d_input_charset_callback): New function.
+       (d_init): Call new function
+       diagnostic_initialize_input_context().
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (binary_op): Remove dead code.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)):
+       Always layout initializer for the m_RTInfo field.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (ExprVisitor::visit (AssertExp *)): Don't generate
+       PREDICT_EXPR.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (ExprVisitor::visit (AssignExp *)): Clarify comment
+         for generating static array assignment with literal.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (enum_initializer_decl): Only handle named enums.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (make_thunk): Set COMDAT and visibility of thunks only if
+       they are public.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't use sinit
+       for declaration directly.
+       (DeclVisitor::visit (ClassDeclaration *)): Likewise.
+       (aggregate_initializer_decl): Likewise.  Set sinit after creating.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (build_frontend_type): Use Identifier::idPool to
+       generate anonymous field name.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * types.cc (layout_aggregate_type): Call hasMonitor.
+       * typeinfo.cc (TypeInfoVisitor::layout_base): Likewise.
+       (layout_cpp_typeinfo): Likewise.  Don't emit vtable unless
+       have_typeinfo_p.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (deps_add_target): Insert null terminator in buffer.
+       (deps_write): Likewise.
+       (d_parse_file): Likewise.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (build_frontend_type): Restore builtin_converted_decls
+       length on conversion failure.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-codegen.cc (d_nested_class): Rename to ...
+       (get_outer_function): ... this.  Handle all aggregate declarations.
+       (d_nested_struct): Remove.
+       (find_this_tree): Use get_outer_function.
+       (get_framedecl): Likewise.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101672
+       * typeinfo.cc (make_frontend_typeinfo): Generate Object class if it
+       doesn't exist.
+       (check_typeinfo_type): Don't warn if there's no location.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101664
+       * expr.cc (ExprVisitor::visit (CallExp *)): Use object expression as
+       result for C++ constructor calls.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96435
+       * d-convert.cc (convert_for_rvalue): New function.
+       * d-tree.h (convert_for_rvalue): Declare.
+       * expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue.
+       (build_return_dtor): Likewise.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101657
+       * d-lang.cc (d_parse_file): Remove generated D header files on error.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101656
+       * d-diagnostic.cc (escape_d_format): Don't escape quoted format
+       strings.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101640
+       * expr.cc (binary_op): Use build2 instead of fold_build2.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101490
+       * dmd/MERGE: Merge upstream dmd 27e388b4c.
+       * d-codegen.cc (build_array_index): Handle void arrays same as byte.
+       * d-convert.cc (convert_expr): Handle converting to zero-sized arrays.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101441
+       * dmd/MERGE: Merge upstream dmd f8c1ca928.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101127
+       * d-builtins.cc (d_builtin_function_ext_scope): New function.
+       * d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define.
+       * d-tree.h (d_builtin_function_ext_scope): Declare.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101619
+       * dmd/MERGE: Merge upstream dmd 1d8386a63.
+
+2021-07-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101273
+       * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returns that
+       use a temporary, and replace with return value.
+
+2021-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101282
+       * d-codegen.cc (build_assign): Force target_expr on RHS for non-POD
+       assignment expressions.
+
 2021-06-11  Iain Buclaw  <ibuclaw@gdcproject.org>
 
        PR d/100999