]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - setjmp/setjmp.h
iconv, localedef: avoid floating point rounding differences [BZ #24372]
[thirdparty/glibc.git] / setjmp / setjmp.h
index 42c436811e3605c4c975f0092a585d9860282c16..3d09c98cc93f8b31b885984ef291e912f56b6928 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1999,2001,2002,2007,2009,2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -27,8 +27,7 @@
 __BEGIN_DECLS
 
 #include <bits/setjmp.h>               /* Get `__jmp_buf'.  */
-#include <bits/sigset.h>               /* Get `__sigset_t'.  */
-
+#include <bits/types/__sigset_t.h>
 
 /* Calling environment, plus possibly a saved signal mask.  */
 struct __jmp_buf_tag
@@ -43,47 +42,32 @@ struct __jmp_buf_tag
   };
 
 
-__BEGIN_NAMESPACE_STD
-
 typedef struct __jmp_buf_tag jmp_buf[1];
 
 /* Store the calling environment in ENV, also saving the signal mask.
    Return 0.  */
 extern int setjmp (jmp_buf __env) __THROWNL;
 
-__END_NAMESPACE_STD
-
 /* Store the calling environment in ENV, also saving the
    signal mask if SAVEMASK is nonzero.  Return 0.
    This is the internal name for `sigsetjmp'.  */
 extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL;
 
-#ifndef        __FAVOR_BSD
 /* Store the calling environment in ENV, not saving the signal mask.
    Return 0.  */
 extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL;
 
 /* Do not save the signal mask.  This is equivalent to the `_setjmp'
    BSD function.  */
-# define setjmp(env)   _setjmp (env)
-#else
-/* We are in 4.3 BSD-compatibility mode in which `setjmp'
-   saves the signal mask like `sigsetjmp (ENV, 1)'.  We have to
-   define a macro since ISO C says `setjmp' is one.  */
-# define setjmp(env)   setjmp (env)
-#endif /* Favor BSD.  */
+#define setjmp(env)    _setjmp (env)
 
 
-__BEGIN_NAMESPACE_STD
-
 /* Jump to the environment saved in ENV, making the
    `setjmp' call there return VAL, or 1 if VAL is 0.  */
 extern void longjmp (struct __jmp_buf_tag __env[1], int __val)
      __THROWNL __attribute__ ((__noreturn__));
 
-__END_NAMESPACE_STD
-
-#if defined __USE_BSD || defined __USE_XOPEN
+#if defined __USE_MISC || defined __USE_XOPEN
 /* Same.  Usually `_longjmp' is used with `_setjmp', which does not save
    the signal mask.  But it is how ENV was saved that determines whether
    `longjmp' restores the mask; `_longjmp' is just an alias.  */