Skip to content

Instantly share code, notes, and snippets.

@michaelbartnett
Created March 4, 2016 05:33
Show Gist options
  • Select an option

  • Save michaelbartnett/a709c20490621d48154c to your computer and use it in GitHub Desktop.

Select an option

Save michaelbartnett/a709c20490621d48154c to your computer and use it in GitHub Desktop.
can't tell if compiler bug or undefined behavior
DynArray<TypeMember> clone(const DynArray<TypeMember> &memberset)
{
DynArray<TypeMember> result = dynarray_init<TypeMember>(memberset.count);
for (u32 i = 0; i < memberset.count; ++i)
{
TypeMember *dest_member = append(&result);
ZERO_PTR(dest_member);
NameRef newname = src_member->name;
printf_ln("[%i] 2 Members count... %i, srcdata address %px destdata address %px memberset address %px"
"\n dest_member == memberset ? %i",
i, memberset.count, memberset.data, result.data, &memberset,
(char *)dest_member == (char *)&memberset);
dest_member->name = newname;
printf_ln("[%i] 3 Members count... %i, srcdata address %px destdata address %px memberset address %px"
"\n dest_member == memberset ? %i"
"\n--------------",
i, memberset.count, memberset.data, result.data, &memberset,
(char *)dest_member == (char *)&memberset);
}
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment