[M3commit] [modula3/cm3] 3baace: mostly remove Cstdint dependency, for use with old...

GitHub noreply at github.com
Tue Dec 29 11:52:52 CET 2015


  Branch: refs/heads/master
  Home:   https://github.com/modula3/cm3
  Commit: 3baace361cda97348a008ca57c4c0f7f3c08a82f
      https://github.com/modula3/cm3/commit/3baace361cda97348a008ca57c4c0f7f3c08a82f
  Author: Jay Krell <jay.krell at cornell.edu>
  Date:   2015-12-29 (Tue, 29 Dec 2015)

  Changed paths:
    M m3-sys/m3tests/src/Test.i3

  Log Message:
  -----------
  mostly remove Cstdint dependency, for use with older releases


  Commit: 86a8f8f36a40ebbd07f1435c50900c2622a5675e
      https://github.com/modula3/cm3/commit/86a8f8f36a40ebbd07f1435c50900c2622a5675e
  Author: Jay Krell <jay.krell at cornell.edu>
  Date:   2015-12-29 (Tue, 29 Dec 2015)

  Changed paths:
    M m3-sys/m3front/src/misc/RunTyme.m3

  Log Message:
  -----------
  Add assert for certain compiler/library mismatches.
Perhaps should be a different reporting mechanism, i.e. check and report
even if asserts disabled.


  Commit: 08e50b3428d98083731e56d6c23845902079e5c8
      https://github.com/modula3/cm3/commit/08e50b3428d98083731e56d6c23845902079e5c8
  Author: Jay Krell <jay.krell at cornell.edu>
  Date:   2015-12-29 (Tue, 29 Dec 2015)

  Changed paths:
    M m3-sys/m3back/src/M3C.m3
    M m3-sys/m3back/src/M3CC.c
    M m3-sys/m3back/src/M3CC.i3

  Log Message:
  -----------
  Remove LONGINT and Long dependency, so you can bootstrap e.g. from 5.2.6.


  Commit: f51684113e4df1811bdbe3d0ada3110987192812
      https://github.com/modula3/cm3/commit/f51684113e4df1811bdbe3d0ada3110987192812
  Author: Jay Krell <jay.krell at cornell.edu>
  Date:   2015-12-29 (Tue, 29 Dec 2015)

  Changed paths:
    M m3-sys/m3back/src/M3x86.m3
    M m3-sys/m3back/src/M3x86Rep.i3

  Log Message:
  -----------
  Fill in support for alloca.

The previous partial approach was wrong and inadequate.

alloca is a special case in a number of ways that
do not fit the general model/framework.

  - It's link name is __chkstk.
  - It takes its first and only parameter in eax.
  - It returns its return value in esp.

This lets the system mostly return to working.
You can bootstrap from 5.2.6, using so far an older
Visual C++ and get as far as the caltech lex/yacc rewrites.


Compare: https://github.com/modula3/cm3/compare/b241d4f5cc30...f51684113e4d


More information about the M3commit mailing list