[committed 00/12] d: Series of refactorings to the D front-end

Iain Buclaw ibuclaw@gdcproject.org
Fri Jul 30 10:58:15 GMT 2021


Hi,

This small series of patches are for non-mechanical refactorings of the
D front-end either required to work with the self-hosted version, or
were made during the port to the self-hosted compiler.

Each individual change has been pulled out into its own patch, rather
than lumped together into one big commit.

Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, and
committed to mainline.

Regards,
Iain.

Iain Buclaw (12):
  d: Factor d_nested_class and d_nested_struct into single function.
  d: Drop any field or parameter types that got cached before conversion
    failed.
  d: Insert null terminator in obstack buffers
  d: Use hasMonitor to determine whether to emit a __monitor field in D
    classes
  d: Use Identifier::idPool to generate anonymous field name.
  d: Factor aggregate_initializer_decl to set the sinit for aggregate
    declarations.
  d: Set COMDAT and visibility of thunks only if they are public.
  d: Only handle named enums in enum_initializer_decl
  d: Clarify comment for generating static array assignment with
    literal.
  d: Don't generate a PREDICT_EXPR when assert contracts are turned off.
  d: Always layout initializer for the m_RTInfo field in TypeInfo_Class
  d: Remove dead code from binary_op.

 gcc/d/d-builtins.cc | 19 ++++++++++++----
 gcc/d/d-codegen.cc  | 54 ++++++++++++---------------------------------
 gcc/d/d-lang.cc     |  6 ++++-
 gcc/d/decl.cc       | 45 +++++++++++++++++++------------------
 gcc/d/expr.cc       | 26 +++++-----------------
 gcc/d/typeinfo.cc   | 23 +++++++++++++------
 gcc/d/types.cc      |  2 +-
 7 files changed, 80 insertions(+), 95 deletions(-)

-- 
2.30.2



More information about the Gcc-patches mailing list