Commit e4e13e26 by Iain Buclaw Committed by Iain Buclaw

Fix ICE when handling void initialized manifest constants.

gcc/d/ChangeLog:

2019-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89042
	* decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
	handling a void initialized manifest constant.

gcc/testsuite/ChangeLog:

2019-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89042
	* gdc.dg/pr89042a.d: New test.
	* gdc.dg/pr89042b.d: New test.

From-SVN: r268304
parent 3a55c8e2
2019-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/89042
* decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
handling a void initialized manifest constant.
2019-01-21 Iain Buclaw <ibuclaw@gdcproject.org>
* d-frontend.cc (Compiler::paintAsType): Update for new signature.
......
......@@ -593,8 +593,11 @@ public:
if (d->isInstantiated ())
return;
/* Cannot make an expression out of a void initializer. */
if (!d->_init || d->_init->isVoidInitializer ())
return;
tree decl = get_symbol_decl (d);
gcc_assert (d->_init && !d->_init->isVoidInitializer ());
Expression *ie = initializerToExpression (d->_init);
/* CONST_DECL was initially intended for enumerals and may be used for
......
2019-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/89042
* gdc.dg/pr89042a.d: New test.
* gdc.dg/pr89042b.d: New test.
2019-01-26 Harald Anlauf <anlauf@gmx.de>
PR fortran/57553
......
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89042
enum void[] a = void;
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89042
enum void[2] a = void;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment