Skip to content
  • chevalier@alum.wellesley.edu's avatar
    [project @ 2003-08-19 21:59:40 by krc] · 0f9750be
    chevalier@alum.wellesley.edu authored
    Two issues:
    
    1. According to the spec for External Core, datatype declarations are required
    to have at least one data constructor. Previously, if you tried to generate
    External Core for a program containing a datatype declaration with no
    constructors, generating the Core file would succeed, but compiling it would
    result in a parse error. Changed MkExternalCore to signal an error if such
    a declaration is encountered while compiling to External Core.
    
    2. Previously, MachLabel literals were translated into Externals when compiling
    to External Core. This is wrong -- such literals are not foreign calls and
    can't be handled in the same way (compiling any External Core code generated
    from code containing literals resulting from "foreign label" declarations would
    result in a strange error message). There doesn't seem to be any way to
    correctly represent these labels in External Core, so MkExternalCore now
    signals an error if one of these is encountered as well.
    0f9750be