[M3commit] [modula3/cm3] cc2881: Comment about keeping M3 & C++ enum in sync.

Rodney Bates rodney.m.bates at acm.org
Fri Nov 20 18:57:29 CET 2015


  Branch: refs/heads/master
  Home:   https://github.com/modula3/cm3
  Commit: cc2881b0899ecc1216bfec8a6ff15cc29f5d5f5c
      https://github.com/modula3/cm3/commit/cc2881b0899ecc1216bfec8a6ff15cc29f5d5f5c
  Author: Rodney Bates <rodney.m.bates at acm.org>
  Date:   2015-11-19 (Thu, 19 Nov 2015)

  Changed paths:
    M m3-sys/llvmbindings/src/LLVM.i3

  Log Message:
  -----------
  Comment about keeping M3 & C++ enum in sync.


  Commit: e05671e1b6fb8a1d5ae459a2da26289db5ca1d5a
      https://github.com/modula3/cm3/commit/e05671e1b6fb8a1d5ae459a2da26289db5ca1d5a
  Author: Rodney Bates <rodney.m.bates at acm.org>
  Date:   2015-11-20 (Fri, 20 Nov 2015)

  Changed paths:
    M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3

  Log Message:
  -----------
  Further try at getting FINALLY static links sorted out.

For most procedures, CG emits neither a static link formal nor
an actual for it in a call.  Backend must insert this stuff,
detecting whether the proc is nested, etc.

For an internally-generated FINALLY procedure, CG emits an explicit
formal for a static link, but does not emit an actual parameter
for in it a call.  CG does explicitly pass the SL to the runtime,
when pushing a finally frame, and this SL will be passed by the
runtime when it calls the FINALLY procedure.

This fixes execution runtime failures in p014, p035, p045, p048,
p079, p140, and p210.


Compare: https://github.com/modula3/cm3/compare/4cb80aaf011f...e05671e1b6fb


More information about the M3commit mailing list