[M3commit] [modula3/cm3] cf8828: Add computation of expression alignments.

GitHub noreply at github.com
Tue Jan 16 05:40:15 CET 2018


  Branch: refs/heads/master
  Home:   https://github.com/modula3/cm3
  Commit: cf882891195a6979817c8beeaa241992196cded1
      https://github.com/modula3/cm3/commit/cf882891195a6979817c8beeaa241992196cded1
  Author: Rodney Bates <rodney.m.bates at acm.org>
  Date:   2018-01-15 (Mon, 15 Jan 2018)

  Changed paths:
    M m3-sys/m3front/src/exprs/AddressExpr.i3
    M m3-sys/m3front/src/exprs/AddressExpr.m3
    M m3-sys/m3front/src/exprs/AndExpr.m3
    M m3-sys/m3front/src/exprs/ArrayExpr.i3
    M m3-sys/m3front/src/exprs/ArrayExpr.m3
    M m3-sys/m3front/src/exprs/CallExpr.m3
    M m3-sys/m3front/src/exprs/CastExpr.m3
    M m3-sys/m3front/src/exprs/CheckExpr.m3
    M m3-sys/m3front/src/exprs/ConcatExpr.m3
    M m3-sys/m3front/src/exprs/ConsExpr.i3
    M m3-sys/m3front/src/exprs/ConsExpr.m3
    M m3-sys/m3front/src/exprs/EqualExpr.m3
    M m3-sys/m3front/src/exprs/Expr.i3
    M m3-sys/m3front/src/exprs/Expr.m3
    M m3-sys/m3front/src/exprs/ExprRep.i3
    M m3-sys/m3front/src/exprs/InExpr.m3
    M m3-sys/m3front/src/exprs/IntegerExpr.i3
    M m3-sys/m3front/src/exprs/IntegerExpr.m3
    M m3-sys/m3front/src/exprs/KeywordExpr.m3
    M m3-sys/m3front/src/exprs/MethodExpr.m3
    M m3-sys/m3front/src/exprs/NarrowExpr.m3
    M m3-sys/m3front/src/exprs/NotExpr.m3
    M m3-sys/m3front/src/exprs/OrExpr.m3
    M m3-sys/m3front/src/exprs/ProcExpr.i3
    M m3-sys/m3front/src/exprs/ProcExpr.m3
    M m3-sys/m3front/src/exprs/QualifyExpr.m3
    M m3-sys/m3front/src/exprs/RecordExpr.i3
    M m3-sys/m3front/src/exprs/RecordExpr.m3
    M m3-sys/m3front/src/exprs/SetExpr.i3
    M m3-sys/m3front/src/exprs/SetExpr.m3
    M m3-sys/m3front/src/exprs/SubscriptExpr.m3
    M m3-sys/m3front/src/exprs/TextExpr.m3
    M m3-sys/m3front/src/exprs/TypeExpr.m3
    M m3-sys/m3front/src/types/Type.i3
    M m3-sys/m3middle/src/Target.i3

  Log Message:
  -----------
  Add computation of expression alignments.

To fix bugs passing packed values as parameters, there is a need
to know aligments of expressions.  Merely using the alignment of
the expression's type is sometimes not enough.  The type knows
nothing of the context in which a value occurs.  Particularly,
the alignment of a value of packed type depends on whether it is
an array element or record or object field, and, if so, what its
predecessor elements/fields are.

This commit purely adds computation of expression aligments, with
no uses thereof yet.




More information about the M3commit mailing list