Re: ecpg: issue related to preprocessor directives

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: ecpg: issue related to preprocessor directives
Дата
Msg-id 1853327.1596240391@sss.pgh.pa.us
обсуждение исходный текст
Ответ на ecpg: issue related to preprocessor directives  (Ashutosh Sharma <ashu.coek88@gmail.com>)
Ответы Re: ecpg: issue related to preprocessor directives
Re: ecpg: issue related to preprocessor directives
Список pgsql-interfaces
Ashutosh Sharma <ashu.coek88@gmail.com> writes:
> When the following ecpg program having preprocessor directives is compiled,
> the output produced is not correct.
> ...
> As seen from above output, both exec sql ifdef and exec sql else block got
> compiled which is wrong. If the above output is further compiled using gcc
> compiler, the compilation would fail.

Looking at pgc.l, it seems that 'elif' is treated as though it were
'endif' followed by 'ifdef', which of course completely loses the
expected property that a previous successful branch would keep the
elif branch from being expanded.

While this doesn't look terribly hard to fix, I'm a little disturbed
by the fact that the existing semantics seem to date back to 1999
(b57b0e044).  We're probably risking breaking existing app code if
we change it.  I think we *should* change it, of course, but I'm kind
of inclined not to back-patch.

            regards, tom lane



В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Ashutosh Sharma
Дата:
Сообщение: ecpg: issue related to preprocessor directives
Следующее
От: Tom Lane
Дата:
Сообщение: Re: ecpg: issue related to preprocessor directives