CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
dbgtypes.h
1#pragma once
2
3#include <cx/stype/stype.h>
4
5CX_C_BEGIN
6
7// Types that are used for debugging visualization with natvis.
8// These are not actually used but are defined in this file so that they are available in the debug
9// symbols.
10
11// Many of these are used as pseudo-synthetic types to work around the fact that the gdb natvis
12// integration does not support the Synthetic element.
13
14typedef union _nv_stype _nv_stype;
15#define NVTYPE(name) typedef struct name name;
16NVTYPE(_nv_stype_flags);
17NVTYPE(_nv_string);
18NVTYPE(_nv_string_flags);
19NVTYPE(_nv_sarray);
20NVTYPE(_nv_sarray_flags);
21NVTYPE(_nv_hashtable);
22NVTYPE(_nv_hashtable_data);
23NVTYPE(_nv_hashtable_flags);
24
25#undef NVTYPE
26#define NVTYPE(name) name* name##_var
27typedef union _debug_types {
28 void* _unused;
29 _nv_stype* _nv_stype_var;
30 NVTYPE(_nv_stype_flags);
31 NVTYPE(_nv_string);
32 NVTYPE(_nv_string_flags);
33 NVTYPE(_nv_sarray);
34 NVTYPE(_nv_sarray_flags);
35 NVTYPE(_nv_hashtable);
36 NVTYPE(_nv_hashtable_data);
37 NVTYPE(_nv_hashtable_flags);
38} _debug_types;
39
40extern _debug_types _unused_debug_types;
41
42CX_C_END
Runtime type system and type descriptor infrastructure.