mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-30 13:13:43 +08:00
getopt: merge _GL_UNUSED annotations from gnulib
gnulib now has annotations on at least some functions to cater to compilation with -Wunused-parameter. In order to follow suit cleanly, I've added to libc-symbols.h some of the _GL_* macros that gnulib-common.m4 puts into config.h. (I don't think they belong in sys/cdefs.h, at least not without further thought.) At this point all gnulib-side changes to getopt.c have been merged. * include/libc-symbols.h: For gnulib compatibility, define _GL_UNUSED, _GL_UNUSED_LABEL, _GL_ATTRIBUTE_PURE, and _GL_ATTRIBUTE_CONST. * posix/getopt.c (_getopt_initialize): Mark argc and argv parameters with _GL_UNUSED.
This commit is contained in:
parent
aeacb9f912
commit
0f3be8721a
@ -1,5 +1,11 @@
|
||||
2017-04-07 Zack Weinberg <zackw@panix.com>
|
||||
|
||||
* include/libc-symbols.h: For gnulib compatibility, define
|
||||
_GL_UNUSED, _GL_UNUSED_LABEL, _GL_ATTRIBUTE_PURE, and
|
||||
_GL_ATTRIBUTE_CONST.
|
||||
* posix/getopt.c (_getopt_initialize): Mark argc and argv
|
||||
parameters with _GL_UNUSED.
|
||||
|
||||
* posix/getopt.c: When used standalone, define __libc_use_alloca
|
||||
as always false and alloca to abort if called.
|
||||
(process_long_option): Rewrite handling of ambiguous long options
|
||||
|
@ -892,5 +892,48 @@ for linking")
|
||||
#else
|
||||
# define inhibit_loop_to_libcall
|
||||
#endif
|
||||
|
||||
/* These macros facilitate sharing source files with gnulib.
|
||||
|
||||
They are here instead of sys/cdefs.h because they should not be
|
||||
used in public header files.
|
||||
|
||||
Their definitions should be kept consistent with the definitions in
|
||||
gnulib-common.m4, but it is not necessary to cater to old non-GCC
|
||||
compilers, since they will only be used while building glibc itself.
|
||||
(Note that _GNUC_PREREQ cannot be used in this file.) */
|
||||
|
||||
/* Define as a marker that can be attached to declarations that might not
|
||||
be used. This helps to reduce warnings, such as from
|
||||
GCC -Wunused-parameter. */
|
||||
#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
|
||||
# define _GL_UNUSED __attribute__ ((__unused__))
|
||||
#else
|
||||
# define _GL_UNUSED
|
||||
#endif
|
||||
|
||||
/* gcc supports the "unused" attribute on possibly unused labels, and
|
||||
g++ has since version 4.5. Note to support C++ as well as C,
|
||||
_GL_UNUSED_LABEL should be used with a trailing ; */
|
||||
#if !defined __cplusplus || __GNUC__ > 4 \
|
||||
|| (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
|
||||
# define _GL_UNUSED_LABEL _GL_UNUSED
|
||||
#else
|
||||
# define _GL_UNUSED_LABEL
|
||||
#endif
|
||||
|
||||
/* The __pure__ attribute was added in gcc 2.96. */
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_PURE /* empty */
|
||||
#endif
|
||||
|
||||
/* The __const__ attribute was added in gcc 2.95. */
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
||||
# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_CONST /* empty */
|
||||
#endif
|
||||
|
||||
#endif /* libc-symbols.h */
|
||||
|
@ -379,7 +379,8 @@ process_long_option (int argc, char **argv, const char *optstring,
|
||||
/* Initialize internal data upon the first call to getopt. */
|
||||
|
||||
static const char *
|
||||
_getopt_initialize (int argc, char **argv, const char *optstring,
|
||||
_getopt_initialize (int argc _GL_UNUSED,
|
||||
char **argv _GL_UNUSED, const char *optstring,
|
||||
struct _getopt_data *d, int posixly_correct)
|
||||
{
|
||||
/* Start processing options with ARGV-element 1 (since ARGV-element 0
|
||||
|
Loading…
Reference in New Issue
Block a user