Index: clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp =================================================================== --- clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp +++ clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp @@ -25,8 +25,8 @@ llvm::Error decodeRecord(Record R, SymbolID &Field, llvm::StringRef Blob) { if (R[0] != BitCodeConstants::USRHashSize) - return llvm::make_error("Incorrect USR size.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "incorrect USR size"); // First position in the record is the length of the following array, so we // copy the following elements to the field. @@ -42,8 +42,8 @@ llvm::Error decodeRecord(Record R, int &Field, llvm::StringRef Blob) { if (R[0] > INT_MAX) - return llvm::make_error("Integer too large to parse.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "integer too large to parse"); Field = (int)R[0]; return llvm::Error::success(); } @@ -58,8 +58,8 @@ Field = (AccessSpecifier)R[0]; return llvm::Error::success(); default: - return llvm::make_error( - "Invalid value for AccessSpecifier.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid value for AccessSpecifier"); } } @@ -73,16 +73,16 @@ Field = (TagTypeKind)R[0]; return llvm::Error::success(); default: - return llvm::make_error( - "Invalid value for TagTypeKind.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid value for TagTypeKind"); } } llvm::Error decodeRecord(Record R, llvm::Optional &Field, llvm::StringRef Blob) { if (R[0] > INT_MAX) - return llvm::make_error("Integer too large to parse.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "integer too large to parse"); Field.emplace((int)R[0], Blob, (bool)R[1]); return llvm::Error::success(); } @@ -97,8 +97,8 @@ Field = IT; return llvm::Error::success(); } - return llvm::make_error("Invalid value for InfoType.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid value for InfoType"); } llvm::Error decodeRecord(Record R, FieldId &Field, llvm::StringRef Blob) { @@ -113,8 +113,8 @@ Field = F; return llvm::Error::success(); } - return llvm::make_error("Invalid value for FieldId.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid value for FieldId"); } llvm::Error decodeRecord(Record R, @@ -127,8 +127,8 @@ llvm::Error decodeRecord(Record R, llvm::SmallVectorImpl &Field, llvm::StringRef Blob) { if (R[0] > INT_MAX) - return llvm::make_error("Integer too large to parse.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "integer too large to parse"); Field.emplace_back((int)R[0], Blob, (bool)R[1]); return llvm::Error::success(); } @@ -137,8 +137,8 @@ const unsigned VersionNo) { if (ID == VERSION && R[0] == VersionNo) return llvm::Error::success(); - return llvm::make_error( - "Mismatched bitcode version number.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "mismatched bitcode version number"); } llvm::Error parseRecord(Record R, unsigned ID, llvm::StringRef Blob, @@ -151,8 +151,8 @@ case NAMESPACE_PATH: return decodeRecord(R, I->Path, Blob); default: - return llvm::make_error( - "Invalid field for NamespaceInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for NamespaceInfo"); } } @@ -174,8 +174,8 @@ case RECORD_IS_TYPE_DEF: return decodeRecord(R, I->IsTypeDef, Blob); default: - return llvm::make_error( - "Invalid field for RecordInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for RecordInfo"); } } @@ -197,8 +197,8 @@ case BASE_RECORD_IS_PARENT: return decodeRecord(R, I->IsParent, Blob); default: - return llvm::make_error( - "Invalid field for BaseRecordInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for BaseRecordInfo"); } } @@ -218,8 +218,8 @@ case ENUM_SCOPED: return decodeRecord(R, I->Scoped, Blob); default: - return llvm::make_error("Invalid field for EnumInfo.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for EnumInfo"); } } @@ -239,8 +239,8 @@ case FUNCTION_IS_METHOD: return decodeRecord(R, I->IsMethod, Blob); default: - return llvm::make_error( - "Invalid field for FunctionInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for FunctionInfo"); } } @@ -255,8 +255,8 @@ case FIELD_TYPE_NAME: return decodeRecord(R, I->Name, Blob); default: - return llvm::make_error("Invalid field for TypeInfo.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for TypeInfo"); } } @@ -268,8 +268,8 @@ case MEMBER_TYPE_ACCESS: return decodeRecord(R, I->Access, Blob); default: - return llvm::make_error( - "Invalid field for MemberTypeInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for MemberTypeInfo"); } } @@ -299,8 +299,8 @@ case COMMENT_EXPLICIT: return decodeRecord(R, I->Explicit, Blob); default: - return llvm::make_error( - "Invalid field for CommentInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for CommentInfo"); } } @@ -320,15 +320,14 @@ case REFERENCE_FIELD: return decodeRecord(R, F, Blob); default: - return llvm::make_error("Invalid field for Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for Reference"); } } template llvm::Expected getCommentInfo(T I) { - return llvm::make_error( - "Invalid type cannot contain CommentInfo.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain CommentInfo"); } template <> llvm::Expected getCommentInfo(FunctionInfo *I) { @@ -363,9 +362,8 @@ template llvm::Error addTypeInfo(T I, TTypeInfo &&TI) { - return llvm::make_error( - "Invalid type cannot contain TypeInfo.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain TypeInfo"); } template <> llvm::Error addTypeInfo(RecordInfo *I, MemberTypeInfo &&T) { @@ -389,9 +387,8 @@ } template llvm::Error addReference(T I, Reference &&R, FieldId F) { - return llvm::make_error( - "Invalid type cannot contain Reference\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } template <> llvm::Error addReference(TypeInfo *I, Reference &&R, FieldId F) { @@ -400,9 +397,8 @@ I->Type = std::move(R); return llvm::Error::success(); default: - return llvm::make_error( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -413,9 +409,8 @@ I->Type = std::move(R); return llvm::Error::success(); default: - return llvm::make_error( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -426,9 +421,8 @@ I->Type = std::move(R); return llvm::Error::success(); default: - return llvm::make_error( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -438,9 +432,8 @@ I->Namespace.emplace_back(std::move(R)); return llvm::Error::success(); default: - return llvm::make_error( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -457,9 +450,8 @@ I->ChildRecords.emplace_back(std::move(R)); return llvm::Error::success(); default: - return llvm::make_error( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -473,9 +465,8 @@ I->Parent = std::move(R); return llvm::Error::success(); default: - return llvm::make_error( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -494,15 +485,14 @@ I->ChildRecords.emplace_back(std::move(R)); return llvm::Error::success(); default: - return llvm::make_error( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } template void addChild(T I, ChildInfoType &&R) { - llvm::errs() << "Invalid child type for info.\n"; + llvm::errs() << "invalid child type for info"; exit(1); } @@ -563,8 +553,8 @@ switch (Res) { case Cursor::BadBlock: - return llvm::make_error( - "Bad block found.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "bad block found"); case Cursor::BlockEnd: return llvm::Error::success(); case Cursor::BlockBegin: @@ -649,8 +639,8 @@ return llvm::Error::success(); } default: - return llvm::make_error("Invalid subblock type.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid subblock type"); } } @@ -701,8 +691,8 @@ llvm::Error ClangDocBitcodeReader::validateStream() { if (Stream.AtEndOfStream()) - return llvm::make_error("Premature end of stream.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "premature end of stream"); // Sniff for the signature. for (int Idx = 0; Idx != 4; ++Idx) { @@ -710,8 +700,8 @@ if (!MaybeRead) return MaybeRead.takeError(); else if (MaybeRead.get() != BitCodeConstants::Signature[Idx]) - return llvm::make_error( - "Invalid bitcode signature.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid bitcode signature"); } return llvm::Error::success(); } @@ -724,8 +714,8 @@ else BlockInfo = MaybeBlockInfo.get(); if (!BlockInfo) - return llvm::make_error( - "Unable to parse BlockInfoBlock.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "unable to parse BlockInfoBlock"); Stream.setBlockInfo(&*BlockInfo); return llvm::Error::success(); } @@ -751,8 +741,8 @@ case BI_FUNCTION_BLOCK_ID: return createInfo(ID); default: - return llvm::make_error("Cannot create info.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "cannot create info"); } } @@ -769,8 +759,8 @@ if (!MaybeCode) return MaybeCode.takeError(); if (MaybeCode.get() != llvm::bitc::ENTER_SUBBLOCK) - return llvm::make_error( - "No blocks in input.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "no blocks in input"); Expected MaybeID = Stream.ReadSubBlockID(); if (!MaybeID) return MaybeID.takeError(); @@ -782,8 +772,8 @@ case BI_MEMBER_TYPE_BLOCK_ID: case BI_COMMENT_BLOCK_ID: case BI_REFERENCE_BLOCK_ID: - return llvm::make_error( - "Invalid top level block.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid top level block"); case BI_NAMESPACE_BLOCK_ID: case BI_RECORD_BLOCK_ID: case BI_ENUM_BLOCK_ID: Index: clang-tools-extra/trunk/clang-doc/Generators.cpp =================================================================== --- clang-tools-extra/trunk/clang-doc/Generators.cpp +++ clang-tools-extra/trunk/clang-doc/Generators.cpp @@ -21,8 +21,8 @@ continue; return I->instantiate(); } - return llvm::make_error("Can't find generator: " + Format, - llvm::inconvertibleErrorCode()); + return createStringError(llvm::inconvertibleErrorCode(), + "can't find generator: " + Format); } // Enum conversion Index: clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp =================================================================== --- clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp +++ clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp @@ -856,8 +856,8 @@ genHTML(*static_cast(I), CDCtx, ""); break; case InfoType::IT_default: - return llvm::make_error("Unexpected info type.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "unexpected info type"); } HTMLFile F = @@ -891,9 +891,9 @@ llvm::sys::path::append(FilePath, "index_json.js"); llvm::raw_fd_ostream OS(FilePath, FileErr, llvm::sys::fs::F_None); if (FileErr != OK) { - return llvm::make_error( - "Error creating index file: " + FileErr.message() + "\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "error creating index file: " + + FileErr.message()); } CDCtx.Idx.sort(); llvm::json::OStream J(OS, 2); @@ -940,9 +940,9 @@ llvm::sys::path::append(IndexPath, "index.html"); llvm::raw_fd_ostream IndexOS(IndexPath, FileErr, llvm::sys::fs::F_None); if (FileErr != OK) { - return llvm::make_error( - "Error creating main index: " + FileErr.message() + "\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "error creating main index: " + + FileErr.message()); } HTMLFile F; @@ -972,10 +972,10 @@ std::error_code OK; std::error_code FileErr = llvm::sys::fs::copy_file(PathRead, PathWrite); if (FileErr != OK) { - return llvm::make_error( - "Error creating file " + llvm::sys::path::filename(FilePath) + ": " + - FileErr.message() + "\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "error creating file " + + llvm::sys::path::filename(FilePath) + + ": " + FileErr.message() + "\n"); } return llvm::Error::success(); } Index: clang-tools-extra/trunk/clang-doc/MDGenerator.cpp =================================================================== --- clang-tools-extra/trunk/clang-doc/MDGenerator.cpp +++ clang-tools-extra/trunk/clang-doc/MDGenerator.cpp @@ -272,8 +272,8 @@ genMarkdown(*static_cast(I), OS); break; case InfoType::IT_default: - return llvm::make_error("Unexpected info type.\n", - llvm::inconvertibleErrorCode()); + return createStringError(llvm::inconvertibleErrorCode(), + "unexpected InfoType"); } return llvm::Error::success(); } Index: clang-tools-extra/trunk/clang-doc/Representation.cpp =================================================================== --- clang-tools-extra/trunk/clang-doc/Representation.cpp +++ clang-tools-extra/trunk/clang-doc/Representation.cpp @@ -34,8 +34,8 @@ llvm::Expected> reduce(std::vector> &Values) { if (Values.empty()) - return llvm::make_error(" No values to reduce.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "no value to reduce"); std::unique_ptr Merged = std::make_unique(Values[0]->USR); T *Tmp = static_cast(Merged.get()); for (auto &I : Values) @@ -96,8 +96,8 @@ llvm::Expected> mergeInfos(std::vector> &Values) { if (Values.empty()) - return llvm::make_error("No info values to merge.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "no info values to merge"); switch (Values[0]->IT) { case InfoType::IT_namespace: @@ -109,8 +109,8 @@ case InfoType::IT_function: return reduce(Values); default: - return llvm::make_error("Unexpected info type.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "unexpected info type"); } } Index: clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp =================================================================== --- clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp +++ clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp @@ -289,8 +289,8 @@ InfoYAML << *static_cast(I); break; case InfoType::IT_default: - return llvm::make_error("Unexpected info type.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "unexpected InfoType"); } return llvm::Error::success(); } Index: clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp =================================================================== --- clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp +++ clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp @@ -172,8 +172,8 @@ llvm::sys::path::native(Root, Path); llvm::sys::path::append(Path, RelativePath); if (CreateDirectory(Path)) - return llvm::make_error("Unable to create directory.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "failed to create directory"); llvm::sys::path::append(Path, Name + Ext); return Path; }