From 35d690c70124e1cfea8bfb47a8d97cb5b42fb06f Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Fri, 19 Dec 2003 04:59:34 +0000 Subject: [PATCH] give an error message instead of segging for the following code: @class foo; @interface bar : foo @end --- tools/qfcc/source/class.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/qfcc/source/class.c b/tools/qfcc/source/class.c index d26d7e65b..4d25e9148 100644 --- a/tools/qfcc/source/class.c +++ b/tools/qfcc/source/class.c @@ -506,9 +506,16 @@ struct_t * class_new_ivars (class_t *class) { struct_t *ivars = new_struct (0); - if (class->super_class) - new_struct_field (ivars, class->super_class->ivars->type, 0, - vis_private); + if (class->super_class) { + if (!class->super_class->ivars) { + error (0, "cannot find interface declaration for `%s', " + "superclass of `%s'", class->super_class->name, + class->name); + } else { + new_struct_field (ivars, class->super_class->ivars->type, 0, + vis_private); + } + } return ivars; }