      .title   iferr
;
;     This routine tests its argument (BLBS) to see
;     whether it is an error or a success.
;     If it is an error it SIGNALs the error so that it
;     will cause image exit if it gets to the system-
;     established handlers.
;     Typically, the result will be to output the error
;     message associated with the error, a traceback
;     of where it happened, and then stop.
;
iferr::  .word    0
      blbs  @4(ap),done    ; if bottom bit set, success
      pushl @4(ap)         ; else failure.
      calls #1,lib$stop    ; signal the error
                           ; user can continue only if they
                           ; unwind the stack (this level
                           ; is assumed to be unable to continue).
done: ret                  ; and return if someone intercepts it.
      .end
