• simonmar's avatar
    [project @ 2002-08-02 13:08:33 by simonmar] · 259be9ef
    simonmar authored
    PrimRep Cleanup
       - Remove all PrimReps which were just different flavours of
         PtrRep.  Now, everything which is a pointer to a closure of
         some kind is always a PtrRep.
       - Three of the deleted PrimReps, namely ArrayRep, ByteArrayRep,
         and ForeignObj rep, had a subtle reason for their existence:
         the abstract C pretty-printer(!) used them to decide whether
         to apply a shim to an outgoing C-call argument: a ByteArrayRep
         argument would be adjusted to point past the object header,
         for example.
         I've changed this to happen in a much more reasonable and
         obvious way: there are now explict macros in AbsCSyn to do the
         adjustment, and the code generator makes calls to these as
         necessary.  Slightly less hackery is necessary in the NCG as
         a result.