Thread: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
vladimir.zvagolskiy@nasdaq.com
Date:
The following bug has been logged on the website: Bug reference: 13898 Logged by: vladimir zvagolskiy Email address: vladimir.zvagolskiy@nasdaq.com PostgreSQL version: 9.4.5 Operating system: Centos 7.1 Description: Hi guys, We experience a ecpg build issue for INFORMIX dialect: [vlzv@inetlinux10 ecpg_9.4_issue]$ cat simple.ec EXEC SQL include datetime; [vlzv@inetlinux10 ecpg_9.4_issue]$ /usr/pgsql-9.4/bin/ecpg -C INFORMIX -I /usr/pgsql-9.4/include/informix/esql simple.ec /usr/pgsql-9.4/include/informix/esql/datetime.h:9: ERROR: nested /* ... */ comments [vlzv@inetlinux10 ecpg_9.4_issue]$ rpm -qf /usr/pgsql-9.4/include/informix/esql/datetime.h postgresql94-devel-9.4.5-1PGDG.rhel7.x86_64 once I modify datetime.h file as per below diff, the issue disappears. [vlzv@inetlinux10 ecpg_9.4_issue]$ cat -n /usr/pgsql-9.4/include/informix/esql/datetime.h 1 /* src/interfaces/ecpg/include/datetime.h */ 2 3 #ifndef _ECPG_DATETIME_H 4 #define _ECPG_DATETIME_H 5 6 #include <ecpg_informix.h> 7 8 #ifndef _ECPGLIB_H /* source created by ecpg which defines thes 9 /* symbols */ 10 typedef timestamp dtime_t; 11 typedef interval intrvl_t; 12 #endif /* ndef _ECPGLIB_H */ 13 14 #endif /* ndef _ECPG_DATETIME_H */ [vlzv@inetlinux10 ecpg_9.4_issue]$ diff /usr/pgsql-9.4/include/informix/esql/datetime.h /usr/pgsql-9.4/include/informix/esql/datetime.h.orig 9c9 < /* symbols */ --- > * symbols */ [vlzv@inetlinux10 ecpg_9.4_issue]$ /usr/pgsql-9.4/bin/ecpg -C INFORMIX -I /usr/pgsql-9.4/include/informix/esql simple.ec [vlzv@inetlinux10 ecpg_9.4_issue]$ ls -l ./simple.c -rw-rw-r-- 1 vlzv vlzv 700 Jan 29 11:15 ./simple.c
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Michael Meskes
Date:
> once I modify datetime.h file as per below diff, the issue > disappears. > > [vlzv@inetlinux10 ecpg_9.4_issue]$ diff > /usr/pgsql-9.4/include/informix/esql/datetime.h > /usr/pgsql-9.4/include/informix/esql/datetime.h.orig > 9c9 > <                                                                /* > symbols > */ > --- > >                                                                * > > symbols > */ > I'm a bit confused. My 9.4.5 source tree does not show a "/*" in line 9, but only a "*", or in other words the patch you applied seems to only bring your source back to what originally was in 9.4.5. What do I miss here? Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Michael Meskes
Date:
On Sun, Jan 31, 2016 at 10:23:39PM +0000, Vladimir Zvagolskiy wrote: > Sorry for being confusing with this. > You're right, I've modified the file manually by putting "/" in front of "*" on line 9, and then made a diff. > *.orig is the original file as you have it in your 9.4.5 sources tree. I.e. you don't see the nested comments problem with 9.4.5 sources either, right? Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Michael Meskes
Date:
On Mon, Feb 01, 2016 at 08:59:17AM +0000, Vladimir Zvagolskiy wrote: > No, I do see problems with 9.3.5. Any reason why you're on 9.3.5 and not a later 9.3 version? > Until I've done the described modification in datetime.h Anyway, I cannot see a nested comment in that version either. Could you send a small test case to reproduce? Thanks. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Tom Lane
Date:
Michael Meskes <meskes@postgresql.org> writes: > On Mon, Feb 01, 2016 at 08:59:17AM +0000, Vladimir Zvagolskiy wrote: >> Until I've done the described modification in datetime.h > Anyway, I cannot see a nested comment in that version either. Could you send a small test case to reproduce? Thanks. It seems a bit fishy that the comment in question starts on an #if line and ends on an ordinary line. I am not sure what the C standard says about such cases, but I can certainly imagine that some tools might not be very happy with that. It looks like that code was last touched by pgindent in d747140279426607: -#ifndef _ECPGLIB_H /* source created by ecpg which defines these symbols */ +#ifndef _ECPGLIB_H /* source created by ecpg which defines these + * symbols */ Perhaps that was a bad change, and you should make it look like /* helpful comment here */ #ifndef _ECPGLIB_H regards, tom lane
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Michael Meskes
Date:
On Mon, Feb 01, 2016 at 10:56:44AM +0100, Tom Lane wrote: > It seems a bit fishy that the comment in question starts on an #if line > and ends on an ordinary line. I am not sure what the C standard says > about such cases, but I can certainly imagine that some tools might not > be very happy with that. Very good catch. Vladimir, which compiler are you using? > It looks like that code was last touched by pgindent in d747140279426607: Let me guess, pg_indent? It sure looks like it. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Michael Meskes
Date:
On Mon, Feb 01, 2016 at 10:56:44AM +0100, Tom Lane wrote: > It seems a bit fishy that the comment in question starts on an #if line > and ends on an ordinary line. I am not sure what the C standard says > about such cases, but I can certainly imagine that some tools might not > be very happy with that. It turns out ecpg is one of these tools. Lines starting with #<whatever> are considered CPP code and not parsed for C language comments. In the C code it then finds only the end of the comment and throws the error. It does surprise me, though, that the error only pops up now. I was pretty sure at least one of these headers was used in the regression suit. Will fix. Thanks. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Michael Meskes
Date:
> and ends on an ordinary line. I am not sure what the C standard says > about such cases, but I can certainly imagine that some tools might not > be very happy with that. We/I have to figure out what the standard says, because if it allows these comments, the lexer itself has to be fixed towork correctly instead of just fixing the header files. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Vladimir Zvagolskiy
Date:
SGkgTWljaGFlbCwNCg0KU29ycnkgZm9yIGJlaW5nIGNvbmZ1c2luZyB3aXRoIHRoaXMuDQpZb3Un cmUgcmlnaHQsIEkndmUgbW9kaWZpZWQgdGhlIGZpbGUgbWFudWFsbHkgYnkgcHV0dGluZyAiLyIg aW4gZnJvbnQgb2YgIioiIG9uIGxpbmUgOSwgYW5kIHRoZW4gbWFkZSBhIGRpZmYuDQoqLm9yaWcg aXMgdGhlIG9yaWdpbmFsIGZpbGUgYXMgeW91IGhhdmUgaXQgaW4geW91ciA5LjQuNSBzb3VyY2Vz IHRyZWUuDQoNClRoYW5rcyENCg0KQ2hlZXJzLA0KVmxhZA0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogTWljaGFlbCBNZXNrZXMgW21haWx0bzptZXNrZXNAcG9zdGdyZXNxbC5v cmddIA0KU2VudDogU2F0dXJkYXksIDMwIEphbnVhcnkgMjAxNiAxMTowMiBQTQ0KVG86IHBnc3Fs LWJ1Z3NAcG9zdGdyZXNxbC5vcmcNCkNjOiBWbGFkaW1pciBadmFnb2xza2l5IDxWbGFkaW1pci5a dmFnb2xza2l5QG5hc2RhcS5jb20+DQpTdWJqZWN0OiBSZTogW0JVR1NdIEJVRyAjMTM4OTg6IGVj cGcgY29tcGxhaW5zIG9uIG5lc3RlZCBjb21tZW50cyBpbiAvdXNyL3Bnc3FsLTkuNC9pbmNsdWRl L2luZm9ybWl4L2VzcWwvZGF0ZXRpbWUuaA0KDQo+IG9uY2UgSSBtb2RpZnkgZGF0ZXRpbWUuaCBm aWxlIGFzIHBlciBiZWxvdyBkaWZmLCB0aGUgaXNzdWUgZGlzYXBwZWFycy4NCj7CoA0KPiBbdmx6 dkBpbmV0bGludXgxMCBlY3BnXzkuNF9pc3N1ZV0kIGRpZmYgDQo+IC91c3IvcGdzcWwtOS40L2lu Y2x1ZGUvaW5mb3JtaXgvZXNxbC9kYXRldGltZS5oDQo+IC91c3IvcGdzcWwtOS40L2luY2x1ZGUv aW5mb3JtaXgvZXNxbC9kYXRldGltZS5oLm9yaWcNCj4gOWM5DQo+IDzCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8q IA0KPiBzeW1ib2xzICovDQo+IC0tLQ0KPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCogDQo+ID4gc3ltYm9scw0K PiAqLw0KPiANCg0KSSdtIGEgYml0IGNvbmZ1c2VkLiBNeSA5LjQuNSBzb3VyY2UgdHJlZSBkb2Vz IG5vdCBzaG93IGEgIi8qIiBpbiBsaW5lIDksIGJ1dCBvbmx5IGEgIioiLCBvciBpbiBvdGhlciB3 b3JkcyB0aGUgcGF0Y2ggeW91IGFwcGxpZWQgc2VlbXMgdG8gb25seSBicmluZyB5b3VyIHNvdXJj ZSBiYWNrIHRvIHdoYXQgb3JpZ2luYWxseSB3YXMgaW4gOS40LjUuDQoNCldoYXQgZG8gSSBtaXNz IGhlcmU/DQoNCk1pY2hhZWwNCi0tDQpNaWNoYWVsIE1lc2tlcw0KTWljaGFlbCBhdCBGYW0tTWVz a2VzIGRvdCBEZSwgTWljaGFlbCBhdCBNZXNrZXMgZG90IChEZXxDb218TmV0fE9yZykgTWVza2Vz IGF0IChEZWJpYW58UG9zdGdyZXNxbCkgZG90IE9yZw0KSmFiYmVyOiBtaWNoYWVsIGF0IHhtcHAg ZG90IG1lc2tlcyBkb3Qgb3JnIFZmTCBCb3J1c3NpYSEgRm9yw6dhIEJhcsOnYSEgU0YgNDllcnMh IFVzZSBEZWJpYW4gR05VL0xpbnV4LCBQb3N0Z3JlU1FMDQoNCg0KDQoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KQ09ORklERU5USUFM SVRZIE5PVElDRTogVGhpcyBlLW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBhcmUgZm9yIHRoZSBl eGNsdXNpdmUgYW5kIGNvbmZpZGVudGlhbCB1c2Ugb2YgdGhlIGludGVuZGVkIHJlY2lwaWVudCBh bmQgbWF5IGNvbnN0aXR1dGUgbm9uLXB1YmxpYyBpbmZvcm1hdGlvbi4gSWYgeW91IHJlY2VpdmVk IHRoaXMgZS1tYWlsIGluIGVycm9yLCBkaXNjbG9zaW5nLCBjb3B5aW5nLCBkaXN0cmlidXRpbmcg b3IgdGFraW5nIGFueSBhY3Rpb24gaW4gcmVsaWFuY2Ugb2YgdGhpcyBlLW1haWwgaXMgc3RyaWN0 bHkgcHJvaGliaXRlZCBhbmQgbWF5IGJlIHVubGF3ZnVsLiBJbnN0ZWFkLCBwbGVhc2Ugbm90aWZ5 IHVzIGltbWVkaWF0ZWx5IGJ5IHJldHVybiBlLW1haWwgYW5kIHByb21wdGx5IGRlbGV0ZSB0aGlz IG1lc3NhZ2UgYW5kIGl0cyBhdHRhY2htZW50cyBmcm9tIHlvdXIgY29tcHV0ZXIgc3lzdGVtLiBX ZSBkbyBub3Qgd2FpdmUgYW55IHdvcmsgcHJvZHVjdCBvciBvdGhlciBhcHBsaWNhYmxlIGxlZ2Fs IHByaXZpbGVnZShzKSBieSB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoaXMgbWVzc2FnZS4NCioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCg==
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Vladimir Zvagolskiy
Date:
Tm8sIEkgZG8gc2VlIHByb2JsZW1zIHdpdGggOS4zLjUuDQpVbnRpbCBJJ3ZlIGRvbmUgdGhlIGRl c2NyaWJlZCBtb2RpZmljYXRpb24gaW4gZGF0ZXRpbWUuaCANCg0KDQpDaGVlcnMsDQpWbGFkDQoN Cg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE1pY2hhZWwgTWVza2VzIFttYWls dG86bWVza2VzQHBvc3RncmVzcWwub3JnXSANClNlbnQ6IE1vbmRheSwgMSBGZWJydWFyeSAyMDE2 IDc6NTcgUE0NClRvOiBWbGFkaW1pciBadmFnb2xza2l5IDxWbGFkaW1pci5admFnb2xza2l5QG5h c2RhcS5jb20+DQpDYzogTWljaGFlbCBNZXNrZXMgPG1lc2tlc0Bwb3N0Z3Jlc3FsLm9yZz47IHBn c3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmcNClN1YmplY3Q6IFJlOiBbQlVHU10gQlVHICMxMzg5ODog ZWNwZyBjb21wbGFpbnMgb24gbmVzdGVkIGNvbW1lbnRzIGluIC91c3IvcGdzcWwtOS40L2luY2x1 ZGUvaW5mb3JtaXgvZXNxbC9kYXRldGltZS5oDQoNCk9uIFN1biwgSmFuIDMxLCAyMDE2IGF0IDEw OjIzOjM5UE0gKzAwMDAsIFZsYWRpbWlyIFp2YWdvbHNraXkgd3JvdGU6DQo+IFNvcnJ5IGZvciBi ZWluZyBjb25mdXNpbmcgd2l0aCB0aGlzLg0KPiBZb3UncmUgcmlnaHQsIEkndmUgbW9kaWZpZWQg dGhlIGZpbGUgbWFudWFsbHkgYnkgcHV0dGluZyAiLyIgaW4gZnJvbnQgb2YgIioiIG9uIGxpbmUg OSwgYW5kIHRoZW4gbWFkZSBhIGRpZmYuDQo+ICoub3JpZyBpcyB0aGUgb3JpZ2luYWwgZmlsZSBh cyB5b3UgaGF2ZSBpdCBpbiB5b3VyIDkuNC41IHNvdXJjZXMgdHJlZS4NCg0KSS5lLiB5b3UgZG9u J3Qgc2VlIHRoZSBuZXN0ZWQgY29tbWVudHMgcHJvYmxlbSB3aXRoIDkuNC41IHNvdXJjZXMgZWl0 aGVyLCByaWdodD8NCg0KTWljaGFlbA0KLS0NCk1pY2hhZWwgTWVza2VzDQpNaWNoYWVsIGF0IEZh bS1NZXNrZXMgZG90IERlLCBNaWNoYWVsIGF0IE1lc2tlcyBkb3QgKERlfENvbXxOZXR8T3JnKSBN ZXNrZXMgYXQgKERlYmlhbnxQb3N0Z3Jlc3FsKSBkb3QgT3JnDQpKYWJiZXI6IG1pY2hhZWwgYXQg eG1wcCBkb3QgbWVza2VzIGRvdCBvcmcgVmZMIEJvcnVzc2lhISBGb3LDp2EgQmFyw6dhISBHbyBT RiA0OWVycyEgVXNlIERlYmlhbiBHTlUvTGludXgsIFBvc3RncmVTUUwNCg0KKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCkNPTkZJREVO VElBTElUWSBOT1RJQ0U6IFRoaXMgZS1tYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgYXJlIGZvciB0 aGUgZXhjbHVzaXZlIGFuZCBjb25maWRlbnRpYWwgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNpcGll bnQgYW5kIG1heSBjb25zdGl0dXRlIG5vbi1wdWJsaWMgaW5mb3JtYXRpb24uIElmIHlvdSByZWNl aXZlZCB0aGlzIGUtbWFpbCBpbiBlcnJvciwgZGlzY2xvc2luZywgY29weWluZywgZGlzdHJpYnV0 aW5nIG9yIHRha2luZyBhbnkgYWN0aW9uIGluIHJlbGlhbmNlIG9mIHRoaXMgZS1tYWlsIGlzIHN0 cmljdGx5IHByb2hpYml0ZWQgYW5kIG1heSBiZSB1bmxhd2Z1bC4gSW5zdGVhZCwgcGxlYXNlIG5v dGlmeSB1cyBpbW1lZGlhdGVseSBieSByZXR1cm4gZS1tYWlsIGFuZCBwcm9tcHRseSBkZWxldGUg dGhpcyBtZXNzYWdlIGFuZCBpdHMgYXR0YWNobWVudHMgZnJvbSB5b3VyIGNvbXB1dGVyIHN5c3Rl bS4gV2UgZG8gbm90IHdhaXZlIGFueSB3b3JrIHByb2R1Y3Qgb3Igb3RoZXIgYXBwbGljYWJsZSBs ZWdhbCBwcml2aWxlZ2UocykgYnkgdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGlzIG1lc3NhZ2UuDQoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Kgo=
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Vladimir Zvagolskiy
Date:
SGkgTWljaGFlbCwgDQoNCkkndmUgaW5zdGFsbGVkIGZyb20geXVtIHJlcG9zaXRvcnkgZm9yIFJI RUw3LCB0aGF0IHdhcyB0aGUgbGF0ZXN0IDkuMy54IHZlcnNpb24gYXZhaWxhYmxlLg0KDQpIZXJl IGlzIHRoZSBzbWFsbCB0ZXN0IHRoYXQgdGhyb3dzIHRoZSBlcnJvcjoNCg0KW3ZsenZAaW5ldGxp bnV4MTAgZWNwZ185LjRfaXNzdWVdJCBjYXQgc2ltcGxlLmVjDQpFWEVDIFNRTCBpbmNsdWRlIGRh dGV0aW1lOw0KIA0KW3ZsenZAaW5ldGxpbnV4MTAgZWNwZ185LjRfaXNzdWVdJCAvdXNyL3Bnc3Fs LTkuNC9iaW4vZWNwZyAtQyBJTkZPUk1JWCAtSSAvdXNyL3Bnc3FsLTkuNC9pbmNsdWRlL2luZm9y bWl4L2VzcWwgc2ltcGxlLmVjDQovdXNyL3Bnc3FsLTkuNC9pbmNsdWRlL2luZm9ybWl4L2VzcWwv ZGF0ZXRpbWUuaDo5OiBFUlJPUjogbmVzdGVkIC8qIC4uLiAqLyBjb21tZW50cw0KDQoNClRoYW5r cyBhZ2FpbiENCg0KDQpDaGVlcnMsDQpWbGFkDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCkZyb206IE1pY2hhZWwgTWVza2VzIFttYWlsdG86bWVza2VzQHBvc3RncmVzcWwub3JnXSAN ClNlbnQ6IE1vbmRheSwgMSBGZWJydWFyeSAyMDE2IDg6NDQgUE0NClRvOiBWbGFkaW1pciBadmFn b2xza2l5IDxWbGFkaW1pci5admFnb2xza2l5QG5hc2RhcS5jb20+DQpDYzogTWljaGFlbCBNZXNr ZXMgPG1lc2tlc0Bwb3N0Z3Jlc3FsLm9yZz47IHBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmcNClN1 YmplY3Q6IFJlOiBbQlVHU10gQlVHICMxMzg5ODogZWNwZyBjb21wbGFpbnMgb24gbmVzdGVkIGNv bW1lbnRzIGluIC91c3IvcGdzcWwtOS40L2luY2x1ZGUvaW5mb3JtaXgvZXNxbC9kYXRldGltZS5o DQoNCk9uIE1vbiwgRmViIDAxLCAyMDE2IGF0IDA4OjU5OjE3QU0gKzAwMDAsIFZsYWRpbWlyIFp2 YWdvbHNraXkgd3JvdGU6DQo+IE5vLCBJIGRvIHNlZSBwcm9ibGVtcyB3aXRoIDkuMy41Lg0KDQpB bnkgcmVhc29uIHdoeSB5b3UncmUgb24gOS4zLjUgYW5kIG5vdCBhIGxhdGVyIDkuMyB2ZXJzaW9u Pw0KDQo+IFVudGlsIEkndmUgZG9uZSB0aGUgZGVzY3JpYmVkIG1vZGlmaWNhdGlvbiBpbiBkYXRl dGltZS5oDQoNCkFueXdheSwgSSBjYW5ub3Qgc2VlIGEgbmVzdGVkIGNvbW1lbnQgaW4gdGhhdCB2 ZXJzaW9uIGVpdGhlci4gQ291bGQgeW91IHNlbmQgYSBzbWFsbCB0ZXN0IGNhc2UgdG8gcmVwcm9k dWNlPyBUaGFua3MuDQoNCk1pY2hhZWwNCi0tDQpNaWNoYWVsIE1lc2tlcw0KTWljaGFlbCBhdCBG YW0tTWVza2VzIGRvdCBEZSwgTWljaGFlbCBhdCBNZXNrZXMgZG90IChEZXxDb218TmV0fE9yZykg TWVza2VzIGF0IChEZWJpYW58UG9zdGdyZXNxbCkgZG90IE9yZw0KSmFiYmVyOiBtaWNoYWVsIGF0 IHhtcHAgZG90IG1lc2tlcyBkb3Qgb3JnIFZmTCBCb3J1c3NpYSEgRm9yw6dhIEJhcsOnYSEgR28g U0YgNDllcnMhIFVzZSBEZWJpYW4gR05VL0xpbnV4LCBQb3N0Z3JlU1FMDQoNCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQpDT05GSURF TlRJQUxJVFkgTk9USUNFOiBUaGlzIGUtbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBmb3Ig dGhlIGV4Y2x1c2l2ZSBhbmQgY29uZmlkZW50aWFsIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBp ZW50IGFuZCBtYXkgY29uc3RpdHV0ZSBub24tcHVibGljIGluZm9ybWF0aW9uLiBJZiB5b3UgcmVj ZWl2ZWQgdGhpcyBlLW1haWwgaW4gZXJyb3IsIGRpc2Nsb3NpbmcsIGNvcHlpbmcsIGRpc3RyaWJ1 dGluZyBvciB0YWtpbmcgYW55IGFjdGlvbiBpbiByZWxpYW5jZSBvZiB0aGlzIGUtbWFpbCBpcyBz dHJpY3RseSBwcm9oaWJpdGVkIGFuZCBtYXkgYmUgdW5sYXdmdWwuIEluc3RlYWQsIHBsZWFzZSBu b3RpZnkgdXMgaW1tZWRpYXRlbHkgYnkgcmV0dXJuIGUtbWFpbCBhbmQgcHJvbXB0bHkgZGVsZXRl IHRoaXMgbWVzc2FnZSBhbmQgaXRzIGF0dGFjaG1lbnRzIGZyb20geW91ciBjb21wdXRlciBzeXN0 ZW0uIFdlIGRvIG5vdCB3YWl2ZSBhbnkgd29yayBwcm9kdWN0IG9yIG90aGVyIGFwcGxpY2FibGUg bGVnYWwgcHJpdmlsZWdlKHMpIGJ5IHRoZSB0cmFuc21pc3Npb24gb2YgdGhpcyBtZXNzYWdlLg0K KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioK
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
Vladimir Zvagolskiy
Date:
SGkgTWljaGFlbCwgVG9tLA0KDQpXZSB1c2UgZ2NjLTQuOS4xLCBidXQgaXQgaXMgZWNwZyBwcmUt Y29tcGlsZXIgdGhhdCB0aHJvd3MgdGhlIGVycm9yLg0KSSdtIG5vdCBmYW1pbGlhciB3aXRoIHBn X2luZGVudC4NCg0KDQpDaGVlcnMsDQpWbGFkDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCkZyb206IE1pY2hhZWwgTWVza2VzIFttYWlsdG86bWVza2VzQHBvc3RncmVzcWwub3JnXSAN ClNlbnQ6IE1vbmRheSwgMSBGZWJydWFyeSAyMDE2IDk6NDggUE0NClRvOiBUb20gTGFuZSA8dGds QHNzcy5wZ2gucGEudXM+DQpDYzogTWljaGFlbCBNZXNrZXMgPG1lc2tlc0Bwb3N0Z3Jlc3FsLm9y Zz47IFZsYWRpbWlyIFp2YWdvbHNraXkgPFZsYWRpbWlyLlp2YWdvbHNraXlAbmFzZGFxLmNvbT47 IHBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmcNClN1YmplY3Q6IFJlOiBbQlVHU10gQlVHICMxMzg5 ODogZWNwZyBjb21wbGFpbnMgb24gbmVzdGVkIGNvbW1lbnRzIGluIC91c3IvcGdzcWwtOS40L2lu Y2x1ZGUvaW5mb3JtaXgvZXNxbC9kYXRldGltZS5oDQoNCk9uIE1vbiwgRmViIDAxLCAyMDE2IGF0 IDEwOjU2OjQ0QU0gKzAxMDAsIFRvbSBMYW5lIHdyb3RlOg0KPiBJdCBzZWVtcyBhIGJpdCBmaXNo eSB0aGF0IHRoZSBjb21tZW50IGluIHF1ZXN0aW9uIHN0YXJ0cyBvbiBhbiAjaWYgDQo+IGxpbmUg YW5kIGVuZHMgb24gYW4gb3JkaW5hcnkgbGluZS4gIEkgYW0gbm90IHN1cmUgd2hhdCB0aGUgQyBz dGFuZGFyZCANCj4gc2F5cyBhYm91dCBzdWNoIGNhc2VzLCBidXQgSSBjYW4gY2VydGFpbmx5IGlt YWdpbmUgdGhhdCBzb21lIHRvb2xzIA0KPiBtaWdodCBub3QgYmUgdmVyeSBoYXBweSB3aXRoIHRo YXQuDQoNClZlcnkgZ29vZCBjYXRjaC4gVmxhZGltaXIsIHdoaWNoIGNvbXBpbGVyIGFyZSB5b3Ug dXNpbmc/DQoNCj4gSXQgbG9va3MgbGlrZSB0aGF0IGNvZGUgd2FzIGxhc3QgdG91Y2hlZCBieSBw Z2luZGVudCBpbiBkNzQ3MTQwMjc5NDI2NjA3Og0KDQpMZXQgbWUgZ3Vlc3MsIHBnX2luZGVudD8N Cg0KSXQgc3VyZSBsb29rcyBsaWtlIGl0Lg0KDQpNaWNoYWVsDQotLQ0KTWljaGFlbCBNZXNrZXMN Ck1pY2hhZWwgYXQgRmFtLU1lc2tlcyBkb3QgRGUsIE1pY2hhZWwgYXQgTWVza2VzIGRvdCAoRGV8 Q29tfE5ldHxPcmcpIE1lc2tlcyBhdCAoRGViaWFufFBvc3RncmVzcWwpIGRvdCBPcmcNCkphYmJl cjogbWljaGFlbCBhdCB4bXBwIGRvdCBtZXNrZXMgZG90IG9yZyBWZkwgQm9ydXNzaWEhIEZvcsOn YSBCYXLDp2EhIEdvIFNGIDQ5ZXJzISBVc2UgRGViaWFuIEdOVS9MaW51eCwgUG9zdGdyZVNRTA0K DQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKg0KQ09ORklERU5USUFMSVRZIE5PVElDRTogVGhpcyBlLW1haWwgYW5kIGFueSBhdHRhY2ht ZW50cyBhcmUgZm9yIHRoZSBleGNsdXNpdmUgYW5kIGNvbmZpZGVudGlhbCB1c2Ugb2YgdGhlIGlu dGVuZGVkIHJlY2lwaWVudCBhbmQgbWF5IGNvbnN0aXR1dGUgbm9uLXB1YmxpYyBpbmZvcm1hdGlv bi4gSWYgeW91IHJlY2VpdmVkIHRoaXMgZS1tYWlsIGluIGVycm9yLCBkaXNjbG9zaW5nLCBjb3B5 aW5nLCBkaXN0cmlidXRpbmcgb3IgdGFraW5nIGFueSBhY3Rpb24gaW4gcmVsaWFuY2Ugb2YgdGhp cyBlLW1haWwgaXMgc3RyaWN0bHkgcHJvaGliaXRlZCBhbmQgbWF5IGJlIHVubGF3ZnVsLiBJbnN0 ZWFkLCBwbGVhc2Ugbm90aWZ5IHVzIGltbWVkaWF0ZWx5IGJ5IHJldHVybiBlLW1haWwgYW5kIHBy b21wdGx5IGRlbGV0ZSB0aGlzIG1lc3NhZ2UgYW5kIGl0cyBhdHRhY2htZW50cyBmcm9tIHlvdXIg Y29tcHV0ZXIgc3lzdGVtLiBXZSBkbyBub3Qgd2FpdmUgYW55IHdvcmsgcHJvZHVjdCBvciBvdGhl ciBhcHBsaWNhYmxlIGxlZ2FsIHByaXZpbGVnZShzKSBieSB0aGUgdHJhbnNtaXNzaW9uIG9mIHRo aXMgbWVzc2FnZS4NCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCg==
Re: BUG #13898: ecpg complains on nested comments in /usr/pgsql-9.4/include/informix/esql/datetime.h
From
"Peter J. Holzer"
Date:
On 2016-02-01 13:16:20 +0100, Michael Meskes wrote: > > and ends on an ordinary line. I am not sure what the C standard says > > about such cases, but I can certainly imagine that some tools might not > > be very happy with that. >=20 > We/I have to figure out what the standard says, because if it allows > these comments, the lexer itself has to be fixed to work correctly > instead of just fixing the header files. The relevant translation phases are 3 and 4 according to the C standard (section 5.1.1.2 in C11): | 3. The source file is decomposed into preprocessing tokens7) and | sequences of white-space characters (including comments). A source | file shall not end in a partial preprocessing token or in a partial | comment. Each comment is replaced by one space character. New-line | characters are retained. Whether each nonempty sequence of | white-space characters other than new-line is retained or replaced | by one space character is implementation-defined. | | 4. Preprocessing directives are executed, macro invocations are | expanded, and _Pragma unary operator expressions are executed. If a | character sequence that matches the syntax of a universal character | name is produced by token concatenation (6.10.3.3), the behavior is | undefined. A #include preprocessing directive causes the named | header or source file to be processed from phase 1 through phase 4, | recursively. All preprocessing directives are then deleted. Comments are replaced with whitespace in phase 3, preprocessing directives are are only considered in phase 4. So code like=20 ---------------------------------------------------------------------------- #ifndef _ECPGLIB_H /* source created by ecpg which defines thes= e=E2=90=A4 * symbols */=E2=90=A4 ---------------------------------------------------------------------------- is valid C and should be exactly equivalent to ---------------------------------------------------------------------------- #ifndef _ECPGLIB_H =E2=90=A4 =E2=90=A4 ---------------------------------------------------------------------------- (=E2=90=A4 denotes a newline character here) hp --=20 _ | Peter J. Holzer | I want to forget all about both belts and |_|_) | | suspenders; instead, I want to buy pants=20 | | | hjp@hjp.at | that actually fit. __/ | http://www.hjp.at/ | -- http://noncombatant.org/