This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix build warnings in regex.c, bug-regex20.c,bug-regex33.c


On Mon, Feb 25, 2013 at 11:11:27AM -0800, Roland McGrath wrote:
> > On Thu, Feb 21, 2013 at 11:10:05AM -0800, Roland McGrath wrote:
> > > Please be consistent in using __attribute__ (with trailing underscores).
> > > Otherwise fine.
> > 
> > OK, I'll fix it in elem-hash.h.  __attribute is conditionally defined
> > in regex_internal.h to make it work with non-gnu compilers.  It's not
> > an installed header, so if it's OK, I'll just remove that conditional
> > definition and use __attribute__ there as well.
> 
> That seems right.

Thanks, this is what I finally committed.

Siddhesh

commit 53a5c423fb77a0befa400b4672ac98cf910db986
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Tue Feb 26 10:40:19 2013 +0530

    Fix some build warnings

diff --git a/ChangeLog b/ChangeLog
index 1e94463..8450c3c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+	* locale/elem-hash.h (elem_hash): Mark as pure and possibly
+	unused.
+	* posix/regex_internal.h (__attribute): Remove.
+	[!_LIBC && __i386__]: Use __attribute__ instead of __attribute.
+	(re_string_context_at): Likewise.
+	(bitset_not): Use __attribute__ and mark function as possibly
+	unused.
+	(bitset_merge): Likewise.
+	(bitset_mask): Likewise.
+	(re_string_char_size_at): Likewise.
+	(re_string_wchar_at): Likewise.
+	(re_string_elem_size_at): Likewise.
+
 2013-02-25  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	* sysdeps/ieee754/dbl-64/sincos32.c (ss32): Remove commented
diff --git a/locale/elem-hash.h b/locale/elem-hash.h
index a308f5d..eb53c1e 100644
--- a/locale/elem-hash.h
+++ b/locale/elem-hash.h
@@ -18,7 +18,7 @@
 
 
 /* The hashing function used for the table with collation symbols.  */
-static int32_t
+static int32_t __attribute__ ((pure, unused))
 elem_hash (const char *str, int_fast32_t n)
 {
   int32_t result = n;
diff --git a/posix/regex_internal.h b/posix/regex_internal.h
index b280663..0521f74 100644
--- a/posix/regex_internal.h
+++ b/posix/regex_internal.h
@@ -121,12 +121,6 @@
 # define attribute_hidden
 #endif /* not _LIBC */
 
-#ifdef __GNUC__
-# define __attribute(arg) __attribute__ (arg)
-#else
-# define __attribute(arg)
-#endif
-
 extern const char __re_error_msgid[] attribute_hidden;
 extern const size_t __re_error_msgid_idx[] attribute_hidden;
 
@@ -378,7 +372,7 @@ typedef struct re_dfa_t re_dfa_t;
 
 #ifndef _LIBC
 # ifdef __i386__
-#  define internal_function   __attribute ((regparm (3), stdcall))
+#  define internal_function   __attribute__ ((regparm (3), stdcall))
 # else
 #  define internal_function
 # endif
@@ -397,7 +391,7 @@ static void build_upper_buffer (re_string_t *pstr) internal_function;
 static void re_string_translate_buffer (re_string_t *pstr) internal_function;
 static unsigned int re_string_context_at (const re_string_t *input, int idx,
 					  int eflags)
-     internal_function __attribute ((pure));
+     internal_function __attribute__ ((pure));
 #endif
 #define re_string_peek_byte(pstr, offset) \
   ((pstr)->mbs[(pstr)->cur_idx + offset])
@@ -686,7 +680,7 @@ typedef struct
 
 
 /* Inline functions for bitset operation.  */
-static void
+static void __attribute__ ((unused))
 bitset_not (bitset_t set)
 {
   int bitset_i;
@@ -694,7 +688,7 @@ bitset_not (bitset_t set)
     set[bitset_i] = ~set[bitset_i];
 }
 
-static void
+static void __attribute__ ((unused))
 bitset_merge (bitset_t dest, const bitset_t src)
 {
   int bitset_i;
@@ -702,7 +696,7 @@ bitset_merge (bitset_t dest, const bitset_t src)
     dest[bitset_i] |= src[bitset_i];
 }
 
-static void
+static void __attribute__ ((unused))
 bitset_mask (bitset_t dest, const bitset_t src)
 {
   int bitset_i;
@@ -713,7 +707,7 @@ bitset_mask (bitset_t dest, const bitset_t src)
 #ifdef RE_ENABLE_I18N
 /* Inline functions for re_string.  */
 static int
-internal_function __attribute ((pure))
+internal_function __attribute__ ((pure, unused))
 re_string_char_size_at (const re_string_t *pstr, int idx)
 {
   int byte_idx;
@@ -726,7 +720,7 @@ re_string_char_size_at (const re_string_t *pstr, int idx)
 }
 
 static wint_t
-internal_function __attribute ((pure))
+internal_function __attribute__ ((pure, unused))
 re_string_wchar_at (const re_string_t *pstr, int idx)
 {
   if (pstr->mb_cur_max == 1)
@@ -736,7 +730,7 @@ re_string_wchar_at (const re_string_t *pstr, int idx)
 
 # ifndef NOT_IN_libc
 static int
-internal_function __attribute ((pure))
+internal_function __attribute__ ((pure, unused))
 re_string_elem_size_at (const re_string_t *pstr, int idx)
 {
 #  ifdef _LIBC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]