#ifndef LIBBSD_STDIO_H
#define LIBBSD_STDIO_H
+#ifdef LIBBSD_OVERLAY
#include <sys/cdefs.h>
+#else
+#include <bsd/sys/cdefs.h>
+#endif
#include <sys/types.h>
__BEGIN_DECLS
/* XXX: The function requires cooperation from the system libc to store the
* line buffer in the FILE struct itself. */
char *fgetln(FILE *fp, size_t *lenp)
- __attribute__((deprecated("This functions cannot be safely ported, "
- "use getline(3) instead, as it is supported "
- "by GNU and POSIX.1-2008.")));
+ LIBBSD_DEPRECATED("This functions cannot be safely ported, "
+ "use getline(3) instead, as it is supported "
+ "by GNU and POSIX.1-2008.");
/*
* Note: We diverge from the FreeBSD, OpenBSD and DragonFlyBSD declarations,
#define LIBBSD_GCC_VERSION 0
#endif
+#if LIBBSD_GCC_VERSION >= 0x0405
+#define LIBBSD_DEPRECATED(x) __attribute__((deprecated(x)))
+#elif LIBBSD_GCC_VERSION >= 0x0301
+#define LIBBSD_DEPRECATED(x) __attribute__((deprecated))
+#else
+#define LIBBSD_DEPRECATED(x)
+#endif
+
#ifndef __dead2
# if LIBBSD_GCC_VERSION >= 0x0207
# define __dead2 __attribute__((__noreturn__))