require data field members when looking for links w/ list lens; config node ptr lists need dll

This commit is contained in:
Ryan Fleury
2025-10-16 15:57:43 -07:00
parent 0f277d6e6e
commit 52680a81fe
3 changed files with 14 additions and 2 deletions
+2 -2
View File
@@ -31,7 +31,7 @@ internal void
cfg_node_ptr_list_push(Arena *arena, CFG_NodePtrList *list, CFG_Node *node)
{
CFG_NodePtrNode *n = push_array(arena, CFG_NodePtrNode, 1);
SLLQueuePush(list->first, list->last, n);
DLLPushBack(list->first, list->last, n);
list->count += 1;
n->v = node;
}
@@ -40,7 +40,7 @@ internal void
cfg_node_ptr_list_push_front(Arena *arena, CFG_NodePtrList *list, CFG_Node *node)
{
CFG_NodePtrNode *n = push_array(arena, CFG_NodePtrNode, 1);
SLLQueuePushFront(list->first, list->last, n);
DLLPushFront(list->first, list->last, n);
list->count += 1;
n->v = node;
}
+4
View File
@@ -2744,6 +2744,10 @@ E_TYPE_IREXT_FUNCTION_DEF(list)
{
for EachIndex(idx, node_type->count)
{
if(node_type->members[idx].kind != E_MemberKind_DataField)
{
continue;
}
E_TypeKey member_type_key = node_type->members[idx].type_key;
E_TypeKey member_type_key_undecorated = e_type_key_unwrap(member_type_key, E_TypeUnwrapFlag_AllDecorative);
E_TypeKey member_ptee_type_key = e_type_key_unwrap(member_type_key_undecorated, E_TypeUnwrapFlag_All);
+8
View File
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
#include <unordered_map>
#include <memory>
#if !_WIN32
# define RADDBG_MARKUP_STUBS
@@ -663,6 +664,13 @@ type_coverage_eval_tests(void)
int_vector.push_back(6);
int_vector.push_back(7);
std::unordered_map<std::string, int> people =
{
{"Peter", 1},
{"Oliver", 2},
{"Jack", 3},
};
std::vector<int> *pint_vector = &int_vector;
std::vector<int> &rint_vector = int_vector;