diff --git a/src/toctype.c b/src/toctype.c index 48e8e817d198..e7c0ad99ebf7 100644 --- a/src/toctype.c +++ b/src/toctype.c @@ -218,6 +218,11 @@ class ToCtypeVisitor : public Visitor assert(0); } } + else if (!t->sym->memtype) + { + // Bugzilla 13792 + t->ctype = Type_toCtype(Type::tvoid); + } else if (t->sym->memtype->toBasetype()->ty == Tint32) { t->ctype = type_enum(t->sym->toPrettyChars(true), Type_toCtype(t->sym->memtype)); diff --git a/test/compilable/ice13792.d b/test/compilable/ice13792.d new file mode 100644 index 000000000000..2dab1e7982c7 --- /dev/null +++ b/test/compilable/ice13792.d @@ -0,0 +1,6 @@ +enum E; + +void main() +{ + E* p; // ICE in glue layer +}