[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 20:34:14 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106623
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Iain Buclaw
<ibuclaw@gcc.gnu.org>:
https://gcc.gnu.org/g:dc230a0c690794cd45cc4065fa13303fd6cdfc40
commit r12-8688-gdc230a0c690794cd45cc4065fa13303fd6cdfc40
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.
(cherry picked from commit e206fecaac29f559f4990312b875604eb1ce3ef3)
More information about the Gcc-bugs
mailing list