forked from OSchip/llvm-project
parent
8af28c1e61
commit
f077c51a70
|
@ -76,7 +76,6 @@ typedef __WCHAR_TYPE__ wchar_t;
|
|||
#else
|
||||
# define NULL ((void*)0)
|
||||
#endif
|
||||
#undef __need_NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
|
||||
|
@ -103,21 +102,6 @@ typedef double max_align_t;
|
|||
|
||||
#endif /* __STDDEF_H */
|
||||
|
||||
/* Some C libraries set __need_NULL and expects NULL to be defined again. */
|
||||
#if defined(__need_NULL)
|
||||
#undef NULL
|
||||
#ifdef __cplusplus
|
||||
# if !defined(__MINGW32__) && !defined(_MSC_VER)
|
||||
# define NULL __null
|
||||
# else
|
||||
# define NULL 0
|
||||
# endif
|
||||
#else
|
||||
# define NULL ((void*)0)
|
||||
#endif
|
||||
#undef __need_NULL
|
||||
#endif
|
||||
|
||||
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
|
||||
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
|
||||
#if defined(__need_wint_t)
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
// RUN: %clang_cc1 -fsyntax-only -triple i386-linux-gnu -verify -Wsentinel %s
|
||||
// expected-no-diagnostics
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
// linux/stddef.h does something like this for cpp files:
|
||||
#undef NULL
|
||||
#define NULL 0
|
||||
|
||||
// glibc (and other) headers then define __need_NULL and rely on stddef.h
|
||||
// to redefine NULL to the correct value again.
|
||||
#define __need_NULL
|
||||
#include <stddef.h>
|
||||
|
||||
// gtk headers then use __attribute__((sentinel)), which doesn't work if NULL
|
||||
// is 0.
|
||||
void f(const char* c, ...) __attribute__((sentinel));
|
||||
void g() {
|
||||
f("", NULL); // Shouldn't warn.
|
||||
}
|
Loading…
Reference in New Issue