diff options
Diffstat (limited to 'backendC/CleanCompilerSources/sa.c')
-rw-r--r-- | backendC/CleanCompilerSources/sa.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/backendC/CleanCompilerSources/sa.c b/backendC/CleanCompilerSources/sa.c index 179b75b..1bbc0c4 100644 --- a/backendC/CleanCompilerSources/sa.c +++ b/backendC/CleanCompilerSources/sa.c @@ -2240,7 +2240,20 @@ static Exp ConvertNode (Node node, NodeId nid) TypeArgs typeargs; unsigned int i; Exp exp; - + +#if SA_RECOGNIZES_ABORT_AND_UNDEF + if (sdef->sdef_module==StdMiscId->ident_name){ + if ((sdef->sdef_ident==abort_id && node->node_arity==1) || sdef->sdef_ident==undef_id){ + e->e_kind = Bottom; + e->e_sym = 0; + e->e_hnf = True; + e->e_spechnf= True; + + return e; + } + } +#endif + rule = sdef->sdef_rule_type->rule_type_rule; typeargs = rule->type_alt_lhs->type_node_arguments; |