| Index: pydir/build-pnacl-ir.py | 
| diff --git a/pydir/build-pnacl-ir.py b/pydir/build-pnacl-ir.py | 
| index 5c4c9e816b2c61cbd078517c31f2133d637658ea..96b4741f68165322f577cf2dc3493cdc0b70df95 100755 | 
| --- a/pydir/build-pnacl-ir.py | 
| +++ b/pydir/build-pnacl-ir.py | 
| @@ -1,7 +1,9 @@ | 
| #!/usr/bin/env python2 | 
|  | 
| import argparse | 
| +import errno | 
| import os | 
| +import shutil | 
| import tempfile | 
| from utils import shellcmd | 
| from utils import FindBaseNaCl | 
| @@ -21,18 +23,25 @@ if __name__ == '__main__': | 
| nacl_root + '/toolchain/linux_x86/pnacl_newlib/bin' + os.pathsep + | 
| os.pathsep + os.environ['PATH']) | 
|  | 
| -    tempdir = tempfile.mkdtemp() | 
| +    try: | 
| +        tempdir = tempfile.mkdtemp() | 
|  | 
| -    for cname in args.cfile: | 
| -        basename = os.path.splitext(cname)[0] | 
| -        llname = os.path.join(tempdir, basename + '.ll') | 
| -        pnaclname = basename + '.pnacl.ll' | 
| -        pnaclname = os.path.join(args.dir, pnaclname) | 
| +        for cname in args.cfile: | 
| +            basename = os.path.splitext(cname)[0] | 
| +            llname = os.path.join(tempdir, basename + '.ll') | 
| +            pnaclname = basename + '.pnacl.ll' | 
| +            pnaclname = os.path.join(args.dir, pnaclname) | 
|  | 
| -        shellcmd('pnacl-clang -O2 -c {0} -o {1}'.format(cname, llname)) | 
| -        shellcmd('pnacl-opt ' + | 
| -                 '-pnacl-abi-simplify-preopt -pnacl-abi-simplify-postopt' + | 
| -                 ('' if args.disable_verify else | 
| -                  ' -verify-pnaclabi-module -verify-pnaclabi-functions') + | 
| -                 ' -pnaclabi-allow-debug-metadata' | 
| -                 ' {0} -S -o {1}'.format(llname, pnaclname)) | 
| +            shellcmd('pnacl-clang -O2 -c {0} -o {1}'.format(cname, llname)) | 
| +            shellcmd('pnacl-opt ' + | 
| +                     '-pnacl-abi-simplify-preopt -pnacl-abi-simplify-postopt' + | 
| +                     ('' if args.disable_verify else | 
| +                      ' -verify-pnaclabi-module -verify-pnaclabi-functions') + | 
| +                     ' -pnaclabi-allow-debug-metadata' | 
| +                     ' {0} -S -o {1}'.format(llname, pnaclname)) | 
| +    finally: | 
| +        try: | 
| +            shutil.rmtree(tempdir) | 
| +        except OSError as exc: | 
| +            if exc.errno != errno.ENOENT: # ENOENT - no such file or directory | 
| +                raise # re-raise exception | 
|  |