--- parser3/src/main/compile.tab.C 2005/12/19 14:43:22 1.103.8.10 +++ parser3/src/main/compile.tab.C 2005/12/16 10:15:12 1.110 @@ -45,7 +45,7 @@ Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com) Author: Alexander Petrosyan (http://design.ru/paf) - $Id: compile.tab.C,v 1.103.8.10 2005/12/19 14:43:22 paf Exp $ + $Id: compile.tab.C,v 1.110 2005/12/16 10:15:12 paf Exp $ */ /** @@ -1375,7 +1375,7 @@ case 72: YYSTYPE params_code=yyvsp[-1]; if(params_code->count()==4) { // probably [] case. [OP_VALUE+origin+Void+STORE_PARAM] if(Value* value=LA2V(*params_code)) // it is OP_VALUE+origin+value? - if(value->is_void()) // value is VVoid? + if(!value->is_defined()) // value is VVoid? params_code=0; // ^zzz[] case. don't append lone empty param. } /* stack: context, method_junction */ @@ -2103,9 +2103,9 @@ default: } // #HH ? if(pc.source[0]=='#' && pc.source[1] && pc.source[2]) { - char c= + char c=(char)( hex_value[(unsigned char)pc.source[1]]*0x10+ - hex_value[(unsigned char)pc.source[2]]; + hex_value[(unsigned char)pc.source[2]]); if(c==0) { result=BAD_HEX_LITERAL; goto break2; // wrong hex value[no ^#00 chars allowed]: bail out