Thread: 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
Attachment
"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