Re: windows consolidated cleanup
От | Andrew Dunstan |
---|---|
Тема | Re: windows consolidated cleanup |
Дата | |
Msg-id | 4DB47CA9.3040801@dunslane.net обсуждение исходный текст |
Ответ на | Re: windows consolidated cleanup (Andrew Chernow <ac@esilo.com>) |
Ответы |
Re: windows consolidated cleanup
|
Список | pgsql-hackers |
On 04/24/2011 09:11 AM, Andrew Chernow wrote: > On 4/24/2011 1:29 AM, Andrew Dunstan wrote: >> >> The attached patch is intended to clean up a bunch of compiler >> warnings seen on >> Windows due to mismatches of signedness or constness, unused variables, >> redefined macros and a missing prototype. >> >> It doesn't clean up all the warnings by any means, but it fixes quite >> a few. >> >> One thing I'm a bit confused about is this type of warning: >> >> src\backend\utils\misc\guc-file.c(977): warning C4003: not enough actual >> parameters for macro 'GUC_yywrap' >> >> >> If someone can suggest a good fix That would be nice. >> > > The macro is defined as taking one argument. > > // guc-file.c line 354 > #define GUC_yywrap(n) 1 > > The macro is overriding the prototype declared at line 627, which has > a void argument list (assuming YY_SKIP_YYWRAP is !defined). Since all > code references to this do not provide an argument, I'd say the macro > is incorrect. Here's the fix that worked for me: *** a/src/tools/msvc/pgflex.bat --- b/src/tools/msvc/pgflex.bat *************** *** 25,32 **** if "%1" == "contrib\seg\segscan.l"call :generate %1 contrib\seg\segscan.c --- 25,38 ---- echo Unknown flex input: %1 exit1 + REM for non-reentrant scanners we need to fix up yywrap definition + REM to keep the MS compiler happy + REM forreentrant scanners (like the core scanner) we do not + REM need to (and must not) change the yywrap definition :generate flex %3 -o%2 %1 + if errorlevel 1 exit %errorlevel% + if not "%1" == "src\backend\parser\scan.l" perl-pi.bak -e "s/yywrap\(n\)/yywrap()/" %2 exit %errorlevel% :noflex cheers andrew
В списке pgsql-hackers по дате отправления: