aclcur #8

Merged
dalmurii merged 31 commits from aclcur into master 2026-10-08 01:27:49 +00:00
Owner

THIS SHOULD BE MARKED AS A REMINDER HOW A CHANGE OF REQUIREMENTS COULD COST

jokes aside:
make middleware which is VERY similar to spir-v to make emission more dynamic without copying ALL blocks while pushing middle-where of emission buffer.
after this, aclcur is expected to have responsibility to emit the final function implementation block.

function declaration & function signature emit handling will be also changed.
function parameters will now be handled by aclcur reg explicitly, while signature would be handled differently somewhere.

# THIS SHOULD BE MARKED AS A REMINDER HOW A CHANGE OF REQUIREMENTS COULD COST jokes aside: make middleware which is VERY similar to spir-v to make emission more dynamic without copying ALL blocks while pushing middle-where of emission buffer. after this, aclcur is expected to have responsibility to emit the final function implementation block. function declaration & function signature emit handling will be also changed. function parameters will now be handled by aclcur reg explicitly, while signature would be handled differently somewhere.
On branch aclcur
 Changes to be committed:
	- modified:   CMakeLists.txt
	- modified:   inc/aclspv.h
	- modified:   lib/aclconst/specop.c
	- modified:   lib/aclconst/specop.h
	- new file:   lib/aclcur.h
	- new file:   lib/aclcur/class.h
	- new file:   lib/aclcur/common.c
	- new file:   lib/aclcur/common.h
	- new file:   lib/aclcur/flag0.h
	- new file:   lib/aclcur/j.c
	- new file:   lib/aclcur/j.h
	- new file:   lib/aclcur/j/emit.c
	- new file:   lib/aclcur/j/emit.h
	- new file:   lib/aclcur/jc.c
	- new file:   lib/aclcur/jc.h
	- new file:   lib/aclcur/jc/emit.c
	- new file:   lib/aclcur/jc/emit.h
	- new file:   lib/aclcur/lbl.c
	- new file:   lib/aclcur/lbl.h
	- new file:   lib/aclcur/lbl/dfs.c
	- new file:   lib/aclcur/lbl/dfs.h
	- new file:   lib/aclcur/lbl/emit.c
	- new file:   lib/aclcur/lbl/reach.c
	- new file:   lib/aclcur/lbl/reach.h
	- new file:   lib/aclcur/load.c
	- new file:   lib/aclcur/load.h
	- new file:   lib/aclcur/phi.c
	- new file:   lib/aclcur/phi.h
	- new file:   lib/aclcur/reg.c
	- new file:   lib/aclcur/reg.h
	- new file:   lib/aclcur/ret.h
	- new file:   lib/aclcur/store.c
	- new file:   lib/aclcur/store.h
	- new file:   lib/aclcur/util.h
	- deleted:    lib/aclcursor.c
	- deleted:    lib/aclcursor.h
	- deleted:    lib/aclcursor/decl.h
	- deleted:    lib/aclcursor/def.h
	- deleted:    lib/aclcursor/phi.h
	- deleted:    lib/aclcursor/vardecl.c
	- deleted:    lib/aclcursor/vardecl.h
	- deleted:    lib/aclcursor/vardecl/assign.c
	- deleted:    lib/aclcursor/vardecl/phi.c
	- modified:   lib/aclemit/body.c
	- modified:   lib/aclemit/fndecl/entp/args.c
	- modified:   lib/aclemit/fndecl/entp/cfg.c
	- modified:   lib/aclexpr/arithmetic_cast.c
	- modified:   lib/aclexpr/beforevisit/bool1.c
	- modified:   lib/aclexpr/carve/op2/bool0.c
	- modified:   lib/aclexpr/visit.c
	- modified:   lib/aclexpr/visit/simple.h
	- modified:   lib/aclmem.h
	- modified:   lib/aclty/by_cursor.c
	- modified:   lib/aclty/by_type.c
	- modified:   lib/aclty/struct/mbr.c
	- modified:   lib/aclty/vec.c
	- modified:   lib/aclty/vec.h
	- new file:   lib/aclutil/emitx.h
	- new file:   lib/aclutil/op.h
	- modified:   lib/ctx/conf.h
	- modified:   lib/ctx/init_fini.c
	- modified:   lib/util/capability.h
	- modified:   lib/util/constant.c
	- modified:   lib/util/constant.h
	- deleted:    lib/util/constant/alias.c
	- deleted:    lib/util/constant/ptr.c
	- modified:   lib/util/constant/repvec.c
	- modified:   lib/util/constant/spec.c
	- modified:   lib/util/emitx.h
	- modified:   lib/util/fn.h
	- modified:   lib/util/fnctx/defs.h
	- modified:   lib/util/iddef.c
	- modified:   lib/util/literal.h
	- modified:   lib/util/op.h
	- modified:   lib/util/vec.c
	- modified:   src/lib/body/vardecl.c
	- modified:   test/inc/acltest/compile.h
- lib/util/constant/alias.c

 Changes to be committed:
	- modified:   CMakeLists.txt
	- modified:   inc/aclspv.h
	- modified:   lib/aclconst/specop.c
	- modified:   lib/aclconst/specop.h
	- new file:   lib/aclcur.h
	- new file:   lib/aclcur/class.h
	- new file:   lib/aclcur/common.c
	- new file:   lib/aclcur/common.h
	- new file:   lib/aclcur/flag0.h
	- new file:   lib/aclcur/j.c
	- new file:   lib/aclcur/j.h
	- new file:   lib/aclcur/j/emit.c
	- new file:   lib/aclcur/j/emit.h
	- new file:   lib/aclcur/jc.c
	- new file:   lib/aclcur/jc.h
	- new file:   lib/aclcur/jc/emit.c
	- new file:   lib/aclcur/jc/emit.h
	- new file:   lib/aclcur/lbl.c
	- new file:   lib/aclcur/lbl.h
	- new file:   lib/aclcur/lbl/dfs.c
	- new file:   lib/aclcur/lbl/dfs.h
	- new file:   lib/aclcur/lbl/emit.c
	- new file:   lib/aclcur/lbl/reach.c
	- new file:   lib/aclcur/lbl/reach.h
	- new file:   lib/aclcur/load.c
	- new file:   lib/aclcur/load.h
	- new file:   lib/aclcur/load/get.c
	- new file:   lib/aclcur/load/get.h
	- new file:   lib/aclcur/op1.h
	- new file:   lib/aclcur/phi.c
	- new file:   lib/aclcur/phi.h
	- new file:   lib/aclcur/reg.c
	- new file:   lib/aclcur/reg.h
	- new file:   lib/aclcur/ret.c
	- new file:   lib/aclcur/ret.h
	- new file:   lib/aclcur/ret/emit.c
	- new file:   lib/aclcur/ret/emit.h
	- new file:   lib/aclcur/store.c
	- new file:   lib/aclcur/store.h
	- new file:   lib/aclcur/util.h
	- deleted:    lib/aclcursor.c
	- deleted:    lib/aclcursor.h
	- deleted:    lib/aclcursor/decl.h
	- deleted:    lib/aclcursor/def.h
	- deleted:    lib/aclcursor/phi.h
	- deleted:    lib/aclcursor/vardecl.c
	- deleted:    lib/aclcursor/vardecl.h
	- deleted:    lib/aclcursor/vardecl/assign.c
	- deleted:    lib/aclcursor/vardecl/phi.c
	- modified:   lib/aclemit/body.c
	- modified:   lib/aclemit/fndecl/body.c
	- modified:   lib/aclemit/fndecl/entp.c
	- modified:   lib/aclemit/fndecl/entp/args.c
	- modified:   lib/aclemit/fndecl/entp/cfg.c
	- modified:   lib/aclexpr/arithmetic_cast.c
	- modified:   lib/aclexpr/beforevisit/bool1.c
	- modified:   lib/aclexpr/carve/op2/bool0.c
	- modified:   lib/aclexpr/visit.c
	- modified:   lib/aclexpr/visit/simple.h
	- modified:   lib/aclmem.h
	- modified:   lib/aclty/by_cursor.c
	- modified:   lib/aclty/by_type.c
	- modified:   lib/aclty/struct/mbr.c
	- modified:   lib/aclty/vec.c
	- modified:   lib/aclty/vec.h
	- new file:   lib/aclutil/emitx.h
	- new file:   lib/aclutil/op.h
	- modified:   lib/ctx/conf.h
	- modified:   lib/ctx/init_fini.c
	- modified:   lib/util/capability.h
	- modified:   lib/util/constant.c
	- modified:   lib/util/constant.h
	- deleted:    lib/util/constant/alias.c
	- deleted:    lib/util/constant/ptr.c
	- modified:   lib/util/constant/repvec.c
	- modified:   lib/util/constant/spec.c
	- modified:   lib/util/emitx.h
	- modified:   lib/util/fn.h
	- modified:   lib/util/fnctx/defs.h
	- modified:   lib/util/iddef.c
	- modified:   lib/util/literal.h
	- modified:   lib/util/op.h
	- modified:   lib/util/vec.c
	- modified:   src/lib/body/vardecl.c
	- modified:   test/inc/acltest/compile.h
Changes to be committed:
	- modified:   lib/aclcur/load.c
	- modified:   lib/aclcur/load/get.c
	- modified:   lib/aclcur/reg.c
	- modified:   lib/aclcur/reg.h
	- modified:   lib/aclcur/store.c
add: operation emitter
fix: too strict pointer element requirement (that should have been primitive)

 Changes to be committed:
	- modified:   lib/aclconst/specop.c
	- modified:   lib/aclcur/class.h
	- modified:   lib/aclcur/common.h
	- modified:   lib/aclcur/load/get.c
	- new file:   lib/aclcur/op.h
	- new file:   lib/aclcur/op/emit.c
	- new file:   lib/aclcur/op/emit.h
	- new file:   lib/aclcur/op1.c
	- deleted:    lib/aclcur/op1.h
	- modified:   lib/aclcur/reg.h
	- modified:   lib/aclty/ptr.c
	- modified:   lib/aclutil/op.h
Changes to be committed:
	- modified:   lib/aclcur/op.h
	- modified:   lib/aclcur/op1.c
	- new file:   lib/aclcur/op2.c
	- modified:   lib/aclutil/op.h
Changes to be committed:
	- modified:   CMakeLists.txt
	- modified:   inc/aclspv.h
	- modified:   lib/aclcur/class.h
	- modified:   lib/aclcur/common.c
	- modified:   lib/aclcur/common.h
	- new file:   lib/aclcur/emit.c
	- new file:   lib/aclcur/emit.h
	- modified:   lib/aclcur/jc.c
	- modified:   lib/aclcur/jc.h
	- modified:   lib/aclcur/jc/emit.c
	- modified:   lib/aclcur/lbl.c
	- modified:   lib/aclcur/lbl.h
	- modified:   lib/aclcur/lbl/dfs.c
	- modified:   lib/aclcur/lbl/emit.c
	- modified:   lib/aclcur/load.c
	- modified:   lib/aclcur/load.h
	- modified:   lib/aclcur/load/get.c
	- modified:   lib/aclcur/op.h
	- modified:   lib/aclcur/op1.c
	- modified:   lib/aclcur/op2.c
	- new file:   lib/aclcur/op3.c
	- new file:   lib/aclcur/opX.c
	- new file:   lib/aclcur/opX.h
	- new file:   lib/aclcur/opX/emit.c
	- new file:   lib/aclcur/opX/emit.h
	- modified:   lib/aclcur/phi.c
	- modified:   lib/aclcur/phi.h
	- modified:   lib/aclcur/reg.c
	- modified:   lib/aclcur/reg.h
	- new file:   lib/aclcur/reg/var.c
	- new file:   lib/aclcur/reg/var.h
	- modified:   lib/aclcur/ret/emit.c
	- new file:   lib/aclcur/ssa.h
	- modified:   lib/aclcur/store.c
	- modified:   lib/aclemit/body.c
	- modified:   lib/aclemit/fndecl/body.c
	- modified:   lib/aclemit/fndecl/entp.c
	- modified:   lib/aclemit/fndecl/entp/args.c
	- modified:   lib/aclemit/root.c
	- modified:   lib/aclexpr/arithmetic_cast.c
	- modified:   lib/aclexpr/beforevisit/bool1.c
	- modified:   lib/aclexpr/carve.c
	- modified:   lib/aclexpr/carve/op1/arithmetic_cast.c
	- modified:   lib/aclexpr/carve/op1/incr.c
	- modified:   lib/aclexpr/carve/op2/arithmetic.c
	- modified:   lib/aclexpr/carve/op2/assign.c
	- modified:   lib/aclexpr/carve/op2/bool0.c
	- modified:   lib/aclexpr/carve/op2/bool1.c
	- new file:   lib/aclexpr/curreg.h
	- modified:   lib/aclexpr/visit/simple.h
	- modified:   lib/aclty/struct/mbr.c
	- modified:   lib/ctx/compile.c
	- modified:   lib/ctx/init_fini.c
	- modified:   lib/util/constant/repvec.c
	- modified:   src/lib/body/if.c
	- modified:   src/lib/body/vardecl.c
	- modified:   src/lib/body/while.cc
Changes to be committed:
	- modified:   lib/aclcur/emit.c
	- modified:   lib/aclcur/flag0.h
	- modified:   lib/aclcur/lbl.c
	- modified:   lib/aclcur/lbl.h
	- modified:   lib/aclcur/lbl/reach.c
	- modified:   lib/aclcur/lbl/reach.h
	- modified:   lib/aclcur/load.c
	- modified:   lib/aclcur/reg/var.c
	- modified:   lib/aclcur/ssa.h
	- modified:   lib/aclemit/body.c
	- modified:   lib/aclemit/fndecl/body.c
	- modified:   lib/aclexpr.c
	- modified:   lib/aclexpr/carve/op1/arithmetic_cast.c
	- modified:   lib/aclexpr/carve/op2/arithmetic.c
	- modified:   lib/aclexpr/op.h
	- modified:   lib/aclexpr/visit/op2/arithmetic.h
	- modified:   src/lib/body/while.cc
	- modified:   src/source.cl
Changes to be committed:
	- modified:   inc/aclspv.h
	- modified:   lib/aclcur/emit.h
	- modified:   lib/aclcur/jc.c
	- modified:   lib/aclcur/op/emit.c
	- modified:   lib/aclcur/op2.c
	- modified:   lib/aclcur/op3.c
	- modified:   lib/aclcur/opX.c
	- modified:   lib/aclcur/opX.h
	- modified:   lib/aclcur/opX/emit.c
	- modified:   lib/aclcur/opX/emit.h
	- modified:   lib/aclcur/phi.c
	- modified:   lib/aclcur/reg/var.h
	- modified:   lib/aclcur/ssa.h
	- modified:   lib/aclexpr/curreg.h
	- modified:   lib/aclmem.h
	- modified:   lib/aclty/struct/mbr.c
	- modified:   lib/ctx/compile.c
	- modified:   lib/ctx/dump.c
	- modified:   lib/ctx/init_fini.c
	- modified:   test/lifespan/compiler-run-multiple.c
	- modified:   test/lifespan/compiler-run.c
Changes to be committed:
	- modified:   lib/aclcur/load.c
	- modified:   lib/aclcur/store.c
	- modified:   lib/aclexpr/carve/op1/incr.c
	- modified:   lib/aclexpr/carve/op2/arithmetic.c
	- modified:   lib/aclexpr/carve/op2/assign.c
Changes to be committed:
	- modified:   lib/aclcur/store.c
	- modified:   lib/aclexpr/carve/op2/arithmetic.c
	- modified:   lib/aclexpr/carve/op2/assign.c
	- modified:   lib/aclexpr/visit.c
	- modified:   lib/aclexpr/visit/op2/arithmetic.h
	- modified:   lib/aclexpr/visit/simple.h
	- modified:   lib/util/constant.h
	- modified:   src/source.cl
Changes to be committed:
	- modified:   lib/aclexpr/carve.c
	- modified:   lib/aclexpr/carve/op2/arithmetic.c
	- new file:   lib/aclexpr/carve/op2/cmp.c
	- new file:   lib/aclexpr/carve/op2/cmp.h
	- modified:   lib/aclexpr/visit.c
	- modified:   lib/aclexpr/visit/op2/arithmetic.h
	- new file:   lib/aclexpr/visit/op2/cmp.h
Changes to be committed:
	- modified:   lib/aclexpr/carve/op2/bool0.c
Changes to be committed:
	- modified:   lib/aclexpr/carve.c
	- new file:   lib/aclexpr/carve/op2/shift.c
	- new file:   lib/aclexpr/carve/op2/shift.h
	- modified:   lib/aclexpr/op.h
	- modified:   lib/aclexpr/visit.c
	- new file:   lib/aclexpr/visit/op2/shift.h
	- modified:   src/source.cl
	- modified:   test/inc/acltest/onefile.h
Changes to be committed:
	- modified:   ACL.md
	- modified:   lib/aclcur/opX.c
	- modified:   lib/aclcur/opX.h
	- modified:   lib/aclexpr/carve.c
	- new file:   lib/aclexpr/carve/opn/initlist.c
	- new file:   lib/aclexpr/carve/opn/initlist.h
	- modified:   lib/aclexpr/op.h
	- modified:   lib/aclexpr/visit.c
	- new file:   lib/aclexpr/visit/opn/initlist.h
	- modified:   lib/aclty/arr.c
	- modified:   src/lib/body/vardecl.c
	- modified:   src/source.cl
add: member read|write		[WIP]
fix: assign now can be value	[WIP]
add: intlist

 Changes to be committed:
	- modified:   CMakeLists.txt
	- modified:   inc/aclspv.h
	- modified:   lib/aclcur/op.h
	- new file:   lib/aclcur/op1i.c
	- new file:   lib/aclcur/op2i.c
	- modified:   lib/aclexpr/carve.c
	- new file:   lib/aclexpr/carve/op1/memberread.c
	- new file:   lib/aclexpr/carve/op1/memberread.h
	- modified:   lib/aclexpr/carve/op2/assign.c
	- new file:   lib/aclexpr/carve/op2/memberwrite.c
	- new file:   lib/aclexpr/carve/op2/memberwrite.h
	- modified:   lib/aclexpr/carve/opn/initlist.c
	- modified:   lib/aclexpr/op.h
	- modified:   lib/aclexpr/visit.c
	- new file:   lib/aclexpr/visit/op1/memberread.h
	- modified:   lib/aclexpr/visit/op2/assign.h
	- modified:   lib/aclexpr/visit/opn/initlist.h
	- modified:   lib/aclexpr/visit/simple.h
	- modified:   lib/aclty/by_cursor.c
	- modified:   lib/aclty/struct.c
	- modified:   lib/aclty/struct.h
	- modified:   lib/aclty/struct/mbr.c
	- modified:   src/source.cl
	- modified:   test/inc/acltest/onefile.h
Changes to be committed:
	- deleted:    inc/aclspv3rd/clang/errcode.h
	- deleted:    inc/aclspv3rd/clang/extern-c.h
	- deleted:    inc/aclspv3rd/clang/file.h
	- deleted:    inc/aclspv3rd/clang/idx.h
	- deleted:    inc/aclspv3rd/clang/platform.h
	- deleted:    inc/aclspv3rd/clang/str.h
	- deleted:    inc/aclspv3rd/spirv-unified1.h
Changes to be committed:
-	modified:   lib/aclattr/btcast.h
-	modified:   lib/aclattr/execmodel.h
-	modified:   lib/aclemit/fndecl/entp/cfg.c
-	modified:   lib/util/visitfromroot.h
-	modified:   src/lib/attr/rdattr.cc
Changes to be committed:
	- modified:   CMakeLists.txt
	- modified:   inc/aclspv.h
	- modified:   lib/aclcur/op1i.c
	- modified:   lib/aclcur/op2i.c
	- modified:   lib/aclcur/opX/emit.c
	- modified:   lib/aclemit/fndecl/entp/args.c
	- modified:   lib/aclexpr/carve.c
	- modified:   lib/aclexpr/carve/op1/incr.c
	- modified:   lib/aclexpr/carve/op1/memberread.c
	- modified:   lib/aclexpr/carve/op1/memberread.h
	- modified:   lib/aclexpr/carve/op2/cmp.c
	- modified:   lib/aclexpr/carve/op2/cmp.h
	- modified:   lib/aclexpr/carve/op2/memberwrite.c
	- modified:   lib/aclexpr/carve/op2/memberwrite.h
	- modified:   lib/aclexpr/carve/opn/initlist.h
	- modified:   lib/aclexpr/visit/op1/arithmetic_cast.h
	- modified:   lib/aclexpr/visit/op2/cmp.h
	- modified:   lib/aclexpr/visit/op2/shift.h
	- modified:   lib/aclmem/util.h
Changes to be committed:
	- modified:   CMakeLists.txt
Changes to be committed:
	- modified:   CMakeLists.txt
	- modified:   test/lifespan/compiler-run.c
fix: __AVX2__ check for aclmem

 Changes to be committed:
	- modified:   lib/aclexpr/carve/op2/memberwrite.c
	- modified:   lib/aclexpr/visit/op1/memberread.h
	- modified:   lib/aclexpr/visit/op2/assign.h
	- modified:   lib/aclmem.h
	- modified:   lib/aclmem/util.h
	- modified:   lib/aclty/by_cursor.c
fix: stabilities

 Changes to be committed:
	- modified:   lib/aclexpr/carve/op2/memberwrite.c
	- modified:   lib/aclmem/memzero.c
	- modified:   lib/aclmem/util.h
fix:		c++ api integration
remove:		narrower of language

 Changes to be committed:
	- modified:   CMakeLists.txt
	- modified:   inc/aclspv.hh
	- modified:   lib/aclmem/util.h
	- new file:   lib/aclmem/util/varch.h
	- modified:   lib/compiler-args.h
	- modified:   src/ocl.h
	- modified:   src/source.cl
	- renamed:    test/lifespan/compiler-run.c -> test/compile/gl-logical.c
	- renamed:    test/lifespan/compiler-run.cc -> test/compile/gl-logical.cc
	- new file:   test/compile/vk-phy32.cc
	- new file:   test/compile/vk-phy64.cc
	- modified:   test/inc/acltest/compile.h
	- modified:   test/inc/acltest/onefile.h
	- deleted:    test/lifespan/compiler-run-multiple.c
fix: uint_leastenum to wrd_t
fix: test case names now expose which version of spir-v they're emitting

 Changes to be committed:
	- modified:   inc/aclspv.h
	- modified:   inc/aclspv.hh
	- renamed:    test/compile/gl-logical.c -> test/compile/gl-logic.1.0.c
	- renamed:    test/compile/vk-phy64.cc -> test/compile/gl-logic.1.3.cc
	- renamed:    test/compile/vk-phy32.cc -> test/compile/vk-phy32.1.3.cc
	- renamed:    test/compile/gl-logical.cc -> test/compile/vk-phy64.1.3.cc
fix: `aclcur_reg_alias2` sets it on the parent
fix: verified `ACLCUR_FLAG0_REG_ALLOCATED` working

 Changes to be committed:
	- modified:   CMakeLists.txt
	- new file:   lib/aclctx/err.h
	- new file:   lib/aclctx/id.h
	- modified:   lib/aclcur/reg.c
	- modified:   lib/aclcur/reg.h
	- modified:   lib/aclcur/reg/var.c
	- modified:   lib/aclcur/reg/var.h
	- new file:   lib/aclcur/reg/view.c
	- new file:   lib/aclcur/reg/view.h
	- modified:   lib/aclemit/fndecl/entp.c
	- modified:   lib/aclemit/fndecl/entp/args.c
	- modified:   lib/aclemit/fndecl/entp/args.h
	- deleted:    lib/util/bind.h
	- modified:   lib/util/entp.h
	- modified:   src/lib/body/vardecl.c
	- modified:   src/source.cl
	- new file:   test/compile/gl-logic.1.4.cc
Changes to be committed:
	- modified:   CMakeLists.txt
	- modified:   inc/aclspv.h
	- modified:   lib/aclemit/fndecl/entp/args.c
	- modified:   lib/aclexpr/carve.c
	- new file:   lib/aclexpr/carve/lvalue.c
	- new file:   lib/aclexpr/carve/lvalue.h
	- new file:   lib/aclexpr/carve/op1/addr.c
	- new file:   lib/aclexpr/carve/op1/addr.h
	- new file:   lib/aclexpr/carve/op1/deref.c
	- new file:   lib/aclexpr/carve/op1/deref.h
	- modified:   lib/aclexpr/carve/op1/incr.c
	- new file:   lib/aclexpr/carve/op1/subscript.c
	- new file:   lib/aclexpr/carve/op1/subscript.h
	- modified:   lib/aclexpr/carve/op2/arithmetic.c
	- modified:   lib/aclexpr/carve/op2/cmp.c
	- new file:   lib/aclexpr/carve/op2/derefwrite.c
	- new file:   lib/aclexpr/carve/op2/derefwrite.h
	- new file:   lib/aclexpr/carve/op2/subscriptwrite.c
	- new file:   lib/aclexpr/carve/op2/subscriptwrite.h
	- modified:   lib/aclexpr/op.h
	- modified:   lib/aclexpr/visit.c
	- new file:   lib/aclexpr/visit/op1/addr.h
	- new file:   lib/aclexpr/visit/op1/deref.h
	- new file:   lib/aclexpr/visit/op1/subscript.h
	- new file:   lib/aclexpr/visit/op1/unary.h
	- modified:   lib/aclexpr/visit/op2/assign.h
Changes to be committed:
	- modified:   inc/aclspv.h
	- modified:   lib/aclcur/class.h
	- modified:   lib/aclcur/emit.c
	- modified:   lib/aclcur/op.h
	- modified:   lib/aclcur/op/emit.c
	- modified:   lib/aclcur/op/emit.h
	- new file:   lib/aclcur/op1r.c
	- new file:   lib/aclcur/st.c
	- modified:   lib/aclexpr/carve.c
	- new file:   lib/aclexpr/carve/op1/deref.c
	- new file:   lib/aclexpr/carve/op1/deref.h
	- modified:   lib/aclexpr/carve/op1/incr.c
	- modified:   lib/aclexpr/carve/op2/arithmetic.c
	- new file:   lib/aclexpr/carve/op2/derefwrite.c
	- new file:   lib/aclexpr/carve/op2/derefwrite.h
	- new file:   lib/aclexpr/carve/ptr.h
	- modified:   lib/aclexpr/op.h
	- modified:   lib/aclexpr/visit.c
	- new file:   lib/aclexpr/visit/op1/deref.h
	- modified:   lib/aclexpr/visit/op2/assign.h
	- modified:   src/source.cl
	- modified:   test/compile/gl-logic.1.3.cc
	- modified:   test/compile/gl-logic.1.4.cc
	- modified:   test/compile/vk-phy32.1.3.cc
	- modified:   test/compile/vk-phy64.1.3.cc
Changes to be committed:
	- modified:   inc/aclspv.h
	- modified:   lib/aclcur/load.c
	- modified:   lib/aclcur/op.h
	- modified:   lib/aclcur/op1r.c
	- modified:   lib/aclcur/reg/view.c
	- modified:   lib/aclexpr/carve.c
	- modified:   lib/aclexpr/carve/op1/deref.c
	- new file:   lib/aclexpr/carve/op1/subscript.c
	- new file:   lib/aclexpr/carve/op1/subscript.h
	- modified:   lib/aclexpr/carve/op2/derefwrite.c
	- modified:   lib/aclexpr/carve/ptr.h
	- modified:   lib/aclexpr/curreg.h
	- modified:   lib/aclexpr/op.h
	- modified:   lib/aclexpr/visit.c
	- new file:   lib/aclexpr/visit/op1/subscript.h
	- modified:   lib/aclexpr/visit/op2/assign.h
	- modified:   src/source.cl
Changes to be committed:
	- modified:   ACL.md
	- modified:   lib/aclexpr/carve/op1/deref.c
	- modified:   lib/aclexpr/carve/op1/subscript.c
	- modified:   lib/aclexpr/op.h
	- modified:   lib/aclexpr/visit/op1/subscript.h
	- modified:   src/source.cl
Changes to be committed:
	-modified:   inc/aclspv.h
	-modified:   inc/aclspv.hh
	-new file:   lib/aclcfg/ptr.h
	-modified:   lib/aclexpr/carve/ptr.h
	-modified:   lib/aclty/arr.c
	-modified:   lib/aclty/ptr.c
	-modified:   lib/aclty/struct.c
	-renamed:    lib/util/capability.h -> lib/aclutil/capability.h
	-renamed:    lib/util/extension.h -> lib/aclutil/extension.h
	-modified:   lib/ctx/conf.h
	-modified:   lib/ctx/init_fini.c
	-modified:   lib/util/iddef.c
	-modified:   test/compile/gl-logic.1.3.cc
	-modified:   test/compile/gl-logic.1.4.cc
	-renamed:    test/compile/gl-logic.1.0.c -> test/compile/gl-simple.1.0.c
	-modified:   test/compile/vk-phy32.1.3.cc
	-modified:   test/compile/vk-phy64.1.3.cc
differs from the original.

add: type_by_cursor now takes the interface for memory-layout-specific
behaviour
add: gl-logic.1.0.cc

 Changes to be committed:
	- modified:   lib/aclemit/fndecl/entp.c
	- modified:   lib/aclemit/fndecl/entp/args.c
	- modified:   lib/aclemit/fndecl/entp/args.h
	- modified:   lib/aclexpr/visit/op1/arithmetic_cast.h
	- modified:   lib/aclexpr/visit/op1/memberread.h
	- modified:   lib/aclexpr/visit/opn/initlist.h
	- modified:   lib/aclty/by_cursor.h
	- renamed:    lib/aclty/by_cursor.c -> lib/aclty/by_cursor/common.c
	- new file:   lib/aclty/by_cursor/std140.h
	- new file:   lib/aclty/by_cursor/std430.h
	- modified:   lib/aclty/fn.c
	- modified:   lib/aclty/struct.c
	- modified:   lib/util/entp.h
	- new file:   test/compile/gl-logic.1.0.cc
add:		getting entrypoint argument with pointer

 Changes to be committed:
	- modified:   ACL.md
	- modified:   inc/aclspv.h
	- modified:   inc/aclspv.hh
	- new file:   lib/aclattr/layout.h
	- modified:   lib/aclconst/specsize.h
	- modified:   lib/aclctx/err.h
	- modified:   lib/aclcur/reg/var.c
	- modified:   lib/aclcur/reg/var.h
	- modified:   lib/aclemit/fndecl/entp.c
	- modified:   lib/aclemit/fndecl/entp/args.c
	- modified:   lib/aclemit/fndecl/entp/args.h
	- modified:   lib/aclemit/fndecl/entp/cfg.c
	- modified:   lib/aclexpr/carve/op1/subscript.c
	- modified:   lib/aclexpr/carve/ptr.h
	- modified:   lib/aclty/arr.c
	- modified:   lib/aclty/by_cursor.h
	- new file:   lib/aclty/by_cursor/auto.c
	- modified:   lib/aclty/by_cursor/common.c
	- modified:   lib/aclty/by_cursor/std140.h
	- modified:   lib/aclty/by_cursor/std430.h
	- modified:   lib/aclty/common.h
	- new file:   lib/aclty/layout.h
	- modified:   lib/aclty/ptr.c
	- modified:   lib/aclty/ptr.h
	- modified:   lib/aclutil/extension.h
	- new file:   lib/aclval.h
	- new file:   lib/aclval/bind.c
	- new file:   lib/aclval/bind.h
	- modified:   lib/ctx/compile.c
	- modified:   lib/ctx/conf.h
	- modified:   lib/ctx/dump.c
	- modified:   lib/ctx/init_fini.c
	- modified:   lib/util/constant.c
	- modified:   lib/util/constant.h
	- modified:   lib/util/entp.h
	- modified:   src/lib/body/vardecl.c
	- new file:   src/lib/ctx/err.cc
	- modified:   src/source.cl
	- renamed:    test/compile/vk-phy32.1.3.cc -> test/compile/vk-phy32.1.5.cc
	- renamed:    test/compile/vk-phy64.1.3.cc -> test/compile/vk-phy64.1.5.cc
dalmurii changed title from WIP: aclcur to aclcur 2026-10-08 01:27:24 +00:00
dalmurii merged commit 97c263f0c9 into master 2026-10-08 01:27:49 +00:00
dalmurii referenced this pull request from a commit 2026-10-08 01:27:49 +00:00
Sign in to join this conversation.
No description provided.