mirror of
https://github.com/wolfpld/tracy.git
synced 2026-08-09 22:59:44 +00:00
Replace `#ifdef BSD` (which requires including `<sys/param.h>` first) with explicit checks for `__FreeBSD__`, `__NetBSD__`, `__OpenBSD__` and `__DragonFly__`, matching how these BSDs are already enumerated elsewhere in the codebase (OS name strings, thread id helpers, etc.). This also avoids leaking the `sys/param.h` requirement through public headers (`TracySysTime.hpp`, `TracyCallstack.h`), where consumers would otherwise need it to correctly see `TRACY_HAS_SYSTIME` / `TRACY_HAS_CALLSTACK`. `libbacktrace/config.h` is left as-is — it's third-party and only included from .c files where the `BSD` macro can still be picked up locally. Note: for `setsockopt( m_sock, IPPROTO_IPV6, IPV6_V6ONLY, (const char*)&val, sizeof( val ) );` I added `__APPLE__` too since this was the only place where it was not checked explicitely.
31 lines
450 B
C++
31 lines
450 B
C++
#ifndef __TRACYSYSTIME_HPP__
|
|
#define __TRACYSYSTIME_HPP__
|
|
|
|
#if defined _WIN32 || defined __linux__ || defined __APPLE__ || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined __DragonFly__
|
|
# define TRACY_HAS_SYSTIME
|
|
#endif
|
|
|
|
#ifdef TRACY_HAS_SYSTIME
|
|
|
|
#include <stdint.h>
|
|
|
|
namespace tracy
|
|
{
|
|
|
|
class SysTime
|
|
{
|
|
public:
|
|
SysTime();
|
|
float Get();
|
|
|
|
void ReadTimes();
|
|
|
|
private:
|
|
uint64_t idle, used;
|
|
};
|
|
|
|
}
|
|
#endif
|
|
|
|
#endif
|