A few headers like BLI_math_constants.h and BLI_utildefines.h keep working for C code, for remaining makesdna and userdef defaults code in C. Pull Request: https://projects.blender.org/blender/blender/pulls/134406
32 lines
745 B
C
32 lines
745 B
C
/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
/** \file
|
|
* \ingroup bli
|
|
*/
|
|
|
|
/* add platform/compiler checks here if it is not supported */
|
|
/* all platforms support forcing inline so this is always enabled */
|
|
#define BLI_MATH_DO_INLINE 1
|
|
|
|
#if BLI_MATH_DO_INLINE
|
|
# ifdef _MSC_VER
|
|
# define MINLINE inline __forceinline
|
|
# define MALWAYS_INLINE MINLINE
|
|
# else
|
|
# define MINLINE inline
|
|
# define MALWAYS_INLINE inline __attribute__((always_inline)) __attribute__((unused))
|
|
# endif
|
|
#else
|
|
# define MINLINE
|
|
# define MALWAYS_INLINE
|
|
#endif
|
|
|
|
/* Check for GCC push/pop pragma support. */
|
|
#ifdef __GNUC__
|
|
# define BLI_MATH_GCC_WARN_PRAGMA 1
|
|
#endif
|