From a06f98986907aabe1141db617675e89b15410c84 Mon Sep 17 00:00:00 2001 From: Nicky Date: Fri, 17 Jul 2020 20:48:04 +0200 Subject: [PATCH] clang complains about shifting into the sign bit due to LLExtStat being a S32. Only for Linux/clang make it a U32 for now (to not affect other systems right now) --- indra/llmessage/llextendedstatus.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/indra/llmessage/llextendedstatus.h b/indra/llmessage/llextendedstatus.h index 8ce173d1ff..01d90db076 100644 --- a/indra/llmessage/llextendedstatus.h +++ b/indra/llmessage/llextendedstatus.h @@ -28,9 +28,16 @@ #ifndef LL_LLEXTENDEDSTATUS_H #define LL_LLEXTENDEDSTATUS_H +// Very tentative fix for clang error constant-conversion +// This happens due to LLExtStat being a S32 but LL_EXSTAT_RES_RESULT/LL_EXSTAT_VFS_RESULT shifting into the sign bit. +// To not screw everything up right now LLExtStatus only gets to be a U32 when LINUX and CLANG +//typedef S32 LLExtStat; +#if defined(LL_LINUX) && defined(__clang__) +typedef U32 LLExtStat; +#else typedef S32 LLExtStat; - +#endif // Status provider groups - Top bits indicate which status type it is // Zero is common status code (next section)