diff options
author | Michael Brown | 2007-08-23 22:51:57 +0200 |
---|---|---|
committer | Michael Brown | 2007-08-23 22:51:57 +0200 |
commit | 746d0f8febe166a3d5bad03a84ca4e33d1bcfe34 (patch) | |
tree | 8fb0d6d2d7066bdbc54f3540fa9564c0ad290127 /src/include/compiler.h | |
parent | Auto-assign drive number only if set to 0xff; almost all applications (diff) | |
parent | use malloc attribute (diff) | |
download | ipxe-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.h | 25 |
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. |