mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-26 07:54:36 +00:00
Shuffle code around to avoid error C2712.
This commit is contained in:
parent
251f331f99
commit
05894f6f14
@ -99,6 +99,29 @@ std::atomic<ThreadNameData*>& GetThreadNameData();
|
|||||||
TRACY_API void InitRPMallocThread();
|
TRACY_API void InitRPMallocThread();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
# pragma pack( push, 8 )
|
||||||
|
struct THREADNAME_INFO
|
||||||
|
{
|
||||||
|
DWORD dwType;
|
||||||
|
LPCSTR szName;
|
||||||
|
DWORD dwThreadID;
|
||||||
|
DWORD dwFlags;
|
||||||
|
};
|
||||||
|
# pragma pack(pop)
|
||||||
|
|
||||||
|
void ThreadNameMsvcMagic( const THREADNAME_INFO& info )
|
||||||
|
{
|
||||||
|
__try
|
||||||
|
{
|
||||||
|
RaiseException( 0x406D1388, 0, sizeof(info)/sizeof(ULONG_PTR), (ULONG_PTR*)&info );
|
||||||
|
}
|
||||||
|
__except(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
TRACY_API void SetThreadName( const char* name )
|
TRACY_API void SetThreadName( const char* name )
|
||||||
{
|
{
|
||||||
#if defined _WIN32 || defined __CYGWIN__
|
#if defined _WIN32 || defined __CYGWIN__
|
||||||
@ -112,31 +135,12 @@ TRACY_API void SetThreadName( const char* name )
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
# if defined _MSC_VER
|
# if defined _MSC_VER
|
||||||
const DWORD MS_VC_EXCEPTION=0x406D1388;
|
|
||||||
# pragma pack( push, 8 )
|
|
||||||
struct THREADNAME_INFO
|
|
||||||
{
|
|
||||||
DWORD dwType;
|
|
||||||
LPCSTR szName;
|
|
||||||
DWORD dwThreadID;
|
|
||||||
DWORD dwFlags;
|
|
||||||
};
|
|
||||||
# pragma pack(pop)
|
|
||||||
|
|
||||||
DWORD ThreadId = GetCurrentThreadId();
|
|
||||||
THREADNAME_INFO info;
|
THREADNAME_INFO info;
|
||||||
info.dwType = 0x1000;
|
info.dwType = 0x1000;
|
||||||
info.szName = name;
|
info.szName = name;
|
||||||
info.dwThreadID = ThreadId;
|
info.dwThreadID = GetCurrentThreadId();
|
||||||
info.dwFlags = 0;
|
info.dwFlags = 0;
|
||||||
|
ThreadNameMsvcMagic( info );
|
||||||
__try
|
|
||||||
{
|
|
||||||
RaiseException( MS_VC_EXCEPTION, 0, sizeof(info)/sizeof(ULONG_PTR), (ULONG_PTR*)&info );
|
|
||||||
}
|
|
||||||
__except(EXCEPTION_EXECUTE_HANDLER)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
#elif defined _GNU_SOURCE && !defined __EMSCRIPTEN__ && !defined __CYGWIN__
|
#elif defined _GNU_SOURCE && !defined __EMSCRIPTEN__ && !defined __CYGWIN__
|
||||||
|
Loading…
Reference in New Issue
Block a user