diff options
| author | Yong He <yonghe@outlook.com> | 2022-08-04 14:05:02 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-04 14:05:02 -0700 |
| commit | 11b29eff99910d55a54658b8a1d053cc4ec076fc (patch) | |
| tree | ac82bef698df94f74a788cdc160dfd30472fb601 /tests/cpu-program | |
| parent | e43ef82e288afe486f45ef2736d378e88f40cc90 (diff) | |
Implicit pointer dereference when using member operator. (#2348)
* Implicit pointer dereference when using member operator.
* Add expected test result
* Fix lookup.
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/cpu-program')
| -rw-r--r-- | tests/cpu-program/pointer-deref.slang | 33 | ||||
| -rw-r--r-- | tests/cpu-program/pointer-deref.slang.expected | 6 |
2 files changed, 39 insertions, 0 deletions
diff --git a/tests/cpu-program/pointer-deref.slang b/tests/cpu-program/pointer-deref.slang new file mode 100644 index 000000000..34c6ba97f --- /dev/null +++ b/tests/cpu-program/pointer-deref.slang @@ -0,0 +1,33 @@ +//TEST:EXECUTABLE: +__target_intrinsic(cpp, "printf(\"%s\\n\", ($0).getBuffer())") +void writeln(String text); + +struct SubRecord +{ + int field2; + float field3; +} + +struct Record +{ + int field; + SubRecord sub; +} + +public __extern_cpp int main() +{ + Record rec; + Record *pRec = &rec; + pRec.field = 1; + pRec.sub.field2 = 2; + pRec.sub.field3 = 3.0f; + if (rec.field == 1 && rec.sub.field2 == 2 && pRec.sub.field3 == 3.0f) + { + writeln("success"); + } + else + { + writeln("fail"); + } + return 0; +}
\ No newline at end of file diff --git a/tests/cpu-program/pointer-deref.slang.expected b/tests/cpu-program/pointer-deref.slang.expected new file mode 100644 index 000000000..0eb55acbf --- /dev/null +++ b/tests/cpu-program/pointer-deref.slang.expected @@ -0,0 +1,6 @@ +result code = 0 +standard error = { +} +standard output = { +success +} |
