1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

Replace GNUPG_GCC_A_ macros by GPGRT_ATTR_ macros.

* common/util.h: Provide replacement for GPGRT_ATTR_ macros when using
libgpg-error < 1.20.
* common/mischelp.h: Ditto.
* common/types.h: Ditto.
--

Given that libgpg-error is a dependency of all GnuPG related libraries
it is better to define such macros at only one place instead of having
similar macros at a lot of places.  For now we need repalcement
macros, though.
This commit is contained in:
Werner Koch 2015-07-26 12:50:16 +02:00
parent ef080d5c7f
commit d382242fb6
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
15 changed files with 88 additions and 77 deletions

View file

@ -152,26 +152,30 @@
#define snprintf gpgrt_snprintf
/* GCC attributes. */
#ifndef GNUPG_GCC_ATTR_FORMAT_ARG
#if __GNUC__ >= 3 /* Actually 2.8 but testing the major is easier. */
# define GNUPG_GCC_ATTR_FORMAT_ARG(a) __attribute__ ((__format_arg__ (a)))
#else
# define GNUPG_GCC_ATTR_FORMAT_ARG(a)
#endif
#endif
/* Replacements for macros not available with libgpg-error < 1.20. */
#ifndef GPGRT_GCC_VERSION
#if __GNUC__ >= 4
# define GNUPG_GCC_A_SENTINEL(a) __attribute__ ((sentinel(a)))
#else
# define GNUPG_GCC_A_SENTINEL(a)
#endif
# ifndef GPGRT_ATTR_FORMAT_ARG
# if __GNUC__ >= 3 /* Actually 2.8 but testing the major is easier. */
# define GPGRT_ATTR_FORMAT_ARG(a) __attribute__ ((__format_arg__ (a)))
# else
# define GPGRT_ATTR_FORMAT_ARG(a)
# endif
# endif
#if __GNUC__ >= 4
# define GNUPG_GCC_A_USED __attribute__ ((used))
#else
# define GNUPG_GCC_A_USED
#endif
# if __GNUC__ >= 4
# define GPGRT_ATTR_SENTINEL(a) __attribute__ ((sentinel(a)))
# else
# define GPGRT_ATTR_SENTINEL(a)
# endif
# if __GNUC__ >= 4
# define GPGRT_ATTR_USED __attribute__ ((used))
# else
# define GPGRT_ATTR_USED
# endif
#endif /*libgpg-error < 1.20 */
/* We need this type even if we are not using libreadline and or we
@ -371,9 +375,9 @@ const char *gnupg_messages_locale_name (void);
void setup_libgcrypt_logging (void);
/* Same as estream_asprintf but die on memory failure. */
char *xasprintf (const char *fmt, ...) GPGRT_GCC_A_PRINTF(1,2);
char *xasprintf (const char *fmt, ...) GPGRT_ATTR_PRINTF(1,2);
/* This is now an alias to estream_asprintf. */
char *xtryasprintf (const char *fmt, ...) GPGRT_GCC_A_PRINTF(1,2);
char *xtryasprintf (const char *fmt, ...) GPGRT_ATTR_PRINTF(1,2);
/* Replacement for gcry_cipher_algo_name. */
const char *gnupg_cipher_algo_name (int algo);