Обсуждение: extern + static issue in datetime.c
Current sources don't compile on AIX with xlc compiler because of the
combined (and inconsistent ? or compiler bug) use of extern and static
for the datetktbl in datetime.c.
header unconditionally has:
extern datetkn datetktbl[];
source has:
static datetkn datetktbl[] = {
The usual approach would be to avoid that line in the header if included
from datetime.c, but I think it would be better to use a const in this
case.
I think this is a general compatibility problem, and thus needs to be
solved.
Andreas
I wrote:
> Current sources don't compile on AIX with xlc compiler because of the
> combined (and inconsistent ? or compiler bug) use of extern
> and static
> for the datetktbl in datetime.c.
>
> header unconditionally has:
> extern datetkn datetktbl[];
>
> source has:
> static datetkn datetktbl[] = {
>
> The usual approach would be to avoid that line in the header
> if included
>
> from datetime.c, but I think it would be better to use a const in this
> case.
>
> I think this is a general compatibility problem, and thus needs to be
> solved.
Attached is a patch that might be considered (remove static for these
globals).
Thanks
Andreas
Вложения
"Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at> writes:
> Current sources don't compile on AIX with xlc compiler because of the
> combined (and inconsistent ? or compiler bug) use of extern and static
> for the datetktbl in datetime.c.
Fixed. A pass with HP's compiler also showed up a static-vs-not-static
conflict in network.c.
regards, tom lane
"Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at> writes:
> Attached is a patch that might be considered (remove static for these
> globals).
Actually, they are not globals AFAICS, so removing the header extern
seemed the more appropriate fix.
regards, tom lane