Re: 7.1 beta 3 CHANGES FOR QNX

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Maurizio <maurizio(dot)c(at)libero(dot)it>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 7.1 beta 3 CHANGES FOR QNX
Date: 2001-02-03 20:49:33
Message-ID: 2792.981233373@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> *** src/interfaces/ecpg/preproc/pgc.l 2001/01/24 19:43:29 1.73
> --- src/interfaces/ecpg/preproc/pgc.l 2001/02/02 18:13:17
> ***************
> *** 35,40 ****
> --- 35,45 ----
> #undef yywrap
> #endif /* yywrap */

> + #ifdef __QNX__
> + /* For some reason, QNX needs this, 2001-02-02 */
> + #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
> + #endif
> +
> #define YY_NO_UNPUT

> extern YYSTYPE yylval;

I do not believe this patch is correct or necessary. What is it trying
to fix, and if there's a problem here then why is there not a problem in
every other one of our flex outputs?

If there is a real problem --- presumably of the form "some QNX header
file pollutes the namespace with a definition of ECHO" --- then a more
appropriate fix would be

+ #ifdef __QNX__
+ /* Get rid of conflicting definition of ECHO from QNX's <something.h> */
+ #undef ECHO
+ #endif

so as not to tie ourselves to the exact definition of ECHO that flex is
currently using. However, I would first like to know where the conflict
is and why it doesn't break every other flex output in existence.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message m w 2001-02-03 22:16:01 Re: Like vs '=' bug with indexing
Previous Message Tom Lane 2001-02-03 20:04:21 Re: [HACKERS] ERROR: "Database 'products', OID nnn, has disappeared from pg_database"