C++: Add more test cases for indirection (4).

This commit is contained in:
Geoffrey White
2024-03-13 15:54:15 +00:00
parent 23da0c16c7
commit 6019a38266
3 changed files with 30 additions and 19 deletions

View File

@@ -136,6 +136,8 @@ int madArg0FieldToReturn(MyContainer mc); // $ interpretElement
int madArg0IndirectFieldToReturn(MyContainer *mc); // $ interpretElement
int madArg0FieldIndirectToReturn(MyContainer mc); // $ interpretElement
MyContainer madArg0ToReturnField(int x); // $ interpretElement
MyContainer *madArg0ToReturnIndirectField(int x); // $ interpretElement
MyContainer madArg0ToReturnFieldIndirect(int x); // $ interpretElement
void test_summaries() {
// test summaries
@@ -182,6 +184,13 @@ void test_summaries() {
sink(madArg0ToReturnField(0).value);
sink(madArg0ToReturnField(source()).value); // $ MISSING: ir
MyContainer *rtn1 = madArg0ToReturnIndirectField(source());
sink(rtn1->value); // $ MISSING: ir
MyContainer rtn2 = madArg0ToReturnFieldIndirect(source());
int *rtn2_ptr = rtn2.ptr;
sink(*rtn2_ptr); // $ MISSING: ir
// test source + sinks + summaries together
madSinkArg0(madArg0ToReturn(remoteMadSource())); // $ ir