From d32f97238c903765dec4e9a9f3cbfa5fd12cded6 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Mon, 10 Aug 2026 11:11:18 -0700 Subject: Chapter 25: Modules, Separate Compilation, and SSA Construction Co-authored-by: Hsiang-Ying Fu <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: fuhsnn <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: Symious <14933944+symious@users.noreply.github.com> Co-authored-by: Jun Kawasaki Co-authored-by: Claude Opus 5 --- .../com/seaofnodes/simple/spill/Chapter23Test-testAndPtr.smp | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/test/java/com/seaofnodes/simple/spill/Chapter23Test-testAndPtr.smp (limited to 'src/test/java/com/seaofnodes/simple/spill/Chapter23Test-testAndPtr.smp') diff --git a/src/test/java/com/seaofnodes/simple/spill/Chapter23Test-testAndPtr.smp b/src/test/java/com/seaofnodes/simple/spill/Chapter23Test-testAndPtr.smp new file mode 100644 index 00000000..a1e4e9ab --- /dev/null +++ b/src/test/java/com/seaofnodes/simple/spill/Chapter23Test-testAndPtr.smp @@ -0,0 +1,12 @@ +{i32 i64 u32 -> u32} write="C"; +val _p={u8[~] str -> i64 ptr=str; return write(1,ptr,str#);}; +struct _S { !_S? !fld; new _S={ !_S? f -> fld=f; }; }; + +val ptr = arg == 1 ? null : new _S(arg==1 ? null : new _S(null)); +if( ptr && ptr.fld ) { + _p("true"); +} else { + _p("false"); +} + +return 0; -- cgit v1.2.3