Index: lld/trunk/test/ELF/early-exit-for-bad-paths.s =================================================================== --- lld/trunk/test/ELF/early-exit-for-bad-paths.s +++ lld/trunk/test/ELF/early-exit-for-bad-paths.s @@ -20,6 +20,9 @@ # discovered we haven't bailed out early as expected. # CHECK-NOT: undefined_symbol +# RUN: not ld.lld %t.o -o / 2>&1 | FileCheck %s -check-prefixes=ROOT +# ROOT: error: cannot open output file / + .globl _start _start: call undefined_symbol Index: llvm/trunk/lib/Support/FileOutputBuffer.cpp =================================================================== --- llvm/trunk/lib/Support/FileOutputBuffer.cpp +++ llvm/trunk/lib/Support/FileOutputBuffer.cpp @@ -57,6 +57,8 @@ // FIXME: In posix, you use the access() call to check this. } break; + case sys::fs::file_type::directory_file: + return errc::is_a_directory; default: if (EC) return EC;