use _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
[gnulib.git] / lib / hash-pjw.c
index 743bb57..7df27ae 100644 (file)
 
 #define SIZE_BITS (sizeof (size_t) * CHAR_BIT)
 
+/* The attribute __pure__ was added in gcc 2.96.  */
+#undef _GL_ATTRIBUTE_PURE
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
 /* A hash function for NUL-terminated char* strings using
    the method described by Bruno Haible.
    See http://www.haible.de/bruno/hashfunc.html.  */
 
-size_t
+size_t _GL_ATTRIBUTE_PURE
 hash_pjw (const void *x, size_t tablesize)
 {
   const char *s;