| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | /* StarPU --- Runtime system for heterogeneous multicore architectures. * * Copyright (C) 2010-2013,2015,2017                      CNRS * Copyright (C) 2009-2011,2014                           Université de Bordeaux * Copyright (C) 2011,2012                                Inria * * StarPU is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or (at * your option) any later version. * * StarPU is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU Lesser General Public License in COPYING.LGPL for more details. *//*! \defgroup API_Toolbox Toolbox\brief The following macros allow to make GCC extensions portable, andto have a code which can be compiled with any C compiler.\def STARPU_GNUC_PREREQ\ingroup API_ToolboxReturn true (non-zero) if GCC version \p maj.\p min or later is being used (macro taken from glibc.)\def STARPU_UNLIKELY\ingroup API_ToolboxWhen building with a GNU C Compiler, allow programmers to mark an expression as unlikely.\def STARPU_LIKELY\ingroup API_ToolboxWhen building with a GNU C Compiler, allow programmers to mark an expression as likely.\def STARPU_ATTRIBUTE_UNUSED\ingroup API_ToolboxWhen building with a GNU C Compiler, defined to __attribute__((unused))\def STARPU_ATTRIBUTE_INTERNAL\ingroup API_ToolboxWhen building with a GNU C Compiler, defined to __attribute__((visibility ("internal")))\def STARPU_ATTRIBUTE_MALLOC\ingroup API_ToolboxWhen building with a GNU C Compiler, defined to __attribute__((malloc))\def STARPU_ATTRIBUTE_WARN_UNUSED_RESULT\ingroup API_ToolboxWhen building with a GNU C Compiler, defined to __attribute__((warn_unused_result))\def STARPU_ATTRIBUTE_PURE\ingroup API_ToolboxWhen building with a GNU C Compiler, defined to __attribute__((pure))\def STARPU_ATTRIBUTE_ALIGNED\ingroup API_ToolboxWhen building with a GNU C Compiler, defined to__attribute__((aligned(size)))\def STARPU_WARN_UNUSED_RESULT\ingroup API_ToolboxWhen building with a GNU C Compiler, defined to__attribute__((__warn_unused_result__))\def STARPU_POISON_PTR\ingroup API_ToolboxDefine a value which can be used to mark pointers as invalid values.\def STARPU_MIN\ingroup API_ToolboxReturn the min of the two parameters.\def STARPU_MAX\ingroup API_ToolboxReturn the max of the two parameters.\def STARPU_ASSERT\ingroup API_ToolboxUnless 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_ToolboxUnless StarPU has been configured with the option \ref enable-fast"--enable-fast", this macro will abort if the expression is false. Thegiven message will be displayed.\def STARPU_ABORT\ingroup API_ToolboxAbort the program.\def STARPU_ABORT_MSG\ingroup API_ToolboxAbort the program, and display the given message.\def STARPU_CHECK_RETURN_VALUE\ingroup API_ToolboxAbort the program (after displaying \p message) if \p err has a value which is not 0.\def STARPU_CHECK_RETURN_VALUE_IS\ingroup API_ToolboxAbort the program (after displaying \p message) if \p err is different from \p value.\def STARPU_RMB\ingroup API_ToolboxThis macro can be used to do a synchronization.\def STARPU_WMB\ingroup API_ToolboxThis macro can be used to do a synchronization.\fn int starpu_get_env_number(const char *str)\ingroup API_ToolboxReturn the integer value of the environment variable named \p str.Return 0 otherwise (the variable does not exist or has a non-integervalue).*/
 |