Re: BUG #8608: ECPG: sizeof() in EXEC SQL DECLARE SECTION - Mailing list pgsql-bugs

From Boszormenyi Zoltan
Subject Re: BUG #8608: ECPG: sizeof() in EXEC SQL DECLARE SECTION
Date
Msg-id 5292145C.5000508@cybertec.at
Whole thread Raw
In response to Re: BUG #8608: ECPG: sizeof() in EXEC SQL DECLARE SECTION  (Michael Meskes <meskes@postgresql.org>)
Responses Re: BUG #8608: ECPG: sizeof() in EXEC SQL DECLARE SECTION  (Michael Meskes <meskes@postgresql.org>)
List pgsql-bugs
2013-11-24 12:55 keltezéssel, Michael Meskes írta:
> On Tue, Nov 19, 2013 at 10:39:48PM +0000, alexsav23@gmail.com wrote:
>> d:\>"c:\Program Files\PostgreSQL\9.3\bin\ecpg.exe"-o 1.c 1.pgc
>> 1.pgc: 4: ERROR: syntax error at or near  "("
>> error deleting output file "1.c"
> And another patch to try. Please send me feedback.

I think it's needlessly narrows the scope of the problem.
Consider this code:

#include <stdio.h>

#define hide_size_of_var sizeof

int main(void) {
     int a[hide_size_of_var(int)];
     int i;

     for (i = 0; i < hide_size_of_var(int); i++) {
         a[i] = i*3;
         printf("i: %d a[i]: %d\n", i, a[i]);
     }

     return 0;
}

It compiles just fine in a C compiler and runs from 0 to 3 as expected.
GCC 4.8.2 doesn't say anything about it with -Wall.

I think you should pass everything through as is inside the '[' and ']' and
let the C compiler fail if the code is not valid.

Best regards,
Zoltán Böszörményi

>
> Michael
>
>


--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
      http://www.postgresql.at/

pgsql-bugs by date:

Previous
From: Michael Meskes
Date:
Subject: Re: BUG #8608: ECPG: sizeof() in EXEC SQL DECLARE SECTION
Next
From: Tom Lane
Date:
Subject: Re: BUG #8611: ECPG: unclosed comment "/*"