mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
dtoolbase: Fixup NODEFAULT macro
1. Test for Clang before _MSC_VER (Clang defines this on Windows) 2. Use it in pdtoa.cxx
This commit is contained in:
parent
c17cb11dfa
commit
00e259d4dd
@ -73,10 +73,10 @@
|
|||||||
// 'assume at least one of the cases is always true')
|
// 'assume at least one of the cases is always true')
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
#define NODEFAULT default: assert(0); break;
|
#define NODEFAULT default: assert(0); break;
|
||||||
#elif defined(_MSC_VER)
|
|
||||||
#define NODEFAULT default: __assume(0); // special VC keyword
|
|
||||||
#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) || __has_builtin(__builtin_unreachable)
|
#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) || __has_builtin(__builtin_unreachable)
|
||||||
#define NODEFAULT default: __builtin_unreachable();
|
#define NODEFAULT default: __builtin_unreachable();
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
#define NODEFAULT default: __assume(0); // special VC keyword
|
||||||
#else
|
#else
|
||||||
#define NODEFAULT
|
#define NODEFAULT
|
||||||
#endif
|
#endif
|
||||||
|
@ -271,14 +271,7 @@ inline static void DigitGen(const DiyFp& W, const DiyFp& Mp, uint64_t delta, cha
|
|||||||
case 3: d = p1 / 100; p1 %= 100; break;
|
case 3: d = p1 / 100; p1 %= 100; break;
|
||||||
case 2: d = p1 / 10; p1 %= 10; break;
|
case 2: d = p1 / 10; p1 %= 10; break;
|
||||||
case 1: d = p1; p1 = 0; break;
|
case 1: d = p1; p1 = 0; break;
|
||||||
default:
|
NODEFAULT
|
||||||
#if defined(_MSC_VER)
|
|
||||||
__assume(0);
|
|
||||||
#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
|
|
||||||
__builtin_unreachable();
|
|
||||||
#else
|
|
||||||
d = 0;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
if (d || *len)
|
if (d || *len)
|
||||||
buffer[(*len)++] = '0' + static_cast<char>(d);
|
buffer[(*len)++] = '0' + static_cast<char>(d);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user