From 35bde472b5455bab19157922dab06a5c2864bced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Tue, 20 May 2008 21:14:36 +0200 Subject: Add check for const attribute (for mathematical functions). Add CC_ATTRIBUTE_CONST macro to the attributes.h. Run CC_ATTRIBUTE_CONST in configure. Define SUPPORT_ATTRIBUTE_CONST for GCC 3. Define XINE_CONST to __attribute__((__const__)) if supported. --HG-- extra : transplant_source : /26%26%DF%C0%3C%AC%27%5C%B7%B1y%FEQ%8Ay%EE%F1%BD --- configure.ac | 1 + m4/attributes.m4 | 8 ++++++++ src/xine-utils/attributes.h | 7 +++++++ 3 files changed, 16 insertions(+) diff --git a/configure.ac b/configure.ac index 671bd0c18..79c93f448 100644 --- a/configure.ac +++ b/configure.ac @@ -2219,6 +2219,7 @@ CC_ATTRIBUTE_DEPRECATED CC_ATTRIBUTE_UNUSED CC_ATTRIBUTE_MALLOC CC_ATTRIBUTE_PACKED +CC_ATTRIBUTE_CONST AC_OPTIMIZATIONS diff --git a/m4/attributes.m4 b/m4/attributes.m4 index fa379a2fe..f71b3d0d0 100644 --- a/m4/attributes.m4 +++ b/m4/attributes.m4 @@ -188,6 +188,14 @@ AC_DEFUN([CC_ATTRIBUTE_PACKED], [ [$2]) ]) +AC_DEFUN([CC_ATTRIBUTE_CONST], [ + CC_CHECK_ATTRIBUTE( + [const], , + [int __attribute__((const)) twopow(int n) { return 1 << n; } ], + [$1], + [$2]) +]) + AC_DEFUN([CC_FLAG_VISIBILITY], [ AC_REQUIRE([CC_CHECK_WERROR]) AC_CACHE_CHECK([if $CC supports -fvisibility=hidden], diff --git a/src/xine-utils/attributes.h b/src/xine-utils/attributes.h index 29bb9f28f..3819818d5 100644 --- a/src/xine-utils/attributes.h +++ b/src/xine-utils/attributes.h @@ -45,6 +45,7 @@ # define SUPPORT_ATTRIBUTE_FORMAT_ARG 1 # define SUPPORT_ATTRIBUTE_MALLOC 1 # define SUPPORT_ATTRIBUTE_UNUSED 1 +# define SUPPORT_ATTRIBUTE_CONST 1 # endif # if __GNUC__ >= 4 @@ -109,4 +110,10 @@ # define XINE_PACKED #endif +#ifdef SUPPORT_ATTRIBUTE_CONST +# define XINE_CONST __attribute__((__const__)) +#else +# define XINE_CONST +#endif + #endif /* ATTRIBUTE_H_ */ -- cgit v1.2.3