[PATCH] Add ability for can_write to indicate why the file is not writable
Richard Smith
richard at metafoo.co.uk
Wed Sep 3 18:36:31 PDT 2014
Hi dblaikie,
Add an optional output parameter to `can_write` to allow it to indicate why a file is not considered writable (along with a sample use from Clang where we currently produce stupid diagnostics saying `"can't open output file: Success"`).
I'm not entirely sure this is the right design, and in particular it's a somewhat different interface from the other functions in this file. I also considered:
std::error_code can_write(const Twine &Path, bool &result);
... which seems redundant because `result` is set to `true` iff the error code is `success`, and ...
std::error_code can_write(const Twine &Path);
... which is terrible because `bool(can_write(Path))` is `true` iff the file is *not* writable, and ...
std::error_code cannot_write(const Twine &Path);
... which is inconsistent with other functions near here and ugly.
http://reviews.llvm.org/D5182
Files:
include/llvm/Support/FileSystem.h
lib/Frontend/CompilerInstance.cpp
lib/Support/Unix/Path.inc
lib/Support/Windows/Path.inc
test/Frontend/output-failures.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5182.13236.patch
Type: text/x-patch
Size: 4294 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140904/ae315699/attachment.bin>
More information about the llvm-commits
mailing list