Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 6cfd508

Browse files
committed
Blindly try to fix a warning in s_lock.h when compiling with gcc on HPPA.
The possibly, depending on compiler settings, generated warning was "warning: `S_UNLOCK' redefined". The hppa spinlock implementation doesn't follow the rules of s_lock.h and provides a gcc specific implementation outside of the the part of the file that's supposed to do that. It does so to avoid duplication between the HP compiler and gcc. That unfortunately means that S_UNLOCK is already defined when the HPPA specific section is reached. Undefine the generic fallback S_UNLOCK definition inside the HPPA section. That's far from pretty, but has the big advantage of being simple. If somebody is interested to fix this in a prettier way... This presumably got broken in the course of 0709b7e. Discussion: 20150114225919.GY5245@awork2.anarazel.de Per complaint from Tom Lane.
1 parent 73a8f51 commit 6cfd508

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/include/storage/s_lock.h

+9
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,15 @@ tas(volatile slock_t *lock)
752752
return (lockval == 0);
753753
}
754754

755+
/*
756+
* The hppa implementation doesn't follow the rules of this files and provides
757+
* a gcc specific implementation outside of the above defined(__GNUC__). It
758+
* does so to avoid duplication between the HP compiler and gcc. So undefine
759+
* the generic fallback S_UNLOCK from above.
760+
*/
761+
#ifdef S_UNLOCK
762+
#undef S_UNLOCK
763+
#endif
755764
#define S_UNLOCK(lock) \
756765
do { \
757766
__asm__ __volatile__("" : : : "memory"); \

0 commit comments

Comments
 (0)