/* * This file is part of the StarPU Handbook. * Copyright (C) 2009--2011 Universit@'e de Bordeaux * Copyright (C) 2010, 2011, 2012, 2013, 2017 CNRS * Copyright (C) 2011, 2012 INRIA * See the file version.doxy for copying conditions. */ /*! \defgroup API_Toolbox Toolbox \brief The following macros allow to make GCC extensions portable, and to have a code which can be compiled with any C compiler. \def STARPU_GNUC_PREREQ \ingroup API_Toolbox Return true (non-zero) if GCC version \p maj.\p min or later is being used (macro taken from glibc.) \def STARPU_UNLIKELY \ingroup API_Toolbox When building with a GNU C Compiler, allow programmers to mark an expression as unlikely. \def STARPU_LIKELY \ingroup API_Toolbox When building with a GNU C Compiler, allow programmers to mark an expression as likely. \def STARPU_ATTRIBUTE_UNUSED \ingroup API_Toolbox When building with a GNU C Compiler, defined to __attribute__((unused)) \def STARPU_ATTRIBUTE_INTERNAL \ingroup API_Toolbox When building with a GNU C Compiler, defined to __attribute__((visibility ("internal"))) \def STARPU_ATTRIBUTE_MALLOC \ingroup API_Toolbox When building with a GNU C Compiler, defined to __attribute__((malloc)) \def STARPU_ATTRIBUTE_WARN_UNUSED_RESULT \ingroup API_Toolbox When building with a GNU C Compiler, defined to __attribute__((warn_unused_result)) \def STARPU_ATTRIBUTE_PURE \ingroup API_Toolbox When building with a GNU C Compiler, defined to __attribute__((pure)) \def STARPU_ATTRIBUTE_ALIGNED \ingroup API_Toolbox When building with a GNU C Compiler, defined to__attribute__((aligned(size))) \def STARPU_WARN_UNUSED_RESULT \ingroup API_Toolbox When building with a GNU C Compiler, defined to__attribute__((__warn_unused_result__)) \def STARPU_POISON_PTR \ingroup API_Toolbox Define a value which can be used to mark pointers as invalid values. \def STARPU_MIN \ingroup API_Toolbox Return the min of the two parameters. \def STARPU_MAX \ingroup API_Toolbox Return the max of the two parameters. \def STARPU_ASSERT \ingroup API_Toolbox Unless StarPU has been configured with the option \ref enable-fast "--enable-fast", this macro will abort if the expression is false. \def STARPU_ASSERT_MSG \ingroup API_Toolbox Unless StarPU has been configured with the option \ref enable-fast "--enable-fast", this macro will abort if the expression is false. The given message will be displayed. \def STARPU_ABORT \ingroup API_Toolbox Abort the program. \def STARPU_ABORT_MSG \ingroup API_Toolbox Abort the program, and display the given message. \def STARPU_CHECK_RETURN_VALUE \ingroup API_Toolbox Abort the program (after displaying \p message) if \p err has a value which is not 0. \def STARPU_CHECK_RETURN_VALUE_IS \ingroup API_Toolbox Abort the program (after displaying \p message) if \p err is different from \p value. \def STARPU_RMB \ingroup API_Toolbox This macro can be used to do a synchronization. \def STARPU_WMB \ingroup API_Toolbox This macro can be used to do a synchronization. \fn int starpu_get_env_number(const char *str) \ingroup API_Toolbox Return the integer value of the environment variable named \p str. Return 0 otherwise (the variable does not exist or has a non-integer value). */