Re: WIP pgindent replacement
От | Bruce Momjian |
---|---|
Тема | Re: WIP pgindent replacement |
Дата | |
Msg-id | 20120712183758.GD11063@momjian.us обсуждение исходный текст |
Ответ на | Re: WIP pgindent replacement (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-hackers |
On Wed, Jun 22, 2011 at 10:16:28AM -0400, Bruce Momjian wrote: > Andrew Dunstan wrote: > > >> Further research shows that C89 explicitly dropped support for the old > > >> K&R "=-" operator, so we probably *should* remove this in case it > > >> introduces an unintended bug. > > > Well, the point is if someone does use that, it isn't going to generate > > > a pgindent error, but rather produce incorrect C code because =- is > > > going to be changed. FYI, my gcc 2.95.3 allows =- and does work as > > > intended. > > > > > > > As intended by whom? If the effect of "x=4; x =- 1;" is to subtract 1 > > from x then that's simply wrong by C89. It should assign -1 to x. The > > "=-" must be parsed as two operators in C89, assignment and unary minus. > > pgindent should not under any circumstances change the semantics of the > > program being indented, and that's what this transformation does for > > compilers conforming to the standard we explicitly follow. > > > > What happens when your ancient gcc is told to apply the ansi standard? > > I see now that my test wasn't complete. You are right it assigns -1 so > we can remove this from pgindent. Per report form last year, removed from pgindent. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
В списке pgsql-hackers по дате отправления: