Skip to content

Primitive exit does not exit with appropriate exit code

In this Tiger code snippet exit(120), the expected return code of the program would be 120. However, I get a exit code of 0.

/* == High Level Intermediate representation. == */
#Routine: _main
label main
# Prologue
# Body
seq
  sxp
    call
      name exit
      const 120
    call end
  sxp
    const 0
seq end
# Epilogue 
label end

Here is the file I used for getting 0.

Edited by Lucas Plantrose