summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/linkedlist.c2
-rw-r--r--src/linkedlist.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/linkedlist.c b/src/linkedlist.c
index f79757b..ae3d143 100644
--- a/src/linkedlist.c
+++ b/src/linkedlist.c
@@ -24,9 +24,11 @@
#include "linkedlist.h"
+#if __GNUC__ <= 3
void
prefetch(const void *x)
{;}
+#endif
/*
* Insert a new entry between two known consecutive entries.
diff --git a/src/linkedlist.h b/src/linkedlist.h
index 7f147b1..4434766 100644
--- a/src/linkedlist.h
+++ b/src/linkedlist.h
@@ -76,7 +76,11 @@ void list_add(struct list_head *new, struct list_head *head);
void __list_add(struct list_head *new,
struct list_head *prev,
struct list_head *next);
+#if __GNUC__ > 3
+#define prefetch __builtin_prefetch
+#else
void prefetch(const void *x);
+#endif
/* Return the last element in the list. */
#define list_last(last, head, member) \