Disable forced inline when building in debug.

This commit is contained in:
Juan Linietsky 2018-10-02 13:53:53 -03:00
parent ff1794a7a0
commit 75c29879b0
2 changed files with 10 additions and 1 deletions

View File

@ -234,7 +234,8 @@ env_base.platform_exporters = platform_exporters
env_base.platform_apis = platform_apis env_base.platform_apis = platform_apis
if (env_base['target'] == 'debug'): if (env_base['target'] == 'debug'):
env_base.Append(CPPDEFINES=['DEBUG_MEMORY_ALLOC']) env_base.Append(CPPDEFINES=['DEBUG_MEMORY_ALLOC','DISABLE_FORCED_INLINE'])
if (env_base['no_editor_splash']): if (env_base['no_editor_splash']):
env_base.Append(CPPDEFINES=['NO_EDITOR_SPLASH']) env_base.Append(CPPDEFINES=['NO_EDITOR_SPLASH'])

View File

@ -44,6 +44,7 @@
#define _MKSTR(m_x) _STR(m_x) #define _MKSTR(m_x) _STR(m_x)
#endif #endif
//should always inline no matter what
#ifndef _ALWAYS_INLINE_ #ifndef _ALWAYS_INLINE_
#if defined(__GNUC__) && (__GNUC__ >= 4) #if defined(__GNUC__) && (__GNUC__ >= 4)
@ -58,10 +59,17 @@
#endif #endif
//should always inline, except in some cases because it makes debugging harder
#ifndef _FORCE_INLINE_ #ifndef _FORCE_INLINE_
#ifdef DISABLE_FORCED_INLINE
#define _FORCE_INLINE_ inline
#else
#define _FORCE_INLINE_ _ALWAYS_INLINE_ #define _FORCE_INLINE_ _ALWAYS_INLINE_
#endif #endif
#endif
//custom, gcc-safe offsetof, because gcc complains a lot. //custom, gcc-safe offsetof, because gcc complains a lot.
template <class T> template <class T>
T *_nullptr() { T *_nullptr() {