+2014-09-16 Dylan Cali <calid1984@gmail.com>
+
+ avltree-list: avoid compiler warnings (trivial)
+ * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
+ -Werror=suggest-attribute=pure.
+ * lib/gl_array_list.c: Likewise.
+ * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
+ declaration to avoid -Werror=missing-prototypes. This is not added
+ to a header as only exported for tests. Add (void) to the
+ check_invariants() call to indicate we're discarding the result
+ in this context which avoids -Werror=unused-value. Note we don't
+ use ignore_value here to avoid a dependency as we know we'll not
+ be adding __attribute__((warn_unused_result)) to check_invariants().
+ Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
+
2014-09-15 Paul Eggert <eggert@cs.ucla.edu>
qsort_r: new module, for GNU-style qsort_r
return 0;
}
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_tree_next_node (gl_list_t list, gl_list_node_t node)
{
if (node->right != NULL)
return node;
}
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_tree_previous_node (gl_list_t list, gl_list_node_t node)
{
if (node->left != NULL)
}
/* Return the node at the given position < gl_tree_size (list). */
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
node_at (gl_list_node_t root, size_t position)
{
/* Here we know that root != NULL. */
return node;
}
-static const void *
+static const void * _GL_ATTRIBUTE_PURE
gl_tree_get_at (gl_list_t list, size_t position)
{
gl_list_node_t node = list->root;
return list->count;
}
-static const void *
+static const void * _GL_ATTRIBUTE_PURE
gl_array_node_value (gl_list_t list, gl_list_node_t node)
{
uintptr_t index = NODE_TO_INDEX (node);
return 0;
}
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_array_next_node (gl_list_t list, gl_list_node_t node)
{
uintptr_t index = NODE_TO_INDEX (node);
return NULL;
}
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_array_previous_node (gl_list_t list, gl_list_node_t node)
{
uintptr_t index = NODE_TO_INDEX (node);
return NULL;
}
-static const void *
+static const void * _GL_ATTRIBUTE_PURE
gl_array_get_at (gl_list_t list, size_t position)
{
size_t count = list->count;
#include "gl_anytree_list2.h"
/* For debugging. */
-static unsigned int
+extern void gl_avltree_list_check_invariants (gl_list_t list);
+
+static unsigned int _GL_ATTRIBUTE_PURE
check_invariants (gl_list_node_t node, gl_list_node_t parent)
{
unsigned int left_height =
return 1 + (left_height > right_height ? left_height : right_height);
}
-void
+
+void _GL_ATTRIBUTE_CONST
gl_avltree_list_check_invariants (gl_list_t list)
{
if (list->root != NULL)
- check_invariants (list->root, NULL);
+ (void) check_invariants (list->root, NULL);
}
const struct gl_list_implementation gl_avltree_list_implementation =