Skip to content

Commit 317f9e7

Browse files
committed
Small refactoring of FileError. NFC.
Differential revision: https://reviews.llvm.org/D57945 llvm-svn: 353679
1 parent 150ccb8 commit 317f9e7

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

llvm/include/llvm/Support/Error.h

+12-6
Original file line numberDiff line numberDiff line change
@@ -1176,7 +1176,7 @@ Error createStringError(std::error_code EC, char const *Msg);
11761176
/// show more detailed information to the user.
11771177
class FileError final : public ErrorInfo<FileError> {
11781178

1179-
friend Error createFileError(std::string, Error);
1179+
friend Error createFileError(const Twine &, Error);
11801180

11811181
public:
11821182
void log(raw_ostream &OS) const override {
@@ -1193,15 +1193,15 @@ class FileError final : public ErrorInfo<FileError> {
11931193
static char ID;
11941194

11951195
private:
1196-
FileError(std::string F, std::unique_ptr<ErrorInfoBase> E) {
1196+
FileError(const Twine &F, std::unique_ptr<ErrorInfoBase> E) {
11971197
assert(E && "Cannot create FileError from Error success value.");
11981198
assert(!F.empty() &&
11991199
"The file name provided to FileError must not be empty.");
1200-
FileName = F;
1200+
FileName = F.str();
12011201
Err = std::move(E);
12021202
}
12031203

1204-
static Error build(std::string F, Error E) {
1204+
static Error build(const Twine &F, Error E) {
12051205
return Error(std::unique_ptr<FileError>(new FileError(F, E.takePayload())));
12061206
}
12071207

@@ -1211,11 +1211,17 @@ class FileError final : public ErrorInfo<FileError> {
12111211

12121212
/// Concatenate a source file path and/or name with an Error. The resulting
12131213
/// Error is unchecked.
1214-
inline Error createFileError(std::string F, Error E) {
1214+
inline Error createFileError(const Twine &F, Error E) {
12151215
return FileError::build(F, std::move(E));
12161216
}
12171217

1218-
Error createFileError(std::string F, ErrorSuccess) = delete;
1218+
/// Concatenate a source file path and/or name with a std::error_code
1219+
/// to form an Error object.
1220+
inline Error createFileError(const Twine &F, std::error_code EC) {
1221+
return createFileError(F, errorCodeToError(EC));
1222+
}
1223+
1224+
Error createFileError(const Twine &F, ErrorSuccess) = delete;
12191225

12201226
/// Helper for check-and-exit error handling.
12211227
///

llvm/tools/llvm-objcopy/CopyConfig.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ static Error addSymbolsToRenameFromFile(StringMap<StringRef> &SymbolsToRename,
263263
SmallVector<StringRef, 16> Lines;
264264
auto BufOrErr = MemoryBuffer::getFile(Filename);
265265
if (!BufOrErr)
266-
return createError(Filename, BufOrErr.getError());
266+
return createFileError(Filename, BufOrErr.getError());
267267

268268
BufOrErr.get()->getBuffer().split(Lines, '\n');
269269
size_t NumLines = Lines.size();

llvm/tools/llvm-objcopy/llvm-objcopy.cpp

+2-6
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,6 @@ namespace objcopy {
5252
// The name this program was invoked as.
5353
StringRef ToolName;
5454

55-
Error createError(StringRef File, std::error_code EC) {
56-
assert(EC);
57-
return createFileError(File, make_error<StringError>(EC));
58-
}
59-
6055
LLVM_ATTRIBUTE_NORETURN void error(Twine Message) {
6156
WithColor::error(errs(), ToolName) << Message << ".\n";
6257
errs().flush();
@@ -74,7 +69,8 @@ LLVM_ATTRIBUTE_NORETURN void error(Error E) {
7469
}
7570

7671
LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, std::error_code EC) {
77-
error(createError(File, EC));
72+
assert(EC);
73+
error(createFileError(File, EC));
7874
}
7975

8076
LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, Error E) {

llvm/tools/llvm-objcopy/llvm-objcopy.h

-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
namespace llvm {
1919
namespace objcopy {
2020

21-
Error createError(StringRef File, std::error_code EC);
22-
2321
LLVM_ATTRIBUTE_NORETURN extern void error(Twine Message);
2422
LLVM_ATTRIBUTE_NORETURN extern void error(Error E);
2523
LLVM_ATTRIBUTE_NORETURN extern void reportError(StringRef File, Error E);

0 commit comments

Comments
 (0)