=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/cpp.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- OpenXM_contrib2/asir2000/parse/cpp.c 2015/08/06 10:01:53 1.5 +++ OpenXM_contrib2/asir2000/parse/cpp.c 2015/08/08 14:19:42 1.6 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/cpp.c,v 1.4 2000/12/05 01:24:56 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/cpp.c,v 1.5 2015/08/06 10:01:53 fujimoto Exp $ */ #include #include @@ -207,6 +207,9 @@ void do_at(void) { if (! in_false_if()) { err_head(); fprintf(stderr,"unknown control `%s'\n",w); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } } free(w); @@ -356,6 +359,9 @@ void read_formals(void) } } } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } } @@ -401,6 +407,9 @@ void do_define(int sharp, int redef) if (! mac) { err_head(); fprintf(stderr,"missing/illegal macro name\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif flush_sharp_line(); return; } @@ -411,6 +420,9 @@ void do_define(int sharp, int redef) if (nargs > 128) { err_head(); fprintf(stderr,"too many macro formals, more than 128 ignored\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif nargs = 128; } } @@ -604,6 +616,9 @@ void do_dump(void) { fprintf(stderr,"\t\t%s\n",incldir[i]); } fprintf(stderr,"\t\t%s\n",cur_incldir); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } void dump_single(DEF *d) @@ -630,17 +645,26 @@ void dump_single(DEF *d) { putc(*cp,stderr); } } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } void err_head(void) { fprintf(stderr,"\"%s\", line %d: ",curfile(),curline()); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } void Check_malloc(char *ptr) { if (ptr == 0) { fprintf(stderr,"out of memory!\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif abort(); } } @@ -663,6 +687,9 @@ void do_eval(void) for (i=strlen(temp)-1;i>=0;i--) { Push(temp[i]); } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } } @@ -797,6 +824,9 @@ void read_actuals(DEF *d) actlens[i] = 0; } } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } void expand_def(DEF *d) @@ -1090,6 +1120,9 @@ int get_quote_char(void) if (c == '\n') { err_head(); fprintf(stderr,"newline in character constant\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif return(-1); } if (c != '\\') @@ -1166,6 +1199,9 @@ NODE *read_expr_11(void) if (c != ')') { err_head(); fprintf(stderr,"expression syntax error -- missing ) supplied\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif Push(c); } #ifdef DEBUG_EXPR @@ -1213,6 +1249,9 @@ NODE *read_expr_11(void) { err_head(); fprintf(stderr,"warning: illegal %sdigit `%c'\n", (base==16)?"hex ":(base==8)?"octal ":"",c); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } v = (v * base) + values[d-digits]; c = Get(); @@ -1235,6 +1274,9 @@ NODE *read_expr_11(void) if (n > 4) { err_head(); fprintf(stderr,"warning: too many characters in character constant\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } return(newleaf(i)); } @@ -1246,6 +1288,9 @@ NODE *read_expr_11(void) if (complain) { err_head(); fprintf(stderr,"expression syntax error -- number expected\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } if (isbsymchar(c)) { Push(c); @@ -1828,6 +1873,9 @@ NODE *read_expr_(void) default: err_head(); fprintf(stderr,"expression syntax error -- bad operator `%c'\n",c); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif return(l); break; } @@ -1851,6 +1899,9 @@ NODE *read_expr_p(void) if (c != ')') { err_head(); fprintf(stderr,"junk after expression\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } return(rv); } @@ -1876,6 +1927,9 @@ int eval_expr(int Sharp, int Complain) { if (complain) { err_head(); fprintf(stderr,"expression syntax error -- junk after expression\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } while (Get() != d) ; } @@ -1981,6 +2035,9 @@ void do_if(int expr_sharp) if (c != '(') { err_head(); fprintf(stderr,"@if must have ()s\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif Push(c); iffalse(); #ifdef DEBUG_IF @@ -2177,6 +2234,9 @@ void do_else(int expr_sharp) #endif err_head(); fprintf(stderr,"if-less else\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } } else @@ -2232,6 +2292,9 @@ void do_elif(int expr_sharp) if (ifstack == 0) { err_head(); fprintf(stderr,"if-less elif converted to normal if\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif iffalse(); } if (n_skipped_ifs > 0) @@ -2256,6 +2319,9 @@ void do_elif(int expr_sharp) if (c != '(') { err_head(); fprintf(stderr,"@elif must have ()s\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif Push(c); ifstack->condstate = IFSTATE_STAYFALSE; #ifdef DEBUG_IF @@ -2338,6 +2404,9 @@ void do_endif(int expr_sharp) else { err_head(); fprintf(stderr,"if-less endif\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif #ifdef DEBUG_IF if (debugging) { outputc('>'); @@ -2470,6 +2539,9 @@ void do_include(int expr_sharp) err_head(); fprintf(stderr,"warning: unterminated %cinclude filename\n", sharp?'#':'@'); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } if (c == '"') { break; @@ -2490,6 +2562,9 @@ void do_include(int expr_sharp) err_head(); fprintf(stderr,"warning: unterminated %cinclude filename\n", sharp?'#':'@'); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } if (c == '>') { break; @@ -2505,6 +2580,9 @@ void do_include(int expr_sharp) { free(accum_result(acc)); err_head(); fprintf(stderr,"illegal %cinclude filename delimiter\n",sharp?'#':'@'); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } } @@ -2563,6 +2641,9 @@ void read_include_file(char *name, int dohere, int exp if (f == NULL) { err_head(); fprintf(stderr,"can't find include file %s\n",name); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif free(name); return; } @@ -2779,6 +2860,9 @@ void Push(char c) { if (cur_npushed > MAX_PUSHBACK) { fprintf(stderr,"too much pushback\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif cur_npushed = 0; } PUSH() = c; @@ -3157,6 +3241,9 @@ void mark_file_ending(void) } else if (m->nincs <= 0) { fprintf(stderr,"INTERNAL BUG: nincs<0 in mark_file_ending\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif abort(); } else @@ -3619,6 +3706,9 @@ void cpp_main(int ac, char **av) } } } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } void do_pragma(void) @@ -3678,6 +3768,9 @@ void do_set(void) check_malloc(cp); define(mac,-1,(unsigned char *)cp,DEF_DEFINE); } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif free(mac); } @@ -3741,6 +3834,9 @@ void do_sharp(void) flush_sharp_line(); } } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif maybe_print('\n'); free(w); } @@ -3909,6 +4005,9 @@ void define(char *name, int nargs, unsigned char *repl { if ( (nargs != d->nargs) || strcmp((char *)repl,(char *)d->repl) ) { err_head(); fprintf(stderr,"%s redefined\n",n); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } free((char *)d->repl); free(d->name); @@ -4539,6 +4638,9 @@ void do_undef(int expr_sharp) if (! mac) { err_head(); fprintf(stderr,"missing/illegal macro name\n"); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } else { if (undef(mac))