# HG changeset patch # User kono # Date 1144587222 -32400 # Node ID e761dfa47ed4fabc63def59f4dbdab7ab3b7b649 # Parent 3ce0fd61eeae8cb4ae51b0c7a3cfd5af6250a5ad *** empty log message *** diff -r 3ce0fd61eeae -r e761dfa47ed4 Changes --- a/Changes Wed Mar 29 00:02:23 2006 +0900 +++ b/Changes Sun Apr 09 21:53:42 2006 +0900 @@ -8706,3 +8706,11 @@ C_FUNCTION の get_name を見た後、nptr->dsp を設定するべきか? + *cheap->ptr = 0; + cheap = increment_cheap(cheap,&name); + i++; + nptr = name_space_search(hash_search(name,&scheap,i,hash,DEF),STRING); + // if we already have this, hash_search will reset cheap + nptr->dsp = i; + +再利用を考えると、これじゃないか? (また、時間があったら、直そう...) diff -r 3ce0fd61eeae -r e761dfa47ed4 mc-parse.c --- a/mc-parse.c Wed Mar 29 00:02:23 2006 +0900 +++ b/mc-parse.c Sun Apr 09 21:53:42 2006 +0900 @@ -1074,12 +1074,18 @@ getsym(0); t=LONGLONG; if (sym==INT) getsym(0); - else if (sym==UNSIGNED) { t=ULONGLONG; getsym(0); break; } + else if (sym==UNSIGNED) { + if(getsym(0)==INT) getsym(0); + t=ULONGLONG; break; + } } else if(sym==DOUBLE) { getsym(0); t=DOUBLE; } else if(sym==INT) { getsym(0); - } else if(sym==UNSIGNED) { t=UNSIGNED; getsym(0); } + } else if(sym==UNSIGNED) { + if(getsym(0)==INT) getsym(0); + t=UNSIGNED; + } break; case TYPEOF: getsym(0);