summaryrefslogtreecommitdiffstats
path: root/src/include/compiler.h
diff options
context:
space:
mode:
authorMichael Brown2007-08-23 22:51:57 +0200
committerMichael Brown2007-08-23 22:51:57 +0200
commit746d0f8febe166a3d5bad03a84ca4e33d1bcfe34 (patch)
tree8fb0d6d2d7066bdbc54f3540fa9564c0ad290127 /src/include/compiler.h
parentAuto-assign drive number only if set to 0xff; almost all applications (diff)
parentuse malloc attribute (diff)
downloadipxe-746d0f8febe166a3d5bad03a84ca4e33d1bcfe34.tar.gz
ipxe-746d0f8febe166a3d5bad03a84ca4e33d1bcfe34.tar.xz
ipxe-746d0f8febe166a3d5bad03a84ca4e33d1bcfe34.zip
Merge commit 'holger/strings'
Diffstat (limited to 'src/include/compiler.h')
-rw-r--r--src/include/compiler.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/include/compiler.h b/src/include/compiler.h
index 2151fc6a..a195e536 100644
--- a/src/include/compiler.h
+++ b/src/include/compiler.h
@@ -280,6 +280,31 @@ extern void dbg_hex_dump_da ( unsigned long dispaddr,
#define __cdecl __attribute__ (( cdecl , regparm(0) ))
/**
+ * Declare a function as pure - i.e. without side effects
+ */
+#define __pure __attribute__ (( pure ))
+
+/**
+ * Declare a function as const - i.e. it does not access global memory
+ * (including dereferencing pointers passed to it) at all.
+ * Must also not call any non-const functions.
+ */
+#define __const __attribute__ (( const ))
+
+/**
+ * Declare a function's pointer parameters as non-null - i.e. force
+ * compiler to check pointers at compile time and enable possible
+ * optimizations based on that fact
+ */
+#define __nonnull __attribute__ (( nonnull ))
+
+/**
+ * Declare a pointer returned by a function as a unique memory address
+ * as returned by malloc-type functions.
+ */
+#define __malloc __attribute__ (( malloc ))
+
+/**
* Declare a function as used.
*
* Necessary only if the function is called only from assembler code.