Re: s_lock.h default definitions are rather confused

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: s_lock.h default definitions are rather confused
Date: 2015-01-10 22:03:36
Message-ID: 20150110220336.GB27519@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2015-01-10 16:09:42 -0500, Tom Lane wrote:
> I've not tried to build HEAD on my HPPA dinosaur for awhile, but I did
> just now, and I am presented with boatloads of this:
>
> ../../../src/include/storage/s_lock.h:759: warning: `S_UNLOCK' redefined
> ../../../src/include/storage/s_lock.h:679: warning: this is the location of the previous definition
>
> which is not too surprising because the "default" definition at line 679
> precedes the HPPA-specific one at line 759.

That's 0709b7ee72e4bc71ad07b7120acd117265ab51d0.

Not too surprising that it broke and wasn't noticed without access to
hppa - the hppa code uses gcc inline assembly outside of the big
defined(__GNUC__) and inside the section headed "Platforms that use
non-gcc inline assembly".

> I'm not particularly interested in untangling the effects of the recent
> hackery in s_lock.h enough to figure out how the overall structure got
> broken, but I trust one of you will clean up the mess.

I think it's easiest solved by moving the gcc inline assembly up to the
rest of the gcc inline assembly. That'll require duplicating a couple
lines, but seems easier to understand nonetheless. Not pretty.

Given you got the error above, you used gcc. Have you used non-gcc
compiler on hppa recently? I seem to recall you mentioning that that
doesn't work sanely anymore? If so, perhaps we can just remove the !gcc
variant?

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-01-10 22:17:05 Re: s_lock.h default definitions are rather confused
Previous Message Dean Rasheed 2015-01-10 21:38:55 Re: INSERT ... ON CONFLICT UPDATE and RLS