]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/system.h
Drop the Arch information from the Version structure as we can get
[apt.git] / apt-pkg / contrib / system.h
index 325576dbf17899fcbbd6e27f552cb06579721ad3..f68df6265c78a4d146bfc85a10a2b78c567b05eb 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: system.h,v 1.2 1999/01/18 06:20:08 jgg Exp $
+// $Id: system.h,v 1.3 1999/12/10 23:40:29 jgg Exp $
 /* ######################################################################
    
    System Header - Usefull private definitions
@@ -19,6 +19,7 @@
 #define        MAX_VAL(t)      (((t)(-1) > 0) ? (t)(-1) : (t)(((1L<<(sizeof(t)*8-1))-1)))
 
 // Min/Max functions
+#if !defined(MIN)
 #if defined(__HIGHC__)
 #define MIN(x,y) _min(x,y)
 #define MAX(x,y) _max(x,y)
@@ -36,6 +37,7 @@
 #define MIN(A,B) ((A) < (B)?(A):(B))
 #define MAX(A,B) ((A) > (B)?(A):(B))
 #endif
+#endif
 
 /* Bound functions, bound will return the value b within the limits a-c
    bounv will change b so that it is within the limits of a-c. */
 #define CLRFLAG(v,f)   ((v) &=~FLAG(f))
 #define        CHKFLAG(v,f)    ((v) &  FLAG(f) ? true : false)
 
+// some nice optional GNUC features
+#if __GNUC__ >= 3
+       #define __must_check    __attribute__ ((warn_unused_result))
+       #define __deprecated    __attribute__ ((deprecated))
+       /* likely() and unlikely() can be used to mark boolean expressions
+          as (not) likely true which will help the compiler to optimise */
+       #define likely(x)       __builtin_expect (!!(x), 1)
+       #define unlikely(x)     __builtin_expect (!!(x), 0)
+#else
+       #define __must_check    /* no warn_unused_result */
+       #define __deprecated    /* no deprecated */
+       #define likely(x)       (x)
+       #define unlikely(x)     (x)
+#endif
+
+// cold functions are unlikely() to be called
+#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || __GNUC__ > 4
+       #define __cold  __attribute__ ((__cold__))
+#else
+       #define __cold  /* no cold marker */
+#endif
+
 #endif