diff options
Diffstat (limited to 'absl/base')
-rw-r--r-- | absl/base/attributes.h | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/absl/base/attributes.h b/absl/base/attributes.h index e11a064a..b7826e77 100644 --- a/absl/base/attributes.h +++ b/absl/base/attributes.h @@ -716,26 +716,9 @@ #define ABSL_CONST_INIT #endif -// ABSL_ATTRIBUTE_PURE_FUNCTION -// -// ABSL_ATTRIBUTE_PURE_FUNCTION is used to annotate declarations of "pure" -// functions. A function is pure if its return value is only a function of its -// arguments. The pure attribute prohibits a function from modifying the state -// of the program that is observable by means other than inspecting the -// function's return value. Declaring such functions with the pure attribute -// allows the compiler to avoid emitting some calls in repeated invocations of -// the function with the same argument values. -// -// Example: -// -// ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Milliseconds(Duration d); -#if ABSL_HAVE_CPP_ATTRIBUTE(gnu::pure) -#define ABSL_ATTRIBUTE_PURE_FUNCTION [[gnu::pure]] -#elif ABSL_HAVE_ATTRIBUTE(pure) -#define ABSL_ATTRIBUTE_PURE_FUNCTION __attribute__((pure)) -#else +// These annotations are not available yet due to fear of breaking code. #define ABSL_ATTRIBUTE_PURE_FUNCTION -#endif +#define ABSL_ATTRIBUTE_CONST_FUNCTION // ABSL_ATTRIBUTE_LIFETIME_BOUND indicates that a resource owned by a function // parameter or implicit object parameter is retained by the return value of the |