[Bug d/106623] internal compiler error: Segmentation fault at gimple-expr.cc:88
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Aug 15 19:37:40 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106623
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain Buclaw <ibuclaw@gcc.gnu.org>:
https://gcc.gnu.org/g:e206fecaac29f559f4990312b875604eb1ce3ef3
commit r13-2057-ge206fecaac29f559f4990312b875604eb1ce3ef3
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Aug 15 17:51:03 2022 +0200
d: Fix internal compiler error: Segmentation fault at gimple-expr.cc:88
Because complex types are deprecated in the language, the new way to
expose native complex types is by defining an enum with a basetype of a
library-defined struct that is implicitly treated as-if it is native.
As casts are not implicitly added by the front-end when downcasting from
enum to its underlying type, we must insert an explicit cast during the
code generation pass.
PR d/106623
gcc/d/ChangeLog:
* d-codegen.cc (underlying_complex_expr): New function.
(d_build_call): Handle passing native complex objects as the
library-defined equivalent.
* d-tree.h (underlying_complex_expr): Declare.
* expr.cc (ExprVisitor::visit (DotVarExp *)): Call
underlying_complex_expr instead of build_vconvert.
gcc/testsuite/ChangeLog:
* gdc.dg/torture/pr106623.d: New test.
More information about the Gcc-bugs
mailing list