ftm(dot)van(dot)vugt(at)foxi(dot)nl writes:
> Postgresql itself seems to never include <errno.h> along with
> <catalog/pg_type.h>, otherwise it would suffer from the same problem
That's hard to believe; I think it's Qt that's doing something strange
here. Still, the ANSI C standard does discourage what we are doing:
... It is unspecified whether errno
is a macro or an identifier declared with external linkage.
If a macro definition is suppressed in order to access an
actual object, or a program defines an identifier with the
name errno, the behavior is undefined.
Seems like almost anything else would be safer than "errno" :-(
Anyone object to doing
extern int no_such_variable;
instead?
(Note that just having the macros expand to empty won't do,
because then the compiler would see a string of semicolons,
and some compilers warn about that.)
regards, tom lane