[M3commit] [modula3/cm3] e6d9a9: Add FormatUID and NO_UID to m3middle/arc/M3CG.[im]...

GitHub noreply at github.com
Mon Feb 22 19:17:57 CET 2016

  Branch: refs/heads/master
  Home:   https://github.com/modula3/cm3
  Commit: e6d9a9f95b5c00114fce2d4f613394f651fa176a
  Author: Rodney Bates <rodney.m.bates at acm.org>
  Date:   2016-02-22 (Mon, 22 Feb 2016)

  Changed paths:
    M m3-sys/m3middle/src/M3CG.i3
    M m3-sys/m3middle/src/M3CG.m3

  Log Message:
  Add FormatUID and NO_UID to m3middle/arc/M3CG.[im]3.

FormatUID converts a UID to the base-62 Character form used in linker
symbols in stabs debug format.  Apparently, a Modula3-coded version of
this function did not exist.  It is needed by M3CG_LLVM.  (A C-coded
version already exists in parse.c).

There are duplicate declarations of NO_UID in m3front/src/type/TypeRep.i3,
m3front/src/misc/M3String.m3, and m3front/src/misc/M3WString.m3.
Also, m3cc/gcc*/gcc/m3cg/parse.c contain C declarations, and
cm3ide/src/nodes/Type.i3 contains a declaration with zero as value,
while the others are all minus one.

This should be consistified and centralized.  This commit puts a
Modula-3 declaration in M3CG, where it can be centrally referenced,
and an initial use of it in FormatUID.

More information about the M3commit mailing list