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