X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fcompiler%2Fcompiler.h;fp=ccan%2Fcompiler%2Fcompiler.h;h=42245646c42ff772bcc6376ffc54ac79a1c1aca1;hp=651b47cee9dcd611ad7c8513d92ec06ba852bb63;hb=48c1824304ac2d8aeaef7b8a55c7d9edc8992f63;hpb=7bcba7662a50fe9f54009b0abe4a0e96aa6a4ea8 diff --git a/ccan/compiler/compiler.h b/ccan/compiler/compiler.h index 651b47ce..42245646 100644 --- a/ccan/compiler/compiler.h +++ b/ccan/compiler/compiler.h @@ -75,6 +75,20 @@ #else #define CONST_FUNCTION #endif + +#ifndef PURE_FUNCTION +#if HAVE_ATTRIBUTE_PURE +/** + * PURE_FUNCTION - a function is pure + * + * A pure function is one that has no side effects other than it's return value + * and uses no inputs other than it's arguments and global variables. + */ +#define PURE_FUNCTION __attribute__((__pure__)) +#else +#define PURE_FUNCTION +#endif +#endif #endif #if HAVE_ATTRIBUTE_UNUSED