Author: fireball Date: Wed Nov 5 15:47:55 2008 New Revision: 37204
URL: http://svn.reactos.org/svn/reactos?rev=37204&view=rev Log: - Update wpp to Wine-20081105.
Modified: trunk/reactos/media/doc/README.WINE trunk/reactos/tools/wpp/lex.yy.c trunk/reactos/tools/wpp/ppl.l trunk/reactos/tools/wpp/ppy.tab.c trunk/reactos/tools/wpp/ppy.tab.h trunk/reactos/tools/wpp/ppy.y trunk/reactos/tools/wpp/wpp.c trunk/reactos/tools/wpp/wpp_private.h
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=3... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Nov 5 15:47:55 2008 @@ -22,7 +22,7 @@ The following build tools are shared with Wine.
reactos/tools/unicode # Synced to Wine-20081105 (~Wine-1.1.7) -reactos/tools/wpp # Synced to Wine-0_9_5 +reactos/tools/wpp # Synced to Wine-20081105 (~Wine-1.1.7) reactos/tools/winebuild # Synced to Wine-20071217 reactos/tools/wmc # Synced to Wine-20071201 reactos/tools/wrc # Synced to Wine-0_9_53
Modified: trunk/reactos/tools/wpp/lex.yy.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/wpp/lex.yy.c?rev=3720... ============================================================================== --- trunk/reactos/tools/wpp/lex.yy.c [iso-8859-1] (original) +++ trunk/reactos/tools/wpp/lex.yy.c [iso-8859-1] Wed Nov 5 15:47:55 2008 @@ -16,7 +16,7 @@ #define yytext ppy_text #define yywrap ppy_wrap
-#line 20 "tools\wpp_new\lex.yy.c" +#line 20 "lex.yy.c" /* A lexical scanner generated by flex */
/* Scanner skeleton version: @@ -921,7 +921,7 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "tools\wpp_new\ppl.l" +#line 1 "ppl.l" #define INITIAL 0 /* -*-C-*- * Wrc preprocessor lexical analysis @@ -1050,6 +1050,7 @@ */ #define YY_STACK_USED 1 #define YY_NEVER_INTERACTIVE 1 +#define YY_NO_INPUT 1 #define YY_NO_UNPUT 1 #define pp_pp 1
@@ -1093,13 +1094,28 @@
#define RCINCL 21
-#line 159 "tools\wpp_new\ppl.l" -#include <config.h> +#line 159 "ppl.l" +#include "config.h" +#include "wine/port.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <assert.h> +#include <errno.h> +#include <limits.h> + +#ifndef LLONG_MAX +# define LLONG_MAX ((long long)0x7fffffff << 32 | 0xffffffff) +# define LLONG_MIN (-LLONG_MAX - 1) +#endif +#ifndef ULLONG_MAX +# define ULLONG_MAX ((long long)0xffffffff << 32 | 0xffffffff) +#endif + +#ifndef HAVE_UNISTD_H +#define YY_NO_UNISTD_H +#endif
#include "wpp_private.h" #include "ppy.tab.h" @@ -1138,7 +1154,6 @@ /* Include management */ include_state_t incl; char *include_filename; - int pass_data; } bufferstackentry_t;
#define ALLOCBLOCKSIZE (1 << 10) /* Allocate these chunks at a time for string-buffers */ @@ -1171,7 +1186,6 @@ static void newline(int); static int make_number(int radix, YYSTYPE *val, const char *str, int len); static void put_buffer(const char *s, int len); -static int is_c_h_include(char *fname, int quoted); /* Buffer management */ static void push_buffer(pp_entry_t *ppp, char *filename, char *incname, int pop); static bufferstackentry_t *pop_buffer(void); @@ -1210,8 +1224,6 @@ static bufferstackentry_t bufferstack[MAXBUFFERSTACK]; static int bufferstackidx = 0;
-static int pass_data=1; - /* * Global variables */ @@ -1230,7 +1242,7 @@ * The scanner starts here ************************************************************************** */ -#line 1234 "tools\wpp_new\lex.yy.c" +#line 1246 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in * section 1. @@ -1384,7 +1396,7 @@ register char *yy_cp, *yy_bp; register int yy_act;
-#line 298 "tools\wpp_new\ppl.l" +#line 309 "ppl.l"
/* * Catch line-continuations. @@ -1398,7 +1410,7 @@ /* * Detect the leading # of a preprocessor directive. */ -#line 1402 "tools\wpp_new\lex.yy.c" +#line 1414 "lex.yy.c"
if ( yy_init ) { @@ -1484,7 +1496,7 @@
case 1: YY_RULE_SETUP -#line 311 "tools\wpp_new\ppl.l" +#line 322 "ppl.l" pp_incl_state.seen_junk++; yy_push_state(pp_pp); YY_BREAK /* @@ -1492,102 +1504,102 @@ */ case 2: YY_RULE_SETUP -#line 316 "tools\wpp_new\ppl.l" +#line 327 "ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_inc); return tINCLUDE;} else {yy_pp_state(pp_eol);} YY_BREAK case 3: YY_RULE_SETUP -#line 317 "tools\wpp_new\ppl.l" +#line 328 "ppl.l" yy_pp_state(yy_current_state() != pp_ignore ? pp_def : pp_eol); YY_BREAK case 4: YY_RULE_SETUP -#line 318 "tools\wpp_new\ppl.l" +#line 329 "ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tERROR; YY_BREAK case 5: YY_RULE_SETUP -#line 319 "tools\wpp_new\ppl.l" +#line 330 "ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tWARNING; YY_BREAK case 6: YY_RULE_SETUP -#line 320 "tools\wpp_new\ppl.l" +#line 331 "ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tPRAGMA; YY_BREAK case 7: YY_RULE_SETUP -#line 321 "tools\wpp_new\ppl.l" +#line 332 "ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tPPIDENT; YY_BREAK case 8: YY_RULE_SETUP -#line 322 "tools\wpp_new\ppl.l" +#line 333 "ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_ifd); return tUNDEF;} else {yy_pp_state(pp_eol);} YY_BREAK case 9: YY_RULE_SETUP -#line 323 "tools\wpp_new\ppl.l" +#line 334 "ppl.l" yy_pp_state(pp_ifd); return tIFDEF; YY_BREAK case 10: YY_RULE_SETUP -#line 324 "tools\wpp_new\ppl.l" +#line 335 "ppl.l" pp_incl_state.seen_junk--; yy_pp_state(pp_ifd); return tIFNDEF; YY_BREAK case 11: YY_RULE_SETUP -#line 325 "tools\wpp_new\ppl.l" +#line 336 "ppl.l" yy_pp_state(pp_if); return tIF; YY_BREAK case 12: YY_RULE_SETUP -#line 326 "tools\wpp_new\ppl.l" +#line 337 "ppl.l" yy_pp_state(pp_if); return tELIF; YY_BREAK case 13: YY_RULE_SETUP -#line 327 "tools\wpp_new\ppl.l" +#line 338 "ppl.l" yy_pp_state(pp_endif); return tELSE; YY_BREAK case 14: YY_RULE_SETUP -#line 328 "tools\wpp_new\ppl.l" +#line 339 "ppl.l" yy_pp_state(pp_endif); return tENDIF; YY_BREAK case 15: YY_RULE_SETUP -#line 329 "tools\wpp_new\ppl.l" +#line 340 "ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tLINE;} else {yy_pp_state(pp_eol);} YY_BREAK case 16: YY_RULE_SETUP -#line 330 "tools\wpp_new\ppl.l" +#line 341 "ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tGCCLINE;} else {yy_pp_state(pp_eol);} YY_BREAK case 17: YY_RULE_SETUP -#line 331 "tools\wpp_new\ppl.l" +#line 342 "ppl.l" ppy_error("Invalid preprocessor token '%s'", ppy_text); YY_BREAK case 18: YY_RULE_SETUP -#line 332 "tools\wpp_new\ppl.l" +#line 343 "ppl.l" newline(1); yy_pop_state(); return tNL; /* This could be the null-token */ YY_BREAK case 19: YY_RULE_SETUP -#line 333 "tools\wpp_new\ppl.l" +#line 344 "ppl.l" newline(0); YY_BREAK case 20: YY_RULE_SETUP -#line 334 "tools\wpp_new\ppl.l" +#line 345 "ppl.l" ppy_error("Preprocessor junk '%s'", ppy_text); YY_BREAK case 21: YY_RULE_SETUP -#line 335 "tools\wpp_new\ppl.l" +#line 346 "ppl.l" return *ppy_text; YY_BREAK /* @@ -1595,37 +1607,37 @@ */ case 22: YY_RULE_SETUP -#line 340 "tools\wpp_new\ppl.l" +#line 351 "ppl.l" return make_number(10, &ppy_lval, ppy_text, ppy_leng); YY_BREAK case 23: YY_RULE_SETUP -#line 341 "tools\wpp_new\ppl.l" +#line 352 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_iqs); YY_BREAK case 24: YY_RULE_SETUP -#line 342 "tools\wpp_new\ppl.l" +#line 353 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK case 25: YY_RULE_SETUP -#line 343 "tools\wpp_new\ppl.l" +#line 354 "ppl.l" ; YY_BREAK case 26: YY_RULE_SETUP -#line 344 "tools\wpp_new\ppl.l" +#line 355 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 27: YY_RULE_SETUP -#line 345 "tools\wpp_new\ppl.l" +#line 356 "ppl.l" newline(0); YY_BREAK case 28: YY_RULE_SETUP -#line 346 "tools\wpp_new\ppl.l" +#line 357 "ppl.l" ppy_error(yy_current_state() == pp_inc ? "Trailing junk in #include" : "Trailing junk in #line"); YY_BREAK /* @@ -1633,22 +1645,22 @@ */ case 29: YY_RULE_SETUP -#line 351 "tools\wpp_new\ppl.l" +#line 362 "ppl.l" ; YY_BREAK case 30: YY_RULE_SETUP -#line 352 "tools\wpp_new\ppl.l" +#line 363 "ppl.l" newline(1); YY_BREAK case 31: YY_RULE_SETUP -#line 353 "tools\wpp_new\ppl.l" +#line 364 "ppl.l" newline(0); YY_BREAK case 32: YY_RULE_SETUP -#line 354 "tools\wpp_new\ppl.l" +#line 365 "ppl.l" ; YY_BREAK /* @@ -1659,107 +1671,107 @@ */ case 33: YY_RULE_SETUP -#line 363 "tools\wpp_new\ppl.l" +#line 374 "ppl.l" return make_number(8, &ppy_lval, ppy_text, ppy_leng); YY_BREAK case 34: YY_RULE_SETUP -#line 364 "tools\wpp_new\ppl.l" +#line 375 "ppl.l" ppy_error("Invalid octal digit"); YY_BREAK case 35: YY_RULE_SETUP -#line 365 "tools\wpp_new\ppl.l" +#line 376 "ppl.l" return make_number(10, &ppy_lval, ppy_text, ppy_leng); YY_BREAK case 36: YY_RULE_SETUP -#line 366 "tools\wpp_new\ppl.l" +#line 377 "ppl.l" return make_number(16, &ppy_lval, ppy_text, ppy_leng); YY_BREAK case 37: YY_RULE_SETUP -#line 367 "tools\wpp_new\ppl.l" +#line 378 "ppl.l" ppy_error("Invalid hex number"); YY_BREAK case 38: YY_RULE_SETUP -#line 368 "tools\wpp_new\ppl.l" +#line 379 "ppl.l" yy_push_state(pp_defined); return tDEFINED; YY_BREAK case 39: YY_RULE_SETUP -#line 369 "tools\wpp_new\ppl.l" +#line 380 "ppl.l" return tLSHIFT; YY_BREAK case 40: YY_RULE_SETUP -#line 370 "tools\wpp_new\ppl.l" +#line 381 "ppl.l" return tRSHIFT; YY_BREAK case 41: YY_RULE_SETUP -#line 371 "tools\wpp_new\ppl.l" +#line 382 "ppl.l" return tLOGAND; YY_BREAK case 42: YY_RULE_SETUP -#line 372 "tools\wpp_new\ppl.l" +#line 383 "ppl.l" return tLOGOR; YY_BREAK case 43: YY_RULE_SETUP -#line 373 "tools\wpp_new\ppl.l" +#line 384 "ppl.l" return tEQ; YY_BREAK case 44: YY_RULE_SETUP -#line 374 "tools\wpp_new\ppl.l" +#line 385 "ppl.l" return tNE; YY_BREAK case 45: YY_RULE_SETUP -#line 375 "tools\wpp_new\ppl.l" +#line 386 "ppl.l" return tLTE; YY_BREAK case 46: YY_RULE_SETUP -#line 376 "tools\wpp_new\ppl.l" +#line 387 "ppl.l" return tGTE; YY_BREAK case 47: YY_RULE_SETUP -#line 377 "tools\wpp_new\ppl.l" +#line 388 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 48: YY_RULE_SETUP -#line 378 "tools\wpp_new\ppl.l" +#line 389 "ppl.l" newline(0); YY_BREAK case 49: YY_RULE_SETUP -#line 379 "tools\wpp_new\ppl.l" +#line 390 "ppl.l" ppy_error("Junk in conditional expression"); YY_BREAK case 50: YY_RULE_SETUP -#line 380 "tools\wpp_new\ppl.l" +#line 391 "ppl.l" ; YY_BREAK case 51: YY_RULE_SETUP -#line 381 "tools\wpp_new\ppl.l" +#line 392 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); YY_BREAK case 52: YY_RULE_SETUP -#line 382 "tools\wpp_new\ppl.l" +#line 393 "ppl.l" ppy_error("String constants not allowed in conditionals"); YY_BREAK case 53: YY_RULE_SETUP -#line 383 "tools\wpp_new\ppl.l" +#line 394 "ppl.l" return *ppy_text; YY_BREAK /* @@ -1768,27 +1780,27 @@ */ case 54: YY_RULE_SETUP -#line 389 "tools\wpp_new\ppl.l" +#line 400 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; YY_BREAK case 55: YY_RULE_SETUP -#line 390 "tools\wpp_new\ppl.l" +#line 401 "ppl.l" ; YY_BREAK case 56: YY_RULE_SETUP -#line 391 "tools\wpp_new\ppl.l" +#line 402 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 57: YY_RULE_SETUP -#line 392 "tools\wpp_new\ppl.l" +#line 403 "ppl.l" newline(0); YY_BREAK case 58: YY_RULE_SETUP -#line 393 "tools\wpp_new\ppl.l" +#line 404 "ppl.l" ppy_error("Identifier expected"); YY_BREAK /* @@ -1796,22 +1808,22 @@ */ case 59: YY_RULE_SETUP -#line 398 "tools\wpp_new\ppl.l" +#line 409 "ppl.l" ; YY_BREAK case 60: YY_RULE_SETUP -#line 399 "tools\wpp_new\ppl.l" +#line 410 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 61: YY_RULE_SETUP -#line 400 "tools\wpp_new\ppl.l" +#line 411 "ppl.l" newline(0); YY_BREAK case 62: YY_RULE_SETUP -#line 401 "tools\wpp_new\ppl.l" +#line 412 "ppl.l" ppy_error("Garbage after #else or #endif."); YY_BREAK /* @@ -1821,27 +1833,27 @@ */ case 63: YY_RULE_SETUP -#line 408 "tools\wpp_new\ppl.l" +#line 419 "ppl.l" yy_pop_state(); ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; YY_BREAK case 64: YY_RULE_SETUP -#line 409 "tools\wpp_new\ppl.l" +#line 420 "ppl.l" ; YY_BREAK case 65: YY_RULE_SETUP -#line 410 "tools\wpp_new\ppl.l" +#line 421 "ppl.l" return *ppy_text; YY_BREAK case 66: YY_RULE_SETUP -#line 411 "tools\wpp_new\ppl.l" +#line 422 "ppl.l" newline(0); YY_BREAK case 67: YY_RULE_SETUP -#line 412 "tools\wpp_new\ppl.l" +#line 423 "ppl.l" ppy_error("Identifier expected"); YY_BREAK /* @@ -1852,27 +1864,27 @@ */ case 68: YY_RULE_SETUP -#line 420 "tools\wpp_new\ppl.l" +#line 431 "ppl.l" if(yy_top_state() != pp_ignore) { ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; } YY_BREAK case 69: YY_RULE_SETUP -#line 421 "tools\wpp_new\ppl.l" +#line 432 "ppl.l" if(yy_top_state() != pp_ignore) { ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; } YY_BREAK case 70: YY_RULE_SETUP -#line 422 "tools\wpp_new\ppl.l" +#line 433 "ppl.l" if(yy_top_state() != pp_ignore) { ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; } YY_BREAK case 71: YY_RULE_SETUP -#line 423 "tools\wpp_new\ppl.l" +#line 434 "ppl.l" newline(1); yy_pop_state(); if(yy_current_state() != pp_ignore) { return tNL; } YY_BREAK case 72: YY_RULE_SETUP -#line 424 "tools\wpp_new\ppl.l" +#line 435 "ppl.l" newline(0); YY_BREAK /* @@ -1880,27 +1892,27 @@ */ case 73: YY_RULE_SETUP -#line 429 "tools\wpp_new\ppl.l" +#line 440 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); ppy_lval.cptr[ppy_leng-1] = '\0'; yy_pp_state(pp_macro); return tMACRO; YY_BREAK case 74: YY_RULE_SETUP -#line 430 "tools\wpp_new\ppl.l" +#line 441 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); yy_pp_state(pp_define); return tDEFINE; YY_BREAK case 75: YY_RULE_SETUP -#line 431 "tools\wpp_new\ppl.l" +#line 442 "ppl.l" ; YY_BREAK case 76: YY_RULE_SETUP -#line 432 "tools\wpp_new\ppl.l" +#line 443 "ppl.l" newline(0); YY_BREAK case 77: YY_RULE_SETUP -#line 433 "tools\wpp_new\ppl.l" +#line 444 "ppl.l" perror("Identifier expected"); YY_BREAK /* @@ -1908,37 +1920,37 @@ */ case 78: YY_RULE_SETUP -#line 438 "tools\wpp_new\ppl.l" +#line 449 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK case 79: YY_RULE_SETUP -#line 439 "tools\wpp_new\ppl.l" +#line 450 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK case 80: YY_RULE_SETUP -#line 440 "tools\wpp_new\ppl.l" +#line 451 "ppl.l" newline(0); ppy_lval.cptr = pp_xstrdup(" "); return tLITERAL; YY_BREAK case 81: YY_RULE_SETUP -#line 441 "tools\wpp_new\ppl.l" +#line 452 "ppl.l" newline(0); YY_BREAK case 82: YY_RULE_SETUP -#line 442 "tools\wpp_new\ppl.l" +#line 453 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 83: YY_RULE_SETUP -#line 443 "tools\wpp_new\ppl.l" +#line 454 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); YY_BREAK case 84: YY_RULE_SETUP -#line 444 "tools\wpp_new\ppl.l" +#line 455 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK /* @@ -1946,37 +1958,37 @@ */ case 85: YY_RULE_SETUP -#line 449 "tools\wpp_new\ppl.l" +#line 460 "ppl.l" yy_pp_state(pp_mbody); return tMACROEND; YY_BREAK case 86: YY_RULE_SETUP -#line 450 "tools\wpp_new\ppl.l" +#line 461 "ppl.l" ; YY_BREAK case 87: YY_RULE_SETUP -#line 451 "tools\wpp_new\ppl.l" +#line 462 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; YY_BREAK case 88: YY_RULE_SETUP -#line 452 "tools\wpp_new\ppl.l" +#line 463 "ppl.l" return ','; YY_BREAK case 89: YY_RULE_SETUP -#line 453 "tools\wpp_new\ppl.l" +#line 464 "ppl.l" return tELIPSIS; YY_BREAK case 90: YY_RULE_SETUP -#line 454 "tools\wpp_new\ppl.l" +#line 465 "ppl.l" ppy_error("Argument identifier expected"); YY_BREAK case 91: YY_RULE_SETUP -#line 455 "tools\wpp_new\ppl.l" +#line 466 "ppl.l" newline(0); YY_BREAK /* @@ -1984,57 +1996,57 @@ */ case 92: YY_RULE_SETUP -#line 460 "tools\wpp_new\ppl.l" +#line 471 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK case 93: YY_RULE_SETUP -#line 461 "tools\wpp_new\ppl.l" +#line 472 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; YY_BREAK case 94: YY_RULE_SETUP -#line 462 "tools\wpp_new\ppl.l" +#line 473 "ppl.l" return tCONCAT; YY_BREAK case 95: YY_RULE_SETUP -#line 463 "tools\wpp_new\ppl.l" +#line 474 "ppl.l" return tSTRINGIZE; YY_BREAK case 96: YY_RULE_SETUP -#line 464 "tools\wpp_new\ppl.l" +#line 475 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK case 97: YY_RULE_SETUP -#line 465 "tools\wpp_new\ppl.l" +#line 476 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK case 98: YY_RULE_SETUP -#line 466 "tools\wpp_new\ppl.l" +#line 477 "ppl.l" newline(0); ppy_lval.cptr = pp_xstrdup(" "); return tLITERAL; YY_BREAK case 99: YY_RULE_SETUP -#line 467 "tools\wpp_new\ppl.l" +#line 478 "ppl.l" newline(0); YY_BREAK case 100: YY_RULE_SETUP -#line 468 "tools\wpp_new\ppl.l" +#line 479 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 101: YY_RULE_SETUP -#line 469 "tools\wpp_new\ppl.l" +#line 480 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); YY_BREAK case 102: YY_RULE_SETUP -#line 470 "tools\wpp_new\ppl.l" +#line 481 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK /* @@ -2051,12 +2063,12 @@ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 481 "tools\wpp_new\ppl.l" +#line 492 "ppl.l" yy_pp_state(pp_macscan); YY_BREAK case 104: YY_RULE_SETUP -#line 482 "tools\wpp_new\ppl.l" +#line 493 "ppl.l" { if(yy_top_state() != pp_macscan) newline(0); @@ -2064,12 +2076,12 @@ YY_BREAK case 105: YY_RULE_SETUP -#line 486 "tools\wpp_new\ppl.l" +#line 497 "ppl.l" newline(0); YY_BREAK case 106: YY_RULE_SETUP -#line 487 "tools\wpp_new\ppl.l" +#line 498 "ppl.l" { macexpstackentry_t *mac = pop_macro(); yy_pop_state(); @@ -2084,7 +2096,7 @@ */ case 107: YY_RULE_SETUP -#line 499 "tools\wpp_new\ppl.l" +#line 510 "ppl.l" { if(++MACROPARENTHESES() > 1) add_text_to_macro(ppy_text, ppy_leng); @@ -2092,7 +2104,7 @@ YY_BREAK case 108: YY_RULE_SETUP -#line 503 "tools\wpp_new\ppl.l" +#line 514 "ppl.l" { if(--MACROPARENTHESES() == 0) { @@ -2105,7 +2117,7 @@ YY_BREAK case 109: YY_RULE_SETUP -#line 512 "tools\wpp_new\ppl.l" +#line 523 "ppl.l" { if(MACROPARENTHESES() > 1) add_text_to_macro(ppy_text, ppy_leng); @@ -2115,32 +2127,32 @@ YY_BREAK case 110: YY_RULE_SETUP -#line 518 "tools\wpp_new\ppl.l" +#line 529 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK case 111: YY_RULE_SETUP -#line 519 "tools\wpp_new\ppl.l" +#line 530 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); YY_BREAK case 112: YY_RULE_SETUP -#line 520 "tools\wpp_new\ppl.l" +#line 531 "ppl.l" yy_push_state(pp_comment); add_text_to_macro(" ", 1); YY_BREAK case 113: YY_RULE_SETUP -#line 521 "tools\wpp_new\ppl.l" +#line 532 "ppl.l" pp_status.line_number++; pp_status.char_number = 1; add_text_to_macro(ppy_text, ppy_leng); YY_BREAK case 114: YY_RULE_SETUP -#line 522 "tools\wpp_new\ppl.l" +#line 533 "ppl.l" add_text_to_macro(ppy_text, ppy_leng); YY_BREAK case 115: YY_RULE_SETUP -#line 523 "tools\wpp_new\ppl.l" +#line 534 "ppl.l" newline(0); YY_BREAK /* @@ -2148,22 +2160,22 @@ */ case 116: YY_RULE_SETUP -#line 528 "tools\wpp_new\ppl.l" +#line 539 "ppl.l" yy_push_state(pp_comment); YY_BREAK case 117: YY_RULE_SETUP -#line 529 "tools\wpp_new\ppl.l" +#line 540 "ppl.l" ; YY_BREAK case 118: YY_RULE_SETUP -#line 530 "tools\wpp_new\ppl.l" +#line 541 "ppl.l" newline(0); YY_BREAK case 119: YY_RULE_SETUP -#line 531 "tools\wpp_new\ppl.l" +#line 542 "ppl.l" yy_pop_state(); YY_BREAK /* @@ -2171,7 +2183,7 @@ */ case 120: YY_RULE_SETUP -#line 536 "tools\wpp_new\ppl.l" +#line 547 "ppl.l" { if(ppy_text[ppy_leng-1] == '\') ppy_warning("C++ style comment ends with an escaped newline (escape ignored)"); @@ -2182,22 +2194,22 @@ */ case 121: YY_RULE_SETUP -#line 544 "tools\wpp_new\ppl.l" +#line 555 "ppl.l" pp_incl_state.seen_junk++; new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK case 122: YY_RULE_SETUP -#line 545 "tools\wpp_new\ppl.l" +#line 556 "ppl.l" pp_incl_state.seen_junk++; new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); YY_BREAK case 123: YY_RULE_SETUP -#line 546 "tools\wpp_new\ppl.l" +#line 557 "ppl.l" add_string(ppy_text, ppy_leng); YY_BREAK case 124: YY_RULE_SETUP -#line 547 "tools\wpp_new\ppl.l" +#line 558 "ppl.l" { add_string(ppy_text, ppy_leng); yy_pop_state(); @@ -2213,8 +2225,6 @@ return tDQSTRING; case pp_line: ppy_lval.cptr = get_string(); - if (is_c_h_include(ppy_lval.cptr, 1)) pass_data=0; - else pass_data=1; return tDQSTRING; default: put_string(); @@ -2223,12 +2233,12 @@ YY_BREAK case 125: YY_RULE_SETUP -#line 569 "tools\wpp_new\ppl.l" +#line 578 "ppl.l" add_string(ppy_text, ppy_leng); YY_BREAK case 126: YY_RULE_SETUP -#line 570 "tools\wpp_new\ppl.l" +#line 579 "ppl.l" { add_string(ppy_text, ppy_leng); yy_pop_state(); @@ -2246,12 +2256,12 @@ YY_BREAK case 127: YY_RULE_SETUP -#line 584 "tools\wpp_new\ppl.l" +#line 593 "ppl.l" add_string(ppy_text, ppy_leng); YY_BREAK case 128: YY_RULE_SETUP -#line 585 "tools\wpp_new\ppl.l" +#line 594 "ppl.l" { add_string(ppy_text, ppy_leng); yy_pop_state(); @@ -2261,7 +2271,7 @@ YY_BREAK case 129: YY_RULE_SETUP -#line 591 "tools\wpp_new\ppl.l" +#line 600 "ppl.l" { /* * This is tricky; we need to remove the line-continuation @@ -2289,12 +2299,12 @@ YY_BREAK case 130: YY_RULE_SETUP -#line 615 "tools\wpp_new\ppl.l" +#line 624 "ppl.l" add_string(ppy_text, ppy_leng); YY_BREAK case 131: YY_RULE_SETUP -#line 616 "tools\wpp_new\ppl.l" +#line 625 "ppl.l" { newline(1); add_string(ppy_text, ppy_leng); @@ -2306,7 +2316,7 @@ */ case 132: YY_RULE_SETUP -#line 625 "tools\wpp_new\ppl.l" +#line 634 "ppl.l" { pp_entry_t *ppp; pp_incl_state.seen_junk++; @@ -2355,27 +2365,27 @@ */ case 133: YY_RULE_SETUP -#line 671 "tools\wpp_new\ppl.l" +#line 680 "ppl.l" pp_incl_state.seen_junk++; put_buffer(ppy_text, ppy_leng); YY_BREAK case 134: YY_RULE_SETUP -#line 672 "tools\wpp_new\ppl.l" +#line 681 "ppl.l" put_buffer(ppy_text, ppy_leng); YY_BREAK case 135: YY_RULE_SETUP -#line 673 "tools\wpp_new\ppl.l" +#line 682 "ppl.l" newline(1); YY_BREAK case 136: YY_RULE_SETUP -#line 674 "tools\wpp_new\ppl.l" +#line 683 "ppl.l" newline(0); YY_BREAK case 137: YY_RULE_SETUP -#line 675 "tools\wpp_new\ppl.l" +#line 684 "ppl.l" pp_incl_state.seen_junk++; put_buffer(ppy_text, ppy_leng); YY_BREAK /* @@ -2384,12 +2394,12 @@ */ case 138: YY_RULE_SETUP -#line 681 "tools\wpp_new\ppl.l" +#line 690 "ppl.l" put_buffer(ppy_text, ppy_leng); YY_BREAK case 139: YY_RULE_SETUP -#line 683 "tools\wpp_new\ppl.l" +#line 692 "ppl.l" { ppy_lval.cptr=pp_xstrdup(ppy_text); yy_pop_state(); @@ -2398,12 +2408,12 @@ YY_BREAK case 140: YY_RULE_SETUP -#line 689 "tools\wpp_new\ppl.l" +#line 698 "ppl.l" ; YY_BREAK case 141: YY_RULE_SETUP -#line 691 "tools\wpp_new\ppl.l" +#line 700 "ppl.l" { new_string(); add_string(ppy_text,ppy_leng);yy_push_state(pp_dqs); } @@ -2414,7 +2424,7 @@ */ case 142: YY_RULE_SETUP -#line 699 "tools\wpp_new\ppl.l" +#line 708 "ppl.l" pp_incl_state.seen_junk++; ppy_warning("Unmatched text '%c' (0x%02x); please report\n", isprint(*ppy_text & 0xff) ? *ppy_text : ' ', *ppy_text); YY_BREAK case YY_STATE_EOF(INITIAL): @@ -2439,7 +2449,7 @@ case YY_STATE_EOF(pp_defined): case YY_STATE_EOF(pp_ignore): case YY_STATE_EOF(RCINCL): -#line 701 "tools\wpp_new\ppl.l" +#line 710 "ppl.l" { YY_BUFFER_STATE b = YY_CURRENT_BUFFER; bufferstackentry_t *bep = pop_buffer(); @@ -2464,10 +2474,10 @@ YY_BREAK case 143: YY_RULE_SETUP -#line 723 "tools\wpp_new\ppl.l" +#line 732 "ppl.l" ECHO; YY_BREAK -#line 2471 "tools\wpp_new\lex.yy.c" +#line 2481 "lex.yy.c"
case YY_END_OF_BUFFER: { @@ -3353,7 +3363,7 @@ return 0; } #endif -#line 723 "tools\wpp_new\ppl.l" +#line 732 "ppl.l"
/* ************************************************************************** @@ -3425,6 +3435,7 @@ int is_ll = 0; int is_u = 0; char ext[4]; + long l;
ext[3] = '\0'; ext[2] = toupper(str[len-1]); @@ -3462,12 +3473,18 @@ #ifdef HAVE_LONG_LONG if (is_u) { + errno = 0; val->ull = strtoull(str, NULL, radix); + if (val->ull == ULLONG_MAX && errno == ERANGE) + ppy_error("integer constant %s is too large\n", str); return tULONGLONG; } else { + errno = 0; val->sll = strtoll(str, NULL, radix); + if ((val->sll == LLONG_MIN || val->sll == LLONG_MAX) && errno == ERANGE) + ppy_error("integer constant %s is too large\n", str); return tSLONGLONG; } #else @@ -3476,22 +3493,38 @@ } else if(is_u && is_l) { + errno = 0; val->ulong = strtoul(str, NULL, radix); + if (val->ulong == ULONG_MAX && errno == ERANGE) + ppy_error("integer constant %s is too large\n", str); return tULONG; } else if(!is_u && is_l) { + errno = 0; val->slong = strtol(str, NULL, radix); + if ((val->slong == LONG_MIN || val->slong == LONG_MAX) && errno == ERANGE) + ppy_error("integer constant %s is too large\n", str); return tSLONG; } else if(is_u && !is_l) { - val->uint = (unsigned int)strtoul(str, NULL, radix); + unsigned long ul; + errno = 0; + ul = strtoul(str, NULL, radix); + if ((ul == ULONG_MAX && errno == ERANGE) || (ul > UINT_MAX)) + ppy_error("integer constant %s is too large\n", str); + val->uint = (unsigned int)ul; return tUINT; }
/* Else it must be an int... */ - val->sint = (int)strtol(str, NULL, radix); + errno = 0; + l = strtol(str, NULL, radix); + if (((l == LONG_MIN || l == LONG_MAX) && errno == ERANGE) || + (l > INT_MAX) || (l < INT_MIN)) + ppy_error("integer constant %s is too large\n", str); + val->sint = (int)l; return tSINT; }
@@ -3825,7 +3858,6 @@ bufferstack[bufferstackidx].ncontinuations = ncontinuations; bufferstack[bufferstackidx].incl = pp_incl_state; bufferstack[bufferstackidx].include_filename = incname; - bufferstack[bufferstackidx].pass_data = pass_data;
if(ppp) ppp->expanding = 1; @@ -3888,7 +3920,6 @@ } free(pp_incl_state.ppp); pp_incl_state = bufferstack[bufferstackidx].incl; - pass_data = bufferstack[bufferstackidx].pass_data;
} } @@ -4044,10 +4075,8 @@ { if(top_macro()) add_text_to_macro(s, len); - else { - if(pass_data) + else fwrite(s, 1, len, ppy_out); - } }
@@ -4056,15 +4085,6 @@ * Include management *------------------------------------------------------------------------- */ -static int is_c_h_include(char *fname, int quoted) -{ - int sl=strlen(fname); - if (sl < 2 + 2 * quoted) return 0; - if ((toupper(fname[sl-1-quoted])!='H') && (toupper(fname[sl-1-quoted])!='C')) return 0; - if (fname[sl-2-quoted]!='.') return 0; - return 1; -} - void pp_do_include(char *fname, int type) { char *newpath; @@ -4100,12 +4120,10 @@ pp_incl_state.seen_junk = 0; pp_incl_state.state = 0; pp_incl_state.ppp = NULL; - if (is_c_h_include(newpath, 0)) pass_data=0; - else pass_data=1;
if(pp_status.debug) - fprintf(stderr, "pp_do_include: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d ,pass_data=%d\n", - pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth, pass_data); + fprintf(stderr, "pp_do_include: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d\n", + pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth); ppy__switch_to_buffer(ppy__create_buffer(ppy_in, YY_BUF_SIZE));
fprintf(ppy_out, "# 1 "%s" 1%s\n", newpath, type ? "" : " 3");
Modified: trunk/reactos/tools/wpp/ppl.l URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/wpp/ppl.l?rev=37204&a... ============================================================================== --- trunk/reactos/tools/wpp/ppl.l [iso-8859-1] (original) +++ trunk/reactos/tools/wpp/ppl.l [iso-8859-1] Wed Nov 5 15:47:55 2008 @@ -126,7 +126,7 @@ */ %option stack %option 8bit never-interactive -%option nounput +%option noinput nounput %option prefix="ppy_"
%x pp_pp @@ -156,12 +156,27 @@ ul [uUlL]|[uUlL][lL]|[lL][uU]|[lL][lL][uU]|[uU][lL][lL]|[lL][uU][lL]
%{ -#include <config.h> +#include "config.h" +#include "wine/port.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <assert.h> +#include <errno.h> +#include <limits.h> + +#ifndef LLONG_MAX +# define LLONG_MAX ((long long)0x7fffffff << 32 | 0xffffffff) +# define LLONG_MIN (-LLONG_MAX - 1) +#endif +#ifndef ULLONG_MAX +# define ULLONG_MAX ((long long)0xffffffff << 32 | 0xffffffff) +#endif + +#ifndef HAVE_UNISTD_H +#define YY_NO_UNISTD_H +#endif
#include "wpp_private.h" #include "ppy.tab.h" @@ -200,7 +215,6 @@ /* Include management */ include_state_t incl; char *include_filename; - int pass_data; } bufferstackentry_t;
#define ALLOCBLOCKSIZE (1 << 10) /* Allocate these chunks at a time for string-buffers */ @@ -233,7 +247,6 @@ static void newline(int); static int make_number(int radix, YYSTYPE *val, const char *str, int len); static void put_buffer(const char *s, int len); -static int is_c_h_include(char *fname, int quoted); /* Buffer management */ static void push_buffer(pp_entry_t *ppp, char *filename, char *incname, int pop); static bufferstackentry_t *pop_buffer(void); @@ -272,8 +285,6 @@ static bufferstackentry_t bufferstack[MAXBUFFERSTACK]; static int bufferstackidx = 0;
-static int pass_data=1; - /* * Global variables */ @@ -559,8 +570,6 @@ return tDQSTRING; case pp_line: ppy_lval.cptr = get_string(); - if (is_c_h_include(ppy_lval.cptr, 1)) pass_data=0; - else pass_data=1; return tDQSTRING; default: put_string(); @@ -791,6 +800,7 @@ int is_ll = 0; int is_u = 0; char ext[4]; + long l;
ext[3] = '\0'; ext[2] = toupper(str[len-1]); @@ -828,12 +838,18 @@ #ifdef HAVE_LONG_LONG if (is_u) { + errno = 0; val->ull = strtoull(str, NULL, radix); + if (val->ull == ULLONG_MAX && errno == ERANGE) + ppy_error("integer constant %s is too large\n", str); return tULONGLONG; } else { + errno = 0; val->sll = strtoll(str, NULL, radix); + if ((val->sll == LLONG_MIN || val->sll == LLONG_MAX) && errno == ERANGE) + ppy_error("integer constant %s is too large\n", str); return tSLONGLONG; } #else @@ -842,22 +858,38 @@ } else if(is_u && is_l) { + errno = 0; val->ulong = strtoul(str, NULL, radix); + if (val->ulong == ULONG_MAX && errno == ERANGE) + ppy_error("integer constant %s is too large\n", str); return tULONG; } else if(!is_u && is_l) { + errno = 0; val->slong = strtol(str, NULL, radix); + if ((val->slong == LONG_MIN || val->slong == LONG_MAX) && errno == ERANGE) + ppy_error("integer constant %s is too large\n", str); return tSLONG; } else if(is_u && !is_l) { - val->uint = (unsigned int)strtoul(str, NULL, radix); + unsigned long ul; + errno = 0; + ul = strtoul(str, NULL, radix); + if ((ul == ULONG_MAX && errno == ERANGE) || (ul > UINT_MAX)) + ppy_error("integer constant %s is too large\n", str); + val->uint = (unsigned int)ul; return tUINT; }
/* Else it must be an int... */ - val->sint = (int)strtol(str, NULL, radix); + errno = 0; + l = strtol(str, NULL, radix); + if (((l == LONG_MIN || l == LONG_MAX) && errno == ERANGE) || + (l > INT_MAX) || (l < INT_MIN)) + ppy_error("integer constant %s is too large\n", str); + val->sint = (int)l; return tSINT; }
@@ -1191,7 +1223,6 @@ bufferstack[bufferstackidx].ncontinuations = ncontinuations; bufferstack[bufferstackidx].incl = pp_incl_state; bufferstack[bufferstackidx].include_filename = incname; - bufferstack[bufferstackidx].pass_data = pass_data;
if(ppp) ppp->expanding = 1; @@ -1254,7 +1285,6 @@ } free(pp_incl_state.ppp); pp_incl_state = bufferstack[bufferstackidx].incl; - pass_data = bufferstack[bufferstackidx].pass_data;
} } @@ -1410,10 +1440,8 @@ { if(top_macro()) add_text_to_macro(s, len); - else { - if(pass_data) + else fwrite(s, 1, len, ppy_out); - } }
@@ -1422,15 +1450,6 @@ * Include management *------------------------------------------------------------------------- */ -static int is_c_h_include(char *fname, int quoted) -{ - int sl=strlen(fname); - if (sl < 2 + 2 * quoted) return 0; - if ((toupper(fname[sl-1-quoted])!='H') && (toupper(fname[sl-1-quoted])!='C')) return 0; - if (fname[sl-2-quoted]!='.') return 0; - return 1; -} - void pp_do_include(char *fname, int type) { char *newpath; @@ -1466,12 +1485,10 @@ pp_incl_state.seen_junk = 0; pp_incl_state.state = 0; pp_incl_state.ppp = NULL; - if (is_c_h_include(newpath, 0)) pass_data=0; - else pass_data=1;
if(pp_status.debug) - fprintf(stderr, "pp_do_include: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d ,pass_data=%d\n", - pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth, pass_data); + fprintf(stderr, "pp_do_include: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d\n", + pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth); ppy__switch_to_buffer(ppy__create_buffer(ppy_in, YY_BUF_SIZE));
fprintf(ppy_out, "# 1 "%s" 1%s\n", newpath, type ? "" : " 3");
Modified: trunk/reactos/tools/wpp/ppy.tab.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/wpp/ppy.tab.c?rev=372... ============================================================================== --- trunk/reactos/tools/wpp/ppy.tab.c [iso-8859-1] (original) +++ trunk/reactos/tools/wpp/ppy.tab.c [iso-8859-1] Wed Nov 5 15:47:55 2008 @@ -158,7 +158,7 @@
/* Copy the first part of user declarations. */ -#line 30 "tools\wpp_new\ppy.y" +#line 30 "ppy.y"
#include "config.h" #include "wine/port.h" @@ -274,7 +274,7 @@ #endif
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 126 "tools\wpp_new\ppy.y" +#line 126 "ppy.y" typedef union YYSTYPE { int sint; unsigned int uint; @@ -289,7 +289,7 @@ mtext_t *mtext; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 293 "tools\wpp_new\ppy.tab.c" +#line 293 "ppy.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -301,7 +301,7 @@
/* Line 219 of yacc.c. */ -#line 305 "tools\wpp_new\ppy.tab.c" +#line 305 "ppy.tab.c"
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -1214,7 +1214,7 @@ #endif #endif { - + int yystate; int yyn; int yyresult; @@ -1457,27 +1457,27 @@ switch (yyn) { case 4: -#line 186 "tools\wpp_new\ppy.y" +#line 186 "ppy.y" { pp_do_include((yyvsp[-1].cptr), 1); ;} break;
case 5: -#line 187 "tools\wpp_new\ppy.y" +#line 187 "ppy.y" { pp_do_include((yyvsp[-1].cptr), 0); ;} break;
case 6: -#line 188 "tools\wpp_new\ppy.y" +#line 188 "ppy.y" { pp_next_if_state(boolean(&(yyvsp[-1].cval))); ;} break;
case 7: -#line 189 "tools\wpp_new\ppy.y" +#line 189 "ppy.y" { pp_next_if_state(pplookup((yyvsp[-1].cptr)) != NULL); free((yyvsp[-1].cptr)); ;} break;
case 8: -#line 190 "tools\wpp_new\ppy.y" +#line 190 "ppy.y" { int t = pplookup((yyvsp[-1].cptr)) == NULL; if(pp_incl_state.state == 0 && t && !pp_incl_state.seen_junk) @@ -1501,7 +1501,7 @@ break;
case 9: -#line 210 "tools\wpp_new\ppy.y" +#line 210 "ppy.y" { pp_if_state_t s = pp_pop_if(); switch(s) @@ -1526,7 +1526,7 @@ break;
case 10: -#line 231 "tools\wpp_new\ppy.y" +#line 231 "ppy.y" { pp_if_state_t s = pp_pop_if(); switch(s) @@ -1553,7 +1553,7 @@ break;
case 11: -#line 254 "tools\wpp_new\ppy.y" +#line 254 "ppy.y" { pp_pop_if(); if(pp_incl_state.ifdepth == pp_get_if_depth() && pp_incl_state.state == 1) @@ -1572,74 +1572,74 @@ break;
case 12: -#line 269 "tools\wpp_new\ppy.y" +#line 269 "ppy.y" { pp_del_define((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); ;} break;
case 13: -#line 270 "tools\wpp_new\ppy.y" +#line 270 "ppy.y" { pp_add_define((yyvsp[-2].cptr), (yyvsp[-1].cptr)); ;} break;
case 14: -#line 271 "tools\wpp_new\ppy.y" +#line 271 "ppy.y" { pp_add_macro((yyvsp[-5].cptr), macro_args, nmacro_args, (yyvsp[-1].mtext)); ;} break;
case 15: -#line 274 "tools\wpp_new\ppy.y" +#line 274 "ppy.y" { fprintf(ppy_out, "# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); ;} break;
case 16: -#line 275 "tools\wpp_new\ppy.y" +#line 275 "ppy.y" { fprintf(ppy_out, "# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); ;} break;
case 17: -#line 277 "tools\wpp_new\ppy.y" +#line 277 "ppy.y" { fprintf(ppy_out, "# %d %s %d\n", (yyvsp[-3].sint), (yyvsp[-2].cptr), (yyvsp[-1].sint)); free((yyvsp[-2].cptr)); ;} break;
case 18: -#line 279 "tools\wpp_new\ppy.y" +#line 279 "ppy.y" { fprintf(ppy_out, "# %d %s %d %d\n", (yyvsp[-4].sint) ,(yyvsp[-3].cptr), (yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-3].cptr)); ;} break;
case 19: -#line 281 "tools\wpp_new\ppy.y" +#line 281 "ppy.y" { fprintf(ppy_out, "# %d %s %d %d %d\n", (yyvsp[-5].sint) ,(yyvsp[-4].cptr) ,(yyvsp[-3].sint) ,(yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-4].cptr)); ;} break;
case 20: -#line 283 "tools\wpp_new\ppy.y" +#line 283 "ppy.y" { fprintf(ppy_out, "# %d %s %d %d %d %d\n", (yyvsp[-6].sint) ,(yyvsp[-5].cptr) ,(yyvsp[-4].sint) ,(yyvsp[-3].sint), (yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-5].cptr)); ;} break;
case 22: -#line 285 "tools\wpp_new\ppy.y" - { ppy_error("#error directive: '%s'", (yyvsp[-1].cptr)); if((yyvsp[-1].cptr)) free((yyvsp[-1].cptr)); ;} +#line 285 "ppy.y" + { ppy_error("#error directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); ;} break;
case 23: -#line 286 "tools\wpp_new\ppy.y" - { ppy_warning("#warning directive: '%s'", (yyvsp[-1].cptr)); if((yyvsp[-1].cptr)) free((yyvsp[-1].cptr)); ;} +#line 286 "ppy.y" + { ppy_warning("#warning directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); ;} break;
case 24: -#line 287 "tools\wpp_new\ppy.y" - { fprintf(ppy_out, "#pragma %s\n", (yyvsp[-1].cptr) ? (yyvsp[-1].cptr) : ""); if ((yyvsp[-1].cptr)) free((yyvsp[-1].cptr)); ;} +#line 287 "ppy.y" + { fprintf(ppy_out, "#pragma %s\n", (yyvsp[-1].cptr) ? (yyvsp[-1].cptr) : ""); free((yyvsp[-1].cptr)); ;} break;
case 25: -#line 288 "tools\wpp_new\ppy.y" - { if(pp_status.pedantic) ppy_warning("#ident ignored (arg: '%s')", (yyvsp[-1].cptr)); if((yyvsp[-1].cptr)) free((yyvsp[-1].cptr)); ;} +#line 288 "ppy.y" + { if(pp_status.pedantic) ppy_warning("#ident ignored (arg: '%s')", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); ;} break;
case 26: -#line 289 "tools\wpp_new\ppy.y" +#line 289 "ppy.y" { int nl=strlen((yyvsp[0].cptr)) +3; char *fn=pp_xmalloc(nl); @@ -1650,94 +1650,94 @@ break;
case 27: -#line 296 "tools\wpp_new\ppy.y" +#line 296 "ppy.y" { pp_do_include((yyvsp[0].cptr),1); ;} break;
case 28: -#line 302 "tools\wpp_new\ppy.y" +#line 302 "ppy.y" { (yyval.cptr) = NULL; ;} break;
case 29: -#line 303 "tools\wpp_new\ppy.y" +#line 303 "ppy.y" { (yyval.cptr) = (yyvsp[0].cptr); ;} break;
case 30: -#line 306 "tools\wpp_new\ppy.y" +#line 306 "ppy.y" { (yyval.cptr) = (yyvsp[0].cptr); ;} break;
case 31: -#line 307 "tools\wpp_new\ppy.y" +#line 307 "ppy.y" { (yyval.cptr) = (yyvsp[0].cptr); ;} break;
case 32: -#line 308 "tools\wpp_new\ppy.y" +#line 308 "ppy.y" { (yyval.cptr) = (yyvsp[0].cptr); ;} break;
case 33: -#line 309 "tools\wpp_new\ppy.y" +#line 309 "ppy.y" { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); ;} break;
case 34: -#line 310 "tools\wpp_new\ppy.y" +#line 310 "ppy.y" { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); ;} break;
case 35: -#line 311 "tools\wpp_new\ppy.y" +#line 311 "ppy.y" { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); ;} break;
case 36: -#line 314 "tools\wpp_new\ppy.y" +#line 314 "ppy.y" { macro_args = NULL; nmacro_args = 0; ;} break;
case 37: -#line 317 "tools\wpp_new\ppy.y" +#line 317 "ppy.y" { (yyval.sint) = 0; macro_args = NULL; nmacro_args = 0; ;} break;
case 38: -#line 318 "tools\wpp_new\ppy.y" +#line 318 "ppy.y" { (yyval.sint) = nmacro_args; ;} break;
case 39: -#line 321 "tools\wpp_new\ppy.y" +#line 321 "ppy.y" { (yyval.marg) = (yyvsp[0].marg); ;} break;
case 40: -#line 322 "tools\wpp_new\ppy.y" +#line 322 "ppy.y" { (yyval.marg) = add_new_marg(NULL, arg_list); nmacro_args *= -1; ;} break;
case 41: -#line 325 "tools\wpp_new\ppy.y" +#line 325 "ppy.y" { (yyval.marg) = add_new_marg((yyvsp[0].cptr), arg_single); ;} break;
case 42: -#line 326 "tools\wpp_new\ppy.y" +#line 326 "ppy.y" { (yyval.marg) = add_new_marg((yyvsp[0].cptr), arg_single); ;} break;
case 43: -#line 330 "tools\wpp_new\ppy.y" +#line 330 "ppy.y" { (yyval.mtext) = NULL; ;} break;
case 44: -#line 331 "tools\wpp_new\ppy.y" +#line 331 "ppy.y" { for((yyval.mtext) = (yyvsp[0].mtext); (yyval.mtext) && (yyval.mtext)->prev; (yyval.mtext) = (yyval.mtext)->prev) ; @@ -1745,37 +1745,37 @@ break;
case 45: -#line 337 "tools\wpp_new\ppy.y" +#line 337 "ppy.y" { (yyval.mtext) = (yyvsp[0].mtext); ;} break;
case 46: -#line 338 "tools\wpp_new\ppy.y" +#line 338 "ppy.y" { (yyval.mtext) = combine_mtext((yyvsp[-1].mtext), (yyvsp[0].mtext)); ;} break;
case 47: -#line 341 "tools\wpp_new\ppy.y" +#line 341 "ppy.y" { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); ;} break;
case 48: -#line 342 "tools\wpp_new\ppy.y" +#line 342 "ppy.y" { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); ;} break;
case 49: -#line 343 "tools\wpp_new\ppy.y" +#line 343 "ppy.y" { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); ;} break;
case 50: -#line 344 "tools\wpp_new\ppy.y" +#line 344 "ppy.y" { (yyval.mtext) = new_mtext(NULL, 0, exp_concat); ;} break;
case 51: -#line 345 "tools\wpp_new\ppy.y" +#line 345 "ppy.y" { int mat = marg_index((yyvsp[0].cptr)); if(mat < 0) @@ -1785,7 +1785,7 @@ break;
case 52: -#line 351 "tools\wpp_new\ppy.y" +#line 351 "ppy.y" { int mat = marg_index((yyvsp[0].cptr)); if(mat >= 0) @@ -1796,162 +1796,162 @@ break;
case 53: -#line 360 "tools\wpp_new\ppy.y" +#line 360 "ppy.y" { (yyval.cval).type = cv_sint; (yyval.cval).val.si = (yyvsp[0].sint); ;} break;
case 54: -#line 361 "tools\wpp_new\ppy.y" +#line 361 "ppy.y" { (yyval.cval).type = cv_uint; (yyval.cval).val.ui = (yyvsp[0].uint); ;} break;
case 55: -#line 362 "tools\wpp_new\ppy.y" +#line 362 "ppy.y" { (yyval.cval).type = cv_slong; (yyval.cval).val.sl = (yyvsp[0].slong); ;} break;
case 56: -#line 363 "tools\wpp_new\ppy.y" +#line 363 "ppy.y" { (yyval.cval).type = cv_ulong; (yyval.cval).val.ul = (yyvsp[0].ulong); ;} break;
case 57: -#line 364 "tools\wpp_new\ppy.y" +#line 364 "ppy.y" { (yyval.cval).type = cv_sll; (yyval.cval).val.sll = (yyvsp[0].sll); ;} break;
case 58: -#line 365 "tools\wpp_new\ppy.y" +#line 365 "ppy.y" { (yyval.cval).type = cv_ull; (yyval.cval).val.ull = (yyvsp[0].ull); ;} break;
case 59: -#line 366 "tools\wpp_new\ppy.y" +#line 366 "ppy.y" { (yyval.cval).type = cv_sint; (yyval.cval).val.si = pplookup((yyvsp[0].cptr)) != NULL; ;} break;
case 60: -#line 367 "tools\wpp_new\ppy.y" +#line 367 "ppy.y" { (yyval.cval).type = cv_sint; (yyval.cval).val.si = pplookup((yyvsp[-1].cptr)) != NULL; ;} break;
case 61: -#line 368 "tools\wpp_new\ppy.y" +#line 368 "ppy.y" { (yyval.cval).type = cv_sint; (yyval.cval).val.si = 0; ;} break;
case 62: -#line 369 "tools\wpp_new\ppy.y" +#line 369 "ppy.y" { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) || boolean(&(yyvsp[0].cval)); ;} break;
case 63: -#line 370 "tools\wpp_new\ppy.y" +#line 370 "ppy.y" { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) && boolean(&(yyvsp[0].cval)); ;} break;
case 64: -#line 371 "tools\wpp_new\ppy.y" +#line 371 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ==) ;} break;
case 65: -#line 372 "tools\wpp_new\ppy.y" +#line 372 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), !=) ;} break;
case 66: -#line 373 "tools\wpp_new\ppy.y" +#line 373 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <) ;} break;
case 67: -#line 374 "tools\wpp_new\ppy.y" +#line 374 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >) ;} break;
case 68: -#line 375 "tools\wpp_new\ppy.y" +#line 375 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <=) ;} break;
case 69: -#line 376 "tools\wpp_new\ppy.y" +#line 376 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >=) ;} break;
case 70: -#line 377 "tools\wpp_new\ppy.y" +#line 377 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), +) ;} break;
case 71: -#line 378 "tools\wpp_new\ppy.y" +#line 378 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), -) ;} break;
case 72: -#line 379 "tools\wpp_new\ppy.y" +#line 379 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ^) ;} break;
case 73: -#line 380 "tools\wpp_new\ppy.y" +#line 380 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), &) ;} break;
case 74: -#line 381 "tools\wpp_new\ppy.y" +#line 381 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), |) ;} break;
case 75: -#line 382 "tools\wpp_new\ppy.y" +#line 382 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), *) ;} break;
case 76: -#line 383 "tools\wpp_new\ppy.y" +#line 383 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), /) ;} break;
case 77: -#line 384 "tools\wpp_new\ppy.y" +#line 384 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <<) ;} break;
case 78: -#line 385 "tools\wpp_new\ppy.y" +#line 385 "ppy.y" { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >>) ;} break;
case 79: -#line 386 "tools\wpp_new\ppy.y" +#line 386 "ppy.y" { (yyval.cval) = (yyvsp[0].cval); ;} break;
case 80: -#line 387 "tools\wpp_new\ppy.y" +#line 387 "ppy.y" { UNARY_OP((yyval.cval), (yyvsp[0].cval), -) ;} break;
case 81: -#line 388 "tools\wpp_new\ppy.y" +#line 388 "ppy.y" { UNARY_OP((yyval.cval), (yyvsp[0].cval), ~) ;} break;
case 82: -#line 389 "tools\wpp_new\ppy.y" +#line 389 "ppy.y" { (yyval.cval).type = cv_sint; (yyval.cval).val.si = !boolean(&(yyvsp[0].cval)); ;} break;
case 83: -#line 390 "tools\wpp_new\ppy.y" +#line 390 "ppy.y" { (yyval.cval) = (yyvsp[-1].cval); ;} break;
case 84: -#line 391 "tools\wpp_new\ppy.y" +#line 391 "ppy.y" { (yyval.cval) = boolean(&(yyvsp[-4].cval)) ? (yyvsp[-2].cval) : (yyvsp[0].cval); ;} break;
@@ -1960,7 +1960,7 @@ }
/* Line 1126 of yacc.c. */ -#line 1964 "tools\wpp_new\ppy.tab.c" +#line 1964 "ppy.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -2228,7 +2228,7 @@ }
-#line 394 "tools\wpp_new\ppy.y" +#line 394 "ppy.y"
/*
Modified: trunk/reactos/tools/wpp/ppy.tab.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/wpp/ppy.tab.h?rev=372... ============================================================================== --- trunk/reactos/tools/wpp/ppy.tab.h [iso-8859-1] (original) +++ trunk/reactos/tools/wpp/ppy.tab.h [iso-8859-1] Wed Nov 5 15:47:55 2008 @@ -123,7 +123,7 @@
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 126 "tools\wpp_new\ppy.y" +#line 126 "ppy.y" typedef union YYSTYPE { int sint; unsigned int uint; @@ -138,7 +138,7 @@ mtext_t *mtext; } YYSTYPE; /* Line 1447 of yacc.c. */ -#line 142 "tools\wpp_new\ppy.tab.h" +#line 142 "ppy.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1
Modified: trunk/reactos/tools/wpp/ppy.y URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/wpp/ppy.y?rev=37204&a... ============================================================================== --- trunk/reactos/tools/wpp/ppy.y [iso-8859-1] (original) +++ trunk/reactos/tools/wpp/ppy.y [iso-8859-1] Wed Nov 5 15:47:55 2008 @@ -282,10 +282,10 @@ | tGCCLINE tSINT tDQSTRING tSINT tSINT tSINT tSINT tNL { fprintf(ppy_out, "# %d %s %d %d %d %d\n", $2 ,$3 ,$4 ,$5, $6, $7); free($3); } | tGCCLINE tNL /* The null-token */ - | tERROR opt_text tNL { ppy_error("#error directive: '%s'", $2); if($2) free($2); } - | tWARNING opt_text tNL { ppy_warning("#warning directive: '%s'", $2); if($2) free($2); } - | tPRAGMA opt_text tNL { fprintf(ppy_out, "#pragma %s\n", $2 ? $2 : ""); if ($2) free($2); } - | tPPIDENT opt_text tNL { if(pp_status.pedantic) ppy_warning("#ident ignored (arg: '%s')", $2); if($2) free($2); } + | tERROR opt_text tNL { ppy_error("#error directive: '%s'", $2); free($2); } + | tWARNING opt_text tNL { ppy_warning("#warning directive: '%s'", $2); free($2); } + | tPRAGMA opt_text tNL { fprintf(ppy_out, "#pragma %s\n", $2 ? $2 : ""); free($2); } + | tPPIDENT opt_text tNL { if(pp_status.pedantic) ppy_warning("#ident ignored (arg: '%s')", $2); free($2); } | tRCINCLUDE tRCINCLUDEPATH { int nl=strlen($2) +3; char *fn=pp_xmalloc(nl);
Modified: trunk/reactos/tools/wpp/wpp.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/wpp/wpp.c?rev=37204&a... ============================================================================== --- trunk/reactos/tools/wpp/wpp.c [iso-8859-1] (original) +++ trunk/reactos/tools/wpp/wpp.c [iso-8859-1] Wed Nov 5 15:47:55 2008 @@ -1,7 +1,7 @@ /* * Exported functions of the Wine preprocessor * - * Copyrignt 1998 Bertho A. Stultiens + * Copyright 1998 Bertho A. Stultiens * Copyright 2002 Alexandre Julliard * * This library is free software; you can redistribute it and/or
Modified: trunk/reactos/tools/wpp/wpp_private.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/wpp/wpp_private.h?rev... ============================================================================== --- trunk/reactos/tools/wpp/wpp_private.h [iso-8859-1] (original) +++ trunk/reactos/tools/wpp/wpp_private.h [iso-8859-1] Wed Nov 5 15:47:55 2008 @@ -181,7 +181,7 @@ ctype_t type; union { #if 0 - signed char sc; /* Explicitely signed because compilers are stupid */ + signed char sc; /* Explicitly signed because compilers are stupid */ unsigned char uc; short ss; unsigned short us;