Thread: Re: [PATCHES] include compile problems

Re: [PATCHES] include compile problems

From
Tom Lane
Date:
Kris Jurka <books@ejurka.com> writes:
> The attached patch makes the tree build for me again after the recent
> include changes.  This patch still violates the postgres.h before all
> system headers rule and I'm still not sure what changed that broke
> everything, but if people need to get work done this may help.

I think that Bruce thought that <math.h> defines INT_MAX and related
symbols, whereas the spec is perfectly clear that they're in
<limits.h>.  However, that's where they are on my machines, and yet CVS
tip is not failing for me.  I'm not clear why not...  What platform
are you using?

            regards, tom lane

Re: [PATCHES] include compile problems

From
Bruce Momjian
Date:
Tom Lane wrote:
> Kris Jurka <books@ejurka.com> writes:
> > The attached patch makes the tree build for me again after the recent
> > include changes.  This patch still violates the postgres.h before all
> > system headers rule and I'm still not sure what changed that broke
> > everything, but if people need to get work done this may help.
>
> I think that Bruce thought that <math.h> defines INT_MAX and related
> symbols, whereas the spec is perfectly clear that they're in
> <limits.h>.  However, that's where they are on my machines, and yet CVS
> tip is not failing for me.  I'm not clear why not...  What platform
> are you using?

What happened is that an include file had #include <math.h>, but didn't
need it, so when it was removed, it had to be added to a few C files.
Not sure why limit.h is involved though, but the include trimming does
sometimes have that affect because limit was used somewhere else.

This is why the cleaning isn't done for every release.

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: [PATCHES] include compile problems

From
Kris Jurka
Date:

On Fri, 14 Jul 2006, Tom Lane wrote:

> I think that Bruce thought that <math.h> defines INT_MAX and related
> symbols, whereas the spec is perfectly clear that they're in
> <limits.h>.  However, that's where they are on my machines, and yet CVS
> tip is not failing for me.  I'm not clear why not...  What platform
> are you using?
>

I tested on Solaris 9 with Sun compiler and Debian unstable with
gcc-4.1.1.  Debian only failed on contrib while Solaris failed on both
core and contrib.

Kris Jurka