]> git.ipfire.org Git - thirdparty/gcc.git/commit
d: Fix ICE: type variant differs by TYPE_MAX_VALUE with -g [PR119826]
authorIain Buclaw <ibuclaw@gdcproject.org>
Tue, 15 Apr 2025 23:28:53 +0000 (01:28 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Tue, 15 Apr 2025 23:44:27 +0000 (01:44 +0200)
commitc5ffab99a5a962aa955310e74ca0a4be5c1acf30
treed6477664e3768523d1e458c65dcc13a78145c2f1
parenta6f4178d0d5a51c0de175d282f693f923ffefa27
d: Fix ICE: type variant differs by TYPE_MAX_VALUE with -g [PR119826]

Forward referenced enum types were never fixed up after the main
ENUMERAL_TYPE was finished.  All flags set are now propagated to all
variants after its mode, size, and alignment has been calculated.

PR d/119826

gcc/d/ChangeLog:

* types.cc (TypeVisitor::visit (TypeEnum *)): Propagate flags of main
enum types to all forward-referenced variants.

gcc/testsuite/ChangeLog:

* gdc.dg/debug/imports/pr119826b.d: New test.
* gdc.dg/debug/pr119826.d: New test.
gcc/d/types.cc
gcc/testsuite/gdc.dg/debug/imports/pr119826b.d [new file with mode: 0644]
gcc/testsuite/gdc.dg/debug/pr119826.d [new file with mode: 0644]