d: Merge bug fix from upstream dmd 06160ccae
authorIain Buclaw <ibuclaw@gdcproject.org>
Wed, 29 Apr 2020 08:19:55 +0000 (10:19 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Wed, 29 Apr 2020 08:36:00 +0000 (10:36 +0200)
commit75f758a703924184fc07b01a138bb6f0028d077c
tree9b90b2c92161b246f7acd4494c5b1a2a3e4f1d09
parentd81bc2af7d2700888e414eb5a322ff5f5b0df0bb
d: Merge bug fix from upstream dmd 06160ccae

Adds classKind information to the front-end AST, which in turn allows us
to fix code generation of type names for extern(C) and extern(C++)
structs and classes.  Inspecting such types inside a debugger now just
works without the need to 'cast(module_name.cxx_type)'.

gcc/d/ChangeLog:

* d-codegen.cc (d_decl_context): Don't include module in the name of
class and struct types that aren't extern(D).
gcc/d/ChangeLog
gcc/d/d-codegen.cc
gcc/d/dmd/MERGE
gcc/d/dmd/aggregate.h
gcc/d/dmd/dclass.c
gcc/d/dmd/declaration.c
gcc/d/dmd/dstruct.c
gcc/d/dmd/func.c
gcc/d/dmd/opover.c
gcc/d/dmd/traits.c
gcc/testsuite/gdc.test/compilable/test17419.d