1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Fixed compiler warnings.

This commit is contained in:
Till Rathmann
2018-08-01 14:07:30 +02:00
parent d1dd1d664f
commit 37d5736bf5
10 changed files with 56 additions and 27 deletions
+3
View File
@@ -5,7 +5,10 @@
#if TRACY_HAS_CALLSTACK == 1
# include <windows.h>
# pragma warning( push )
# pragma warning( disable : 4091 )
# include <dbghelp.h>
# pragma warning( pop )
#elif TRACY_HAS_CALLSTACK >= 2
# include <dlfcn.h>
# include <cxxabi.h>
+4 -3
View File
@@ -85,7 +85,7 @@ static int SetupHwTimerFailed()
return sigsetjmp( SigIllEnv, 1 );
}
static void SetupHwTimerSigIllHandler( int signum )
static void SetupHwTimerSigIllHandler( int /*signum*/ )
{
siglongjmp( SigIllEnv, 1 );
}
@@ -139,8 +139,9 @@ static const char* GetProcessName()
# endif
#elif defined _GNU_SOURCE || defined __CYGWIN__
return program_invocation_short_name;
#endif
#else
return "unknown";
#endif
}
enum { QueuePrealloc = 256 * 1024 };
@@ -728,7 +729,7 @@ void Profiler::SendCallstackPayload( uint64_t _ptr )
AppendDataUnsafe( &item, QueueDataSize[(int)QueueType::CallstackPayload] );
AppendDataUnsafe( &l16, sizeof( l16 ) );
if( sizeof( uintptr_t ) == sizeof( uint64_t ) )
if( compile_time_condition<sizeof( uintptr_t ) == sizeof( uint64_t )>::value )
{
AppendDataUnsafe( ptr, sizeof( uint64_t ) * sz );
}
+1 -1
View File
@@ -373,7 +373,7 @@ private:
MemWrite( &item->memAlloc.time, GetTime() );
MemWrite( &item->memAlloc.thread, thread );
MemWrite( &item->memAlloc.ptr, (uint64_t)ptr );
if( sizeof( size ) == 4 )
if( compile_time_condition<sizeof( size ) == 4>::value )
{
memcpy( &item->memAlloc.size, &size, 4 );
memset( &item->memAlloc.size + 4, 0, 2 );
+22 -7
View File
@@ -231,6 +231,21 @@ namespace moodycamel { namespace details {
#endif
} }
namespace
{
// to avoid MSVC warning 4127: conditional expression is constant
template <bool>
struct compile_time_condition
{
static const bool value = false;
};
template <>
struct compile_time_condition<true>
{
static const bool value = true;
};
}
#ifdef MOODYCAMEL_QUEUE_INTERNAL_DEBUG
#include "internal/concurrentqueue_internal_debug.h"
#endif
@@ -797,7 +812,7 @@ public:
}
// Destroy implicit producer hash tables
if (INITIAL_IMPLICIT_PRODUCER_HASH_SIZE != 0) {
if (compile_time_condition<INITIAL_IMPLICIT_PRODUCER_HASH_SIZE != 0>::value) {
auto hash = implicitProducerHash.load(std::memory_order_relaxed);
while (hash != nullptr) {
auto prev = hash->prev;
@@ -1504,7 +1519,7 @@ private:
template<InnerQueueContext context>
inline bool is_empty() const
{
if (context == explicit_context && BLOCK_SIZE <= EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD) {
if (compile_time_condition<context == explicit_context && BLOCK_SIZE <= EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD>::value) {
// Check flags
for (size_t i = 0; i < BLOCK_SIZE; ++i) {
if (!emptyFlags[i].load(std::memory_order_relaxed)) {
@@ -1550,7 +1565,7 @@ private:
template<InnerQueueContext context>
inline bool set_many_empty(index_t i, size_t count)
{
if (context == explicit_context && BLOCK_SIZE <= EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD) {
if (compile_time_condition<context == explicit_context && BLOCK_SIZE <= EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD>::value) {
// Set flags
std::atomic_thread_fence(std::memory_order_release);
i = BLOCK_SIZE - 1 - static_cast<size_t>(i & static_cast<index_t>(BLOCK_SIZE - 1)) - count + 1;
@@ -1586,7 +1601,7 @@ private:
template<InnerQueueContext context>
inline void reset_empty()
{
if (context == explicit_context && BLOCK_SIZE <= EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD) {
if (compile_time_condition<context == explicit_context && BLOCK_SIZE <= EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD>::value) {
// Reset flags
for (size_t i = 0; i != BLOCK_SIZE; ++i) {
emptyFlags[i].store(false, std::memory_order_relaxed);
@@ -3298,7 +3313,7 @@ private:
inline void populate_initial_implicit_producer_hash()
{
if (INITIAL_IMPLICIT_PRODUCER_HASH_SIZE == 0) return;
if (compile_time_condition<INITIAL_IMPLICIT_PRODUCER_HASH_SIZE == 0>::value) return;
implicitProducerHashCount.store(0, std::memory_order_relaxed);
auto hash = &initialImplicitProducerHash;
@@ -3640,7 +3655,7 @@ ConsumerToken::ConsumerToken(ConcurrentQueue<T, Traits>& queue)
: itemsConsumedFromCurrent(0), currentProducer(nullptr), desiredProducer(nullptr)
{
initialOffset = queue.nextExplicitConsumerId.fetch_add(1, std::memory_order_release);
lastKnownGlobalOffset = -1;
lastKnownGlobalOffset = static_cast<std::uint32_t>(-1);
}
template<typename T, typename Traits>
@@ -3648,7 +3663,7 @@ ConsumerToken::ConsumerToken(BlockingConcurrentQueue<T, Traits>& queue)
: itemsConsumedFromCurrent(0), currentProducer(nullptr), desiredProducer(nullptr)
{
initialOffset = reinterpret_cast<ConcurrentQueue<T, Traits>*>(&queue)->nextExplicitConsumerId.fetch_add(1, std::memory_order_release);
lastKnownGlobalOffset = -1;
lastKnownGlobalOffset = static_cast<std::uint32_t>(-1);
}
template<typename T, typename Traits>
+12 -6
View File
@@ -85,6 +85,8 @@
/// Platform and arch specifics
#ifdef _MSC_VER
# pragma warning( push )
# pragma warning( disable : 4324 )
# define ALIGNED_STRUCT(name, alignment) __declspec(align(alignment)) struct name
# define FORCEINLINE __forceinline
# define atomic_thread_fence_acquire() //_ReadWriteBarrier()
@@ -1769,13 +1771,13 @@ _memory_map_os(size_t size, size_t* offset) {
//Ok to MEM_COMMIT - according to MSDN, "actual physical pages are not allocated unless/until the virtual addresses are actually accessed"
void* ptr = VirtualAlloc(0, size + padding, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
if (!ptr) {
assert("Failed to map virtual memory block" == 0);
assert("Failed to map virtual memory block" && 0);
return 0;
}
#else
void* ptr = mmap(0, size + padding, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_UNINITIALIZED, -1, 0);
if ((ptr == MAP_FAILED) || !ptr) {
assert("Failed to map virtual memory block" == 0);
assert("Failed to map virtual memory block" && 0);
return 0;
}
#endif
@@ -1813,12 +1815,12 @@ _memory_unmap_os(void* address, size_t size, size_t offset, int release) {
#if PLATFORM_WINDOWS
if (!VirtualFree(address, release ? 0 : size, release ? MEM_RELEASE : MEM_DECOMMIT)) {
DWORD err = GetLastError();
assert("Failed to unmap virtual memory block" == 0);
assert("Failed to unmap virtual memory block" && err && 0);
}
#else
MEMORY_UNUSED(release);
if (munmap(address, size)) {
assert("Failed to unmap virtual memory block" == 0);
assert("Failed to unmap virtual memory block" && 0);
}
#endif
}
@@ -1854,7 +1856,7 @@ _memory_guard_validate(void* p) {
if (_memory_config.memory_overwrite)
_memory_config.memory_overwrite(p);
else
assert("Memory overwrite before block start" == 0);
assert("Memory overwrite before block start" && 0);
return;
}
deadzone[i] = 0;
@@ -1866,7 +1868,7 @@ _memory_guard_validate(void* p) {
if (_memory_config.memory_overwrite)
_memory_config.memory_overwrite(p);
else
assert("Memory overwrite after block end" == 0);
assert("Memory overwrite after block end" && 0);
return;
}
deadzone[i] = 0;
@@ -2086,4 +2088,8 @@ rpmalloc_global_statistics(rpmalloc_global_statistics_t* stats) {
}
#ifdef _MSC_VER
# pragma warning( pop )
#endif
#endif