Re: BUG #3516: Incomplete #ifdef statement in s_lock.h

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Dirk Tilger" <dirk(at)miriup(dot)de>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #3516: Incomplete #ifdef statement in s_lock.h
Date: 2007-08-05 15:20:18
Message-ID: 19097.1186327218@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Dirk Tilger" <dirk(at)miriup(dot)de> writes:
> Operating system: Linux with Intel compiler on ia64

> I have been compiling postgresql 8.0, 8.1 and 8.2.4 with the Intel compiler
> in the past successfully. This time something went wrong and although I
> can't tell precisely how I triggered it, I have found a fix.

BTW, what I found in googling suggested that (1) icc never has defined
__ICC on 64-bit machines, and (2) although it does define __GNUC__ by
default, there is a way to turn that off. So I surmise that your
relevant change was adding a compiler flag that disabled the definition
of __GNUC__. That doesn't seem to have stopped it from accepting
GNU-style asm directives, though, so I kinda wonder what compiler
behavior does change and what was the point of your flag change.

This suggests that configure.in's check for icc is wrong/incomplete:
it only tests if the compiler was previously determined to be gcc,
ie, it defines __GNUC__. Now that we know that can be turned off
in icc, it seems like we'd better check all the time.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Dirk Tilger 2007-08-06 09:56:26 Re: BUG #3516: Incomplete #ifdef statement in s_lock.h
Previous Message Tom Lane 2007-08-05 15:05:58 Re: BUG #3516: Incomplete #ifdef statement in s_lock.h