2005-11-15 Mike Frysinger <vapier@gentoo.org>
authorroland <roland>
Tue, 6 Dec 2005 01:38:24 +0000 (01:38 +0000)
committerroland <roland>
Tue, 6 Dec 2005 01:38:24 +0000 (01:38 +0000)
* sysdeps/hppa/bits/setjmp.h: Add _BITS_SETJMP_H preprocessor
protection and allow pthread.h to include bits/setjmp.h as well as
setjmp.h.
* sysdeps/m68k/bits/setjmp.h: Likewise.
* sysdeps/s390/bits/setjmp.h: Make sure only setjmp.h or pthread.h
are allow to include bits/setjmp.h.
* sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Cast rhs to match lhs
cast of address.
* sysdeps/sh/bits/setjmp.h: Likewise.

sysdeps/hppa/bits/setjmp.h
sysdeps/m68k/bits/setjmp.h
sysdeps/mips/bits/setjmp.h
sysdeps/s390/bits/setjmp.h
sysdeps/sh/bits/setjmp.h

index 7fb2af7..4395b8f 100644 (file)
    02111-1307 USA.  */
 
 /* Define the machine-dependent type `jmp_buf'.  HPPA version.  */
    02111-1307 USA.  */
 
 /* Define the machine-dependent type `jmp_buf'.  HPPA version.  */
+#ifndef _BITS_SETJMP_H
+#define _BITS_SETJMP_H 1
 
 
-#ifndef _SETJMP_H
+#if !defined _SETJMP_H && !defined _PTHREAD_H
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
@@ -39,3 +41,5 @@ typedef double __jmp_buf[21];
    variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(_jmpbuf, _address)                             \
      ((void *)(_address) > (void *)(((unsigned long *) _jmpbuf)[JB_SP]))
    variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(_jmpbuf, _address)                             \
      ((void *)(_address) > (void *)(((unsigned long *) _jmpbuf)[JB_SP]))
+
+#endif /* bits/setjmp.h */
index 2c2b3ee..193eec3 100644 (file)
    02111-1307 USA.  */
 
 /* Define the machine-dependent type `jmp_buf'.  m68k version.  */
    02111-1307 USA.  */
 
 /* Define the machine-dependent type `jmp_buf'.  m68k version.  */
+#ifndef _BITS_SETJMP_H
+#define _BITS_SETJMP_H 1
 
 
-#ifndef _SETJMP_H
+#if !defined _SETJMP_H && !defined _PTHREAD_H
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
@@ -44,3 +46,5 @@ typedef struct
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address) \
   ((void *) (address) < (void *) (jmpbuf)->__sp)
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address) \
   ((void *) (address) < (void *) (jmpbuf)->__sp)
+
+#endif /* bits/setjmp.h */
index 2b42b22..74caae8 100644 (file)
@@ -81,6 +81,6 @@ typedef struct
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address) \
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address) \
-  ((void *) (address) < (jmpbuf)[0].__sp)
+  ((void *) (address) < (void *) (jmpbuf)[0].__sp)
 
 #endif /* _MIPS_BITS_SETJMP_H */
 
 #endif /* _MIPS_BITS_SETJMP_H */
index 35bc9a5..4009514 100644 (file)
 #ifndef __S390_SETJMP_H__
 #define __S390_SETJMP_H__
 
 #ifndef __S390_SETJMP_H__
 #define __S390_SETJMP_H__
 
+#if !defined _SETJMP_H && !defined _PTHREAD_H
+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
+#endif
+
 #include <bits/wordsize.h>
 
 #define __JB_GPR6      0
 #include <bits/wordsize.h>
 
 #define __JB_GPR6      0
index d92feea..242720c 100644 (file)
@@ -51,6 +51,6 @@ typedef struct
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address) \
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address) \
-  ((void *) (address) < (jmpbuf)[0].__regs[7])
+  ((void *) (address) < (void *) (jmpbuf)[0].__regs[7])
 
 #endif  /* bits/setjmp.h */
 
 #endif  /* bits/setjmp.h */