Hi to all,

First of all, thanks for your off-list comments and your patience,
Ueno-sama.

This one should not be such a piece of s**t, sorry again for the last
one, I am ashamed. We say in Spanish (more-or-less translation) "It is
better seeming stupid because you are quiet than proving it with words"
but last month too many people have obtained evidences from my
fingers. :(

Best regards,
Miguel

>From 0d8952e0092120b77ddd9df848e32ebcfb159c83 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= <[email protected]>
Date: Wed, 6 Mar 2013 21:11:19 +0100
Subject: [PATCH] Do not define __attribute__ in header files.

Fix Savannah bug #35313.
---
 gettext-runtime/libasprintf/ChangeLog        |    7 +++++++
 gettext-runtime/libasprintf/autosprintf.in.h |   16 +++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/gettext-runtime/libasprintf/ChangeLog b/gettext-runtime/libasprintf/ChangeLog
index 14ae717..8f0fb05 100644
--- a/gettext-runtime/libasprintf/ChangeLog
+++ b/gettext-runtime/libasprintf/ChangeLog
@@ -1,3 +1,10 @@
+2013-03-06  Miguel Angel Arruga Vivas  <[email protected]>  (tiny change)
+
+	Fix '__attribute__' definition.
+	Reported at <https://savannah.gnu.org/bugs/?35313>
+	* autosprintf.in.h (_GT_ASPRINTF_FORMAT): New macro instead of
+	redefine __attribute__.
+
 2013-03-04  Miguel Angel Arruga Vivas  <[email protected]>  (tiny change)
 
 	Add 'autosprintf::operator='. Needed because destructor
diff --git a/gettext-runtime/libasprintf/autosprintf.in.h b/gettext-runtime/libasprintf/autosprintf.in.h
index 1efd15a..6228b02 100644
--- a/gettext-runtime/libasprintf/autosprintf.in.h
+++ b/gettext-runtime/libasprintf/autosprintf.in.h
@@ -17,16 +17,18 @@
 #ifndef _AUTOSPRINTF_H
 #define _AUTOSPRINTF_H
 
-#ifndef __attribute__
 /* This feature is available in gcc versions 2.5 and later.  */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
-#  define __attribute__(Spec) /* empty */
-# endif
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
+# define _GT_AUTOSPRINTF_FORMAT() /* empty */
+#else
 /* The __-protected variants of 'format' and 'printf' attributes
    are accepted by gcc versions 2.6.4 (effectively 2.7) and later.  */
 # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-#  define __format__ format
-#  define __printf__ printf
+#  define _GT_AUTOSPRINTF_FORMAT() \
+  __attribute__ ((__format__ (__printf__, 2, 3)))
+# else
+#  define _GT_AUTOSPRINTF_FORMAT() \
+  __attribute__ ((format (printf, 2, 3)))
 # endif
 #endif
 
@@ -42,7 +44,7 @@ namespace gnu
   public:
     /* Constructor: takes a format string and the printf arguments.  */
     autosprintf (const char *format, ...)
-                __attribute__ ((__format__ (__printf__, 2, 3)));
+                _GT_AUTOSPRINTF_FORMAT();
     /* Copy constructor.  */
     autosprintf (const autosprintf& src);
     autosprintf& operator = (autosprintf copy);
-- 
1.7.10.4

Reply via email to