From 6a167124cdad339814ec6499aab30094e8cc43a6 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 21 Sep 2007 00:09:13 +0000 Subject: r25265: Move attribute definitions to lib/util. (This used to be commit 5bb9f041f47a1b7e03c3dc02e38546bc43bcc856) --- source4/lib/util/attr.h | 80 +++++++++++++++++++++++++++++++++++++++++++++++++ source4/lib/util/util.h | 1 + 2 files changed, 81 insertions(+) create mode 100644 source4/lib/util/attr.h (limited to 'source4/lib') diff --git a/source4/lib/util/attr.h b/source4/lib/util/attr.h new file mode 100644 index 0000000000..1357d902af --- /dev/null +++ b/source4/lib/util/attr.h @@ -0,0 +1,80 @@ +/* + Unix SMB/CIFS implementation. + Samba utility functions + Copyright (C) Jelmer Vernooij 2007 + + 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 3 of the License, 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 . +*/ + +#ifndef __UTIL_ATTR_H__ +#define __UTIL_ATTR_H__ + +#ifdef __GNUC__ +/** gcc attribute used on function parameters so that it does not emit + * warnings about them being unused. **/ +# define UNUSED(param) param __attribute__ ((unused)) +#else +# define UNUSED(param) param +/** Feel free to add definitions for other compilers here. */ +#endif + +#ifndef _PUBLIC_ +#ifdef HAVE_VISIBILITY_ATTR +# define _PUBLIC_ __attribute__((visibility("default"))) +#else +# define _PUBLIC_ +#endif +#endif + +#ifndef _DEPRECATED_ +#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1 ) +#define _DEPRECATED_ __attribute__ ((deprecated)) +#else +#define _DEPRECATED_ +#endif +#endif + +#ifndef _WARN_UNUSED_RESULT_ +#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1 ) +#define _WARN_UNUSED_RESULT_ __attribute__ ((warn_unused_result)) +#else +#define _WARN_UNUSED_RESULT_ +#endif +#endif + +#ifndef _NORETURN_ +#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1 ) +#define _NORETURN_ __attribute__ ((noreturn)) +#else +#define _NORETURN_ +#endif +#endif + +#ifndef _PURE_ +#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1) +#define _PURE_ __attribute__((pure)) +#else +#define _PURE_ +#endif +#endif + +#ifndef NONNULL +#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1) +#define NONNULL(param) param __attribute__((nonnull)) +#else +#define NONNULL(param) param +#endif +#endif + +#endif /* __UTIL_ATTR_H__ */ diff --git a/source4/lib/util/util.h b/source4/lib/util/util.h index 004c453a64..b37812602f 100644 --- a/source4/lib/util/util.h +++ b/source4/lib/util/util.h @@ -33,6 +33,7 @@ struct smbsrv_tcon; extern const char *logfile; extern const char *panic_action; +#include "util/attr.h" #include "util/time.h" #include "util/data_blob.h" #include "util/xfile.h" -- cgit