3#ifndef util_type_unique_h
4#define util_type_unique_h
7#include <clang-c/Index.h>
8#include <aclspv/spvty.h>
13
14
15
22
23
24
25
33 const CXType CANONICAL = clang_getCanonicalType(c_type);
34 if(rd_uniques)
while(IDX--) {
35 if(clang_equalTypes(CANONICAL, rd_uniques[IDX].m_type))
39 if(IDX < c_num_uniques)
46
47
48
49
50
60 assert(0 &&
"h_uniques is null");
61 return c_num_uniques + 1;
65 assert(0 &&
"vector is too small - invalid c_num_uniques");
66 return c_num_uniques + 1;
69 if((IDX = find_type_unique(c_num_uniques, h_uniques->m_p, c_type)) != c_num_uniques)
72 _aclspv_grow_vec_with_copy(_aclspv_malloc, _aclspv_free, _aclspv_memcpy, L_new, *h_uniques
73 , (size_t)(c_num_uniques + 1) * (size_t)
sizeof(c_num_uniques));
76 return c_num_uniques + 1;
79 c_num_uniques[(util_type_unique*
ae2f_restrict)h_uniques->m_p].m_type = c_type;
80 c_num_uniques[(util_type_unique*
ae2f_restrict)h_uniques->m_p].m_id = 0;
#define ae2f_unexpected_but_if(a)
#define ae2f_expected_but_else(a)
#define ae2f_restrict
Keyword as restrict on C99.
#define ae2f_inline
inline
#define aclspv_wrd_t
integer as word