Use sem_error instead of fatal_at to fix test case failure