diff --git a/src/language.yacc b/src/language.yacc index 874cd967a3eb8d036c3fb63676574d6be6de88fb..9a3826ae29f03bca274482db46bdd5a944850701 100644 --- a/src/language.yacc +++ b/src/language.yacc @@ -156,7 +156,7 @@ /* This is the grammar definition of Pike. */ #include "global.h" -RCSID("$Id: language.yacc,v 1.10 1996/11/26 20:32:19 grubba Exp $"); +RCSID("$Id: language.yacc,v 1.11 1996/11/27 03:45:47 hubbe Exp $"); #ifdef HAVE_MEMORY_H #include <memory.h> #endif @@ -426,11 +426,14 @@ constant_name: F_IDENTIFIER '=' expr0 } else { tmp=eval_low($3); if(tmp < 1) + { yyerror("Error in constant definition."); - pop_n_elems(tmp-1); - add_constant($1,sp-1,current_modifiers); + }else{ + pop_n_elems(tmp-1); + add_constant($1,sp-1,current_modifiers); + pop_stack(); + } free_string($1); - pop_stack(); } } ;