mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Split DIAG_* macros to new header libc-diag.h.
Quite a few tests include libc-internal.h just for the DIAG_* macros. Split those macros to their own file, which can be included safely in _ISOMAC mode. I also moved ignore_value, since it seems logically related, even though I didn't notice any tests needing it. Also add -Wnonnull suppressions to two tests that _should_ have them, but the error is masked when compiling against internal headers. * include/libc-diag.h: New file. Define ignore_value, DIAG_PUSH_NEEDS_COMMENT, DIAG_POP_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT, and DIAG_IGNORE_Os_NEEDS_COMMENT here. * include/libc-internal.h: Definitions of above macros moved from here. Include libc-diag.h. Add copyright notice. * malloc/tst-malloc.c, malloc/tst-memcheck.c, malloc/tst-realloc.c * misc/tst-error1.c, posix/tst-dir.c, stdio-common/bug21.c * stdio-common/scanf14.c, stdio-common/scanf4.c, stdio-common/scanf7.c * stdio-common/test-vfprintf.c, stdio-common/tst-printf.c * stdio-common/tst-printfsz.c, stdio-common/tst-sprintf.c * stdio-common/tst-unlockedio.c, stdio-common/tstdiomisc.c * stdlib/bug-getcontext.c, string/tester.c, string/tst-endian.c * time/tst-strptime2.c, wcsmbs/tst-wcstof.c: Include libc-diag.h instead of libc-internal.h. * stdlib/tst-environ.c: Include libc-diag.h. Suppress -Wnonnull for call to unsetenv (NULL). * nptl/tst-mutex1.c: Include libc-diag.h. Suppress -Wnonnull for call to pthread_mutexattr_destroy (NULL).
This commit is contained in:
parent
7caa5054af
commit
e15f7de60c
24
ChangeLog
24
ChangeLog
@ -1,3 +1,27 @@
|
|||||||
|
2017-02-25 Zack Weinberg <zackw@panix.com>
|
||||||
|
|
||||||
|
* include/libc-diag.h: New file. Define ignore_value,
|
||||||
|
DIAG_PUSH_NEEDS_COMMENT, DIAG_POP_NEEDS_COMMENT,
|
||||||
|
DIAG_IGNORE_NEEDS_COMMENT, and DIAG_IGNORE_Os_NEEDS_COMMENT here.
|
||||||
|
|
||||||
|
* include/libc-internal.h: Definitions of above macros moved from
|
||||||
|
here. Include libc-diag.h. Add copyright notice.
|
||||||
|
|
||||||
|
* malloc/tst-malloc.c, malloc/tst-memcheck.c, malloc/tst-realloc.c
|
||||||
|
* misc/tst-error1.c, posix/tst-dir.c, stdio-common/bug21.c
|
||||||
|
* stdio-common/scanf14.c, stdio-common/scanf4.c, stdio-common/scanf7.c
|
||||||
|
* stdio-common/test-vfprintf.c, stdio-common/tst-printf.c
|
||||||
|
* stdio-common/tst-printfsz.c, stdio-common/tst-sprintf.c
|
||||||
|
* stdio-common/tst-unlockedio.c, stdio-common/tstdiomisc.c
|
||||||
|
* stdlib/bug-getcontext.c, string/tester.c, string/tst-endian.c
|
||||||
|
* time/tst-strptime2.c, wcsmbs/tst-wcstof.c:
|
||||||
|
Include libc-diag.h instead of libc-internal.h.
|
||||||
|
|
||||||
|
* stdlib/tst-environ.c: Include libc-diag.h. Suppress -Wnonnull for
|
||||||
|
call to unsetenv (NULL).
|
||||||
|
* nptl/tst-mutex1.c: Include libc-diag.h. Suppress -Wnonnull for
|
||||||
|
call to pthread_mutexattr_destroy (NULL).
|
||||||
|
|
||||||
2017-02-25 Zack Weinberg <zackw@panix.com>
|
2017-02-25 Zack Weinberg <zackw@panix.com>
|
||||||
|
|
||||||
* include/features.h (__GLIBC_USE_DEPRECATED_GETS): New macro.
|
* include/features.h (__GLIBC_USE_DEPRECATED_GETS): New macro.
|
||||||
|
74
include/libc-diag.h
Normal file
74
include/libc-diag.h
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
/* Macros for controlling diagnostic output from the compiler.
|
||||||
|
Copyright (C) 2014-2017 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
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library 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
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _LIBC_DIAG_H
|
||||||
|
#define _LIBC_DIAG_H 1
|
||||||
|
|
||||||
|
/* Ignore the value of an expression when a cast to void does not
|
||||||
|
suffice (in particular, for a call to a function declared with
|
||||||
|
attribute warn_unused_result). */
|
||||||
|
#define ignore_value(x) \
|
||||||
|
({ __typeof__ (x) __ignored_value = (x); (void) __ignored_value; })
|
||||||
|
|
||||||
|
/* The macros to control diagnostics are structured like this, rather
|
||||||
|
than a single macro that both pushes and pops diagnostic state and
|
||||||
|
takes the affected code as an argument, because the GCC pragmas
|
||||||
|
work by disabling the diagnostic for a range of source locations
|
||||||
|
and do not work when all the pragmas and the affected code are in a
|
||||||
|
single macro expansion. */
|
||||||
|
|
||||||
|
/* Push diagnostic state. */
|
||||||
|
#define DIAG_PUSH_NEEDS_COMMENT _Pragma ("GCC diagnostic push")
|
||||||
|
|
||||||
|
/* Pop diagnostic state. */
|
||||||
|
#define DIAG_POP_NEEDS_COMMENT _Pragma ("GCC diagnostic pop")
|
||||||
|
|
||||||
|
#define _DIAG_STR1(s) #s
|
||||||
|
#define _DIAG_STR(s) _DIAG_STR1(s)
|
||||||
|
|
||||||
|
/* Ignore the diagnostic OPTION. VERSION is the most recent GCC
|
||||||
|
version for which the diagnostic has been confirmed to appear in
|
||||||
|
the absence of the pragma (in the form MAJOR.MINOR for GCC 4.x,
|
||||||
|
just MAJOR for GCC 5 and later). Uses of this pragma should be
|
||||||
|
reviewed when the GCC version given is no longer supported for
|
||||||
|
building glibc; the version number should always be on the same
|
||||||
|
source line as the macro name, so such uses can be found with grep.
|
||||||
|
Uses should come with a comment giving more details of the
|
||||||
|
diagnostic, and an architecture on which it is seen if possibly
|
||||||
|
optimization-related and not in architecture-specific code. This
|
||||||
|
macro should only be used if the diagnostic seems hard to fix (for
|
||||||
|
example, optimization-related false positives). */
|
||||||
|
#define DIAG_IGNORE_NEEDS_COMMENT(version, option) \
|
||||||
|
_Pragma (_DIAG_STR (GCC diagnostic ignored option))
|
||||||
|
|
||||||
|
/* Similar to DIAG_IGNORE_NEEDS_COMMENT the following macro ignores the
|
||||||
|
diagnostic OPTION but only if optimizations for size are enabled.
|
||||||
|
This is required because different warnings may be generated for
|
||||||
|
different optimization levels. For example a key piece of code may
|
||||||
|
only generate a warning when compiled at -Os, but at -O2 you could
|
||||||
|
still want the warning to be enabled to catch errors. In this case
|
||||||
|
you would use DIAG_IGNORE_Os_NEEDS_COMMENT to disable the warning
|
||||||
|
only for -Os. */
|
||||||
|
#ifdef __OPTIMIZE_SIZE__
|
||||||
|
# define DIAG_IGNORE_Os_NEEDS_COMMENT(version, option) \
|
||||||
|
_Pragma (_DIAG_STR (GCC diagnostic ignored option))
|
||||||
|
#else
|
||||||
|
# define DIAG_IGNORE_Os_NEEDS_COMMENT(version, option)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* libc-diag.h */
|
@ -1,5 +1,20 @@
|
|||||||
/* This file contains a number of internal prototype declarations that
|
/* Internal prototype declarations that don't fit anywhere else.
|
||||||
don't fit anywhere else. */
|
Copyright (C) 2000-2017 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
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library 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
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#ifndef _LIBC_INTERNAL
|
#ifndef _LIBC_INTERNAL
|
||||||
# define _LIBC_INTERNAL 1
|
# define _LIBC_INTERNAL 1
|
||||||
@ -74,56 +89,6 @@ extern __typeof (__profile_frequency) __profile_frequency attribute_hidden;
|
|||||||
#define PTR_ALIGN_UP(base, size) \
|
#define PTR_ALIGN_UP(base, size) \
|
||||||
((__typeof__ (base)) ALIGN_UP ((uintptr_t) (base), (size)))
|
((__typeof__ (base)) ALIGN_UP ((uintptr_t) (base), (size)))
|
||||||
|
|
||||||
/* Ignore the value of an expression when a cast to void does not
|
#include <libc-diag.h>
|
||||||
suffice (in particular, for a call to a function declared with
|
|
||||||
attribute warn_unused_result). */
|
|
||||||
#define ignore_value(x) \
|
|
||||||
({ __typeof__ (x) __ignored_value = (x); (void) __ignored_value; })
|
|
||||||
|
|
||||||
/* The macros to control diagnostics are structured like this, rather
|
|
||||||
than a single macro that both pushes and pops diagnostic state and
|
|
||||||
takes the affected code as an argument, because the GCC pragmas
|
|
||||||
work by disabling the diagnostic for a range of source locations
|
|
||||||
and do not work when all the pragmas and the affected code are in a
|
|
||||||
single macro expansion. */
|
|
||||||
|
|
||||||
/* Push diagnostic state. */
|
|
||||||
#define DIAG_PUSH_NEEDS_COMMENT _Pragma ("GCC diagnostic push")
|
|
||||||
|
|
||||||
/* Pop diagnostic state. */
|
|
||||||
#define DIAG_POP_NEEDS_COMMENT _Pragma ("GCC diagnostic pop")
|
|
||||||
|
|
||||||
#define _DIAG_STR1(s) #s
|
|
||||||
#define _DIAG_STR(s) _DIAG_STR1(s)
|
|
||||||
|
|
||||||
/* Ignore the diagnostic OPTION. VERSION is the most recent GCC
|
|
||||||
version for which the diagnostic has been confirmed to appear in
|
|
||||||
the absence of the pragma (in the form MAJOR.MINOR for GCC 4.x,
|
|
||||||
just MAJOR for GCC 5 and later). Uses of this pragma should be
|
|
||||||
reviewed when the GCC version given is no longer supported for
|
|
||||||
building glibc; the version number should always be on the same
|
|
||||||
source line as the macro name, so such uses can be found with grep.
|
|
||||||
Uses should come with a comment giving more details of the
|
|
||||||
diagnostic, and an architecture on which it is seen if possibly
|
|
||||||
optimization-related and not in architecture-specific code. This
|
|
||||||
macro should only be used if the diagnostic seems hard to fix (for
|
|
||||||
example, optimization-related false positives). */
|
|
||||||
#define DIAG_IGNORE_NEEDS_COMMENT(version, option) \
|
|
||||||
_Pragma (_DIAG_STR (GCC diagnostic ignored option))
|
|
||||||
|
|
||||||
/* Similar to DIAG_IGNORE_NEEDS_COMMENT the following macro ignores the
|
|
||||||
diagnostic OPTION but only if optimizations for size are enabled.
|
|
||||||
This is required because different warnings may be generated for
|
|
||||||
different optimization levels. For example a key piece of code may
|
|
||||||
only generate a warning when compiled at -Os, but at -O2 you could
|
|
||||||
still want the warning to be enabled to catch errors. In this case
|
|
||||||
you would use DIAG_IGNORE_Os_NEEDS_COMMENT to disable the warning
|
|
||||||
only for -Os. */
|
|
||||||
#ifdef __OPTIMIZE_SIZE__
|
|
||||||
# define DIAG_IGNORE_Os_NEEDS_COMMENT(version, option) \
|
|
||||||
_Pragma (_DIAG_STR (GCC diagnostic ignored option))
|
|
||||||
#else
|
|
||||||
# define DIAG_IGNORE_Os_NEEDS_COMMENT(version, option)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _LIBC_INTERNAL */
|
#endif /* _LIBC_INTERNAL */
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
static int errors = 0;
|
static int errors = 0;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
static int errors = 0;
|
static int errors = 0;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
static int errors = 0;
|
static int errors = 0;
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
do_test (int argc, char *argv[])
|
do_test (int argc, char *argv[])
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
#include <libc-diag.h>
|
||||||
|
|
||||||
#ifndef ATTR
|
#ifndef ATTR
|
||||||
# define ATTR NULL
|
# define ATTR NULL
|
||||||
@ -45,11 +45,16 @@ do_test (void)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This deliberately tests supplying a null pointer to a function whose
|
||||||
|
argument is marked __attribute__ ((nonnull)). */
|
||||||
|
DIAG_PUSH_NEEDS_COMMENT;
|
||||||
|
DIAG_IGNORE_NEEDS_COMMENT (5, "-Wnonnull");
|
||||||
if (!ATTR_NULL && pthread_mutexattr_destroy (ATTR) != 0)
|
if (!ATTR_NULL && pthread_mutexattr_destroy (ATTR) != 0)
|
||||||
{
|
{
|
||||||
puts ("mutexattr_destroy failed");
|
puts ("mutexattr_destroy failed");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
DIAG_POP_NEEDS_COMMENT;
|
||||||
|
|
||||||
if (pthread_mutex_lock (&m) != 0)
|
if (pthread_mutex_lock (&m) != 0)
|
||||||
{
|
{
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
/* We expect four arguments:
|
/* We expect four arguments:
|
||||||
- source directory name
|
- source directory name
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
do_test (void)
|
do_test (void)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
#define FAIL() \
|
#define FAIL() \
|
||||||
do { \
|
do { \
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int arc, char *argv[])
|
main(int arc, char *argv[])
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv[])
|
main (int argc, char *argv[])
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
|
|
||||||
const char *locs[] =
|
const char *locs[] =
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
/* This whole file is picayune tests of corner cases of printf format strings.
|
/* This whole file is picayune tests of corner cases of printf format strings.
|
||||||
The compiler warnings are not useful here. */
|
The compiler warnings are not useful here. */
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#include <printf.h>
|
#include <printf.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
#define V 12345678.12345678
|
#define V 12345678.12345678
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
int fd;
|
int fd;
|
||||||
static void do_prepare (void);
|
static void do_prepare (void);
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
t1 (void)
|
t1 (void)
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ucontext.h>
|
#include <ucontext.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
do_test (void)
|
do_test (void)
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <libc-diag.h>
|
||||||
|
|
||||||
#define VAR "FOOBAR"
|
#define VAR "FOOBAR"
|
||||||
|
|
||||||
@ -196,12 +196,17 @@ do_test (void)
|
|||||||
result = 1;
|
result = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This deliberately tests supplying a null pointer to a function whose
|
||||||
|
argument is marked __attribute__ ((nonnull)). */
|
||||||
|
DIAG_PUSH_NEEDS_COMMENT;
|
||||||
|
DIAG_IGNORE_NEEDS_COMMENT(5, "-Wnonnull");
|
||||||
errno = 0;
|
errno = 0;
|
||||||
if (unsetenv (NULL) >= 0 || errno != EINVAL)
|
if (unsetenv (NULL) >= 0 || errno != EINVAL)
|
||||||
{
|
{
|
||||||
puts ("unsetenv #1 failed");
|
puts ("unsetenv #1 failed");
|
||||||
result = 1;
|
result = 1;
|
||||||
}
|
}
|
||||||
|
DIAG_POP_NEEDS_COMMENT;
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
if (unsetenv ("") >= 0 || errno != EINVAL)
|
if (unsetenv ("") >= 0 || errno != EINVAL)
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
|
|
||||||
#define STREQ(a, b) (strcmp((a), (b)) == 0)
|
#define STREQ(a, b) (strcmp((a), (b)) == 0)
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
#if __GNUC_PREREQ (6, 0)
|
#if __GNUC_PREREQ (6, 0)
|
||||||
/* GCC 6.0 warns on big endian systems about:
|
/* GCC 6.0 warns on big endian systems about:
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
/* Dummy string is used to match strptime's %s specifier. */
|
/* Dummy string is used to match strptime's %s specifier. */
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
do_test (void)
|
do_test (void)
|
||||||
|
Loading…
Reference in New Issue
Block a user