(root)/
tar-1.35/
gnu/
getopt-cdefs.in.h
       1  /* getopt-on-non-glibc compatibility macros.
       2     Copyright (C) 1989-2023 Free Software Foundation, Inc.
       3     This file is part of gnulib.
       4     Unlike most of the getopt implementation, it is NOT shared
       5     with the GNU C Library.
       6  
       7     This file is free software: you can redistribute it and/or modify
       8     it under the terms of the GNU Lesser General Public License as
       9     published by the Free Software Foundation; either version 2.1 of the
      10     License, or (at your option) any later version.
      11  
      12     This file is distributed in the hope that it will be useful,
      13     but WITHOUT ANY WARRANTY; without even the implied warranty of
      14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15     GNU Lesser General Public License for more details.
      16  
      17     You should have received a copy of the GNU Lesser General Public License
      18     along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
      19  
      20  #ifndef _GETOPT_CDEFS_H
      21  #define _GETOPT_CDEFS_H 1
      22  
      23  /* This header should not be used directly; include getopt.h or
      24     unistd.h instead.  It does not have a protective #error, because
      25     the guard macro for getopt.h in gnulib is not fixed.  */
      26  
      27  /* getopt-core.h and getopt-ext.h are shared with GNU libc, and expect
      28     a number of the internal macros supplied to GNU libc's headers by
      29     sys/cdefs.h.  Provide fallback definitions for all of them.  */
      30  #if @HAVE_SYS_CDEFS_H@
      31  # include <sys/cdefs.h>
      32  #endif
      33  
      34  #ifndef __BEGIN_DECLS
      35  # ifdef __cplusplus
      36  #  define __BEGIN_DECLS extern "C" {
      37  # else
      38  #  define __BEGIN_DECLS /* nothing */
      39  # endif
      40  #endif
      41  #ifndef __END_DECLS
      42  # ifdef __cplusplus
      43  #  define __END_DECLS }
      44  # else
      45  #  define __END_DECLS /* nothing */
      46  # endif
      47  #endif
      48  
      49  #ifndef __GNUC_PREREQ
      50  # if defined __GNUC__ && defined __GNUC_VERSION__
      51  # define __GNUC_PREREQ(maj, min) \
      52          ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
      53  # else
      54  #  define __GNUC_PREREQ(maj, min) 0
      55  # endif
      56  #endif
      57  
      58  #ifndef __THROW
      59  # if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4)
      60  #  define __THROW       throw ()
      61  # else
      62  #  define __THROW
      63  # endif
      64  #endif
      65  
      66  #endif /* _GETOPT_CDEFS_H */