view lib/glob.in.h @ 37165:46132d5e6afa

glob: avoid -Wattribute warnings on glibc Colin Watson reported that some versions of gcc warn about the use of attribute((leaf)) on static functions, since it is documented to have an effect only on external functions. * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use __THROWNL, not __THROW, on static functions. * lib/glob.in.h (__THROW): Adjust... (__THROWNL): ...accordingly. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Wed, 04 Sep 2013 17:06:35 -0600
parents c741bc27922a
children 2e2aec5d51f2
line wrap: on
line source

/* glob.h -- Find a path matching a pattern.

   Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.

   Written by Derek Price <derek@ximbiot.com> & Paul Eggert <eggert@CS.UCLA.EDU>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, see <http://www.gnu.org/licenses/>.  */

#ifndef _GL_GLOB_H
#define _GL_GLOB_H

#if @HAVE_SYS_CDEFS_H@
# include <sys/cdefs.h>
#endif

#include <stddef.h>

/* On some systems, such as AIX 5.1, <sys/stat.h> does a "#define stat stat64".
   Make sure this definition is seen before glob-libc.h defines types that
   rely on 'struct stat'.  */
#include <sys/stat.h>

#ifndef __BEGIN_DECLS
# ifdef __cplusplus
#  define __BEGIN_DECLS  extern "C" {
#  define __END_DECLS    }
# else
#  define __BEGIN_DECLS
#  define __END_DECLS
# endif
#endif
#ifndef __THROWNL
# define __THROWNL
#endif

/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */

/* The definition of _GL_ARG_NONNULL is copied here.  */

/* The definition of _GL_WARN_ON_USE is copied here.  */

#ifndef __size_t
# define __size_t       size_t
#endif
#ifndef __USE_GNU
# define __USE_GNU    1
#endif


#define glob rpl_glob
#define globfree rpl_globfree
#define glob_pattern_p rpl_glob_pattern_p

#define __GLOB_GNULIB 1

/* Now the standard GNU C Library header should work.  */
#include "glob-libc.h"

__BEGIN_DECLS
typedef int (*_gl_glob_errfunc_fn) (const char *, int);
__END_DECLS

#if defined __cplusplus && defined GNULIB_NAMESPACE
# undef glob
# undef globfree
# undef glob_pattern_p
_GL_CXXALIAS_RPL (glob, int, (const char *_Restrict_ __pattern, int __flags,
                              _gl_glob_errfunc_fn __errfunc,
                              glob_t *_Restrict_ __pglob));
_GL_CXXALIAS_RPL (globfree, void, (glob_t *__pglob));
_GL_CXXALIAS_RPL (glob_pattern_p, int, (const char *__pattern, int __quote));
# if 0  /* The C function name is rpl_glob, not glob.  */
_GL_CXXALIASWARN (glob);
_GL_CXXALIASWARN (globfree);
_GL_CXXALIASWARN (glob_pattern_p);
# endif
#endif

#endif /* _GL_GLOB_H */