Currently, oeedger8er generates Function IDs and ECALL/OCALL marshalling structs under _u.h / _t.h (was under _args.h before #2691). However, these data types are only used by the bridging functions that _t.c / _u.c implements and therefore should not be visible to files that include _u.h / _t.h. As a result, we should consider moving the definition of those data types to _t.c / _u.c.
I tried to move marshalling structs into the .c files, but the test/oeedger8r test assumes it has access to all of these structures.
I still think we should do this, but the test dependency makes it less straight forward.
I tried to move marshalling structs into the .c files, but the test/oeedger8r test assumes it has access to all of these structures.
I still think we should do this, but the test dependency makes it less straight forward.
If this is the case, we should also modify the test. Can you provide some examples?
For example in tests/oeedger8r/host/testbasic.cpp:
char ocall_ret_char()
{
check_return_type<ocall_ret_char_args_t, char>();
return '?';
}
There are many other cases of this
I agree the test needs to be changed. I just thought it was going to be a quick fix and didn't have time to unravel what I found :smile:
Will this issue be your blocker? If so, I can help 馃槃
No I'm not blocked on it for now :smile: Thanks!