Skip to contentSkip to conversation

Remove function prototype inside function

PATCH New Anton Blanchard 1 participant 1 message Aug 27, 2004 Memory management

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Remove function prototype inside function

Hi,

I had a problem when compiling a 2.6 kernel with gcc 3.5 CVS. The prototype for prio_tree_remove in mm/prio_tree.c is inside another function. gcc 3.5 gets upset and removes the function completely. Apparently this isnt valid C, so lets fix it up.

Details can be found here:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17205

===== mm/prio_tree.c 1.7 vs edited =====

mm/prio_tree.c +2 -2
@@ -81,6 +81,8 @@
 	return index_bits_to_maxindex[bits - 1];
 }
 
+static void prio_tree_remove(struct prio_tree_root *, struct prio_tree_node *);
+
 /*
  * Extend a priority search tree so that it can store a node with heap_index
  * max_heap_index. In the worst case, this algorithm takes O((log n)^2).
@@ -90,8 +92,6 @@
 static struct prio_tree_node *prio_tree_expand(struct prio_tree_root *root,
 		struct prio_tree_node *node, unsigned long max_heap_index)
 {
-	static void prio_tree_remove(struct prio_tree_root *,
-					struct prio_tree_node *);
 	struct prio_tree_node *first = NULL, *prev, *last = NULL;
 
 	if (max_heap_index > prio_tree_maxindex(root->index_bits))