Author: maskray Date: Tue Aug 27 19:56:03 2019 New Revision: 370155 URL: http://llvm.org/viewvc/llvm-project?rev=370155&view=rev Log: [clang-doc] Use llvm::createStringError and canonicalize error messages
"Bad block found.\n" -> "bad block found" The lower cased form with no full stop or newline is more common in LLVM tools. Reviewed By: juliehockett Differential Revision: https://reviews.llvm.org/D66783 Modified: clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp clang-tools-extra/trunk/clang-doc/Generators.cpp clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp clang-tools-extra/trunk/clang-doc/MDGenerator.cpp clang-tools-extra/trunk/clang-doc/Representation.cpp clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp Modified: clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp?rev=370155&r1=370154&r2=370155&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp (original) +++ clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp Tue Aug 27 19:56:03 2019 @@ -25,8 +25,8 @@ llvm::Error decodeRecord(Record R, llvm: llvm::Error decodeRecord(Record R, SymbolID &Field, llvm::StringRef Blob) { if (R[0] != BitCodeConstants::USRHashSize) - return llvm::make_error<llvm::StringError>("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, bool llvm::Error decodeRecord(Record R, int &Field, llvm::StringRef Blob) { if (R[0] > INT_MAX) - return llvm::make_error<llvm::StringError>("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 @@ llvm::Error decodeRecord(Record R, Acces Field = (AccessSpecifier)R[0]; return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid value for AccessSpecifier.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid value for AccessSpecifier"); } } @@ -73,16 +73,16 @@ llvm::Error decodeRecord(Record R, TagTy Field = (TagTypeKind)R[0]; return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid value for TagTypeKind.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid value for TagTypeKind"); } } llvm::Error decodeRecord(Record R, llvm::Optional<Location> &Field, llvm::StringRef Blob) { if (R[0] > INT_MAX) - return llvm::make_error<llvm::StringError>("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 @@ llvm::Error decodeRecord(Record R, InfoT Field = IT; return llvm::Error::success(); } - return llvm::make_error<llvm::StringError>("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 @@ llvm::Error decodeRecord(Record R, Field Field = F; return llvm::Error::success(); } - return llvm::make_error<llvm::StringError>("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::Error decodeRecord(Record R, llvm::SmallVectorImpl<Location> &Field, llvm::StringRef Blob) { if (R[0] > INT_MAX) - return llvm::make_error<llvm::StringError>("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 @@ llvm::Error parseRecord(Record R, unsign const unsigned VersionNo) { if (ID == VERSION && R[0] == VersionNo) return llvm::Error::success(); - return llvm::make_error<llvm::StringError>( - "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 @@ llvm::Error parseRecord(Record R, unsign case NAMESPACE_PATH: return decodeRecord(R, I->Path, Blob); default: - return llvm::make_error<llvm::StringError>( - "Invalid field for NamespaceInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for NamespaceInfo"); } } @@ -174,8 +174,8 @@ llvm::Error parseRecord(Record R, unsign case RECORD_IS_TYPE_DEF: return decodeRecord(R, I->IsTypeDef, Blob); default: - return llvm::make_error<llvm::StringError>( - "Invalid field for RecordInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for RecordInfo"); } } @@ -197,8 +197,8 @@ llvm::Error parseRecord(Record R, unsign case BASE_RECORD_IS_PARENT: return decodeRecord(R, I->IsParent, Blob); default: - return llvm::make_error<llvm::StringError>( - "Invalid field for BaseRecordInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for BaseRecordInfo"); } } @@ -218,8 +218,8 @@ llvm::Error parseRecord(Record R, unsign case ENUM_SCOPED: return decodeRecord(R, I->Scoped, Blob); default: - return llvm::make_error<llvm::StringError>("Invalid field for EnumInfo.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for EnumInfo"); } } @@ -239,8 +239,8 @@ llvm::Error parseRecord(Record R, unsign case FUNCTION_IS_METHOD: return decodeRecord(R, I->IsMethod, Blob); default: - return llvm::make_error<llvm::StringError>( - "Invalid field for FunctionInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for FunctionInfo"); } } @@ -255,8 +255,8 @@ llvm::Error parseRecord(Record R, unsign case FIELD_TYPE_NAME: return decodeRecord(R, I->Name, Blob); default: - return llvm::make_error<llvm::StringError>("Invalid field for TypeInfo.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for TypeInfo"); } } @@ -268,8 +268,8 @@ llvm::Error parseRecord(Record R, unsign case MEMBER_TYPE_ACCESS: return decodeRecord(R, I->Access, Blob); default: - return llvm::make_error<llvm::StringError>( - "Invalid field for MemberTypeInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for MemberTypeInfo"); } } @@ -299,8 +299,8 @@ llvm::Error parseRecord(Record R, unsign case COMMENT_EXPLICIT: return decodeRecord(R, I->Explicit, Blob); default: - return llvm::make_error<llvm::StringError>( - "Invalid field for CommentInfo.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for CommentInfo"); } } @@ -320,15 +320,14 @@ llvm::Error parseRecord(Record R, unsign case REFERENCE_FIELD: return decodeRecord(R, F, Blob); default: - return llvm::make_error<llvm::StringError>("Invalid field for Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid field for Reference"); } } template <typename T> llvm::Expected<CommentInfo *> getCommentInfo(T I) { - return llvm::make_error<llvm::StringError>( - "Invalid type cannot contain CommentInfo.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain CommentInfo"); } template <> llvm::Expected<CommentInfo *> getCommentInfo(FunctionInfo *I) { @@ -363,9 +362,8 @@ llvm::Expected<CommentInfo *> getComment template <typename T, typename TTypeInfo> llvm::Error addTypeInfo(T I, TTypeInfo &&TI) { - return llvm::make_error<llvm::StringError>( - "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 addTypeInfo(Func } template <typename T> llvm::Error addReference(T I, Reference &&R, FieldId F) { - return llvm::make_error<llvm::StringError>( - "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 @@ template <> llvm::Error addReference(Typ I->Type = std::move(R); return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -413,9 +409,8 @@ llvm::Error addReference(FieldTypeInfo * I->Type = std::move(R); return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -426,9 +421,8 @@ llvm::Error addReference(MemberTypeInfo I->Type = std::move(R); return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -438,9 +432,8 @@ template <> llvm::Error addReference(Enu I->Namespace.emplace_back(std::move(R)); return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -457,9 +450,8 @@ llvm::Error addReference(NamespaceInfo * I->ChildRecords.emplace_back(std::move(R)); return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -473,9 +465,8 @@ llvm::Error addReference(FunctionInfo *I I->Parent = std::move(R); return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } @@ -494,15 +485,14 @@ template <> llvm::Error addReference(Rec I->ChildRecords.emplace_back(std::move(R)); return llvm::Error::success(); default: - return llvm::make_error<llvm::StringError>( - "Invalid type cannot contain Reference.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid type cannot contain Reference"); } } template <typename T, typename ChildInfoType> 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 @@ llvm::Error ClangDocBitcodeReader::readB switch (Res) { case Cursor::BadBlock: - return llvm::make_error<llvm::StringError>( - "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 @@ llvm::Error ClangDocBitcodeReader::readS return llvm::Error::success(); } default: - return llvm::make_error<llvm::StringError>("Invalid subblock type.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid subblock type"); } } @@ -701,8 +691,8 @@ ClangDocBitcodeReader::skipUntilRecordOr llvm::Error ClangDocBitcodeReader::validateStream() { if (Stream.AtEndOfStream()) - return llvm::make_error<llvm::StringError>("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 @@ llvm::Error ClangDocBitcodeReader::valid if (!MaybeRead) return MaybeRead.takeError(); else if (MaybeRead.get() != BitCodeConstants::Signature[Idx]) - return llvm::make_error<llvm::StringError>( - "Invalid bitcode signature.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "invalid bitcode signature"); } return llvm::Error::success(); } @@ -724,8 +714,8 @@ llvm::Error ClangDocBitcodeReader::readB else BlockInfo = MaybeBlockInfo.get(); if (!BlockInfo) - return llvm::make_error<llvm::StringError>( - "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 @@ ClangDocBitcodeReader::readBlockToInfo(u case BI_FUNCTION_BLOCK_ID: return createInfo<FunctionInfo>(ID); default: - return llvm::make_error<llvm::StringError>("Cannot create info.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "cannot create info"); } } @@ -769,8 +759,8 @@ ClangDocBitcodeReader::readBitcode() { if (!MaybeCode) return MaybeCode.takeError(); if (MaybeCode.get() != llvm::bitc::ENTER_SUBBLOCK) - return llvm::make_error<llvm::StringError>( - "No blocks in input.\n", llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "no blocks in input"); Expected<unsigned> MaybeID = Stream.ReadSubBlockID(); if (!MaybeID) return MaybeID.takeError(); @@ -782,8 +772,8 @@ ClangDocBitcodeReader::readBitcode() { case BI_MEMBER_TYPE_BLOCK_ID: case BI_COMMENT_BLOCK_ID: case BI_REFERENCE_BLOCK_ID: - return llvm::make_error<llvm::StringError>( - "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: Modified: clang-tools-extra/trunk/clang-doc/Generators.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Generators.cpp?rev=370155&r1=370154&r2=370155&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-doc/Generators.cpp (original) +++ clang-tools-extra/trunk/clang-doc/Generators.cpp Tue Aug 27 19:56:03 2019 @@ -21,8 +21,8 @@ findGeneratorByName(llvm::StringRef Form continue; return I->instantiate(); } - return llvm::make_error<llvm::StringError>("Can't find generator: " + Format, - llvm::inconvertibleErrorCode()); + return createStringError(llvm::inconvertibleErrorCode(), + "can't find generator: " + Format); } // Enum conversion Modified: clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp?rev=370155&r1=370154&r2=370155&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp (original) +++ clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp Tue Aug 27 19:56:03 2019 @@ -856,8 +856,8 @@ llvm::Error HTMLGenerator::generateDocFo genHTML(*static_cast<clang::doc::FunctionInfo *>(I), CDCtx, ""); break; case InfoType::IT_default: - return llvm::make_error<llvm::StringError>("Unexpected info type.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "unexpected info type"); } HTMLFile F = @@ -891,9 +891,9 @@ static llvm::Error SerializeIndex(ClangD 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<llvm::StringError>( - "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 @@ static llvm::Error GenIndex(const ClangD 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<llvm::StringError>( - "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 @@ static llvm::Error CopyFile(StringRef Fi std::error_code OK; std::error_code FileErr = llvm::sys::fs::copy_file(PathRead, PathWrite); if (FileErr != OK) { - return llvm::make_error<llvm::StringError>( - "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(); } Modified: clang-tools-extra/trunk/clang-doc/MDGenerator.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/MDGenerator.cpp?rev=370155&r1=370154&r2=370155&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-doc/MDGenerator.cpp (original) +++ clang-tools-extra/trunk/clang-doc/MDGenerator.cpp Tue Aug 27 19:56:03 2019 @@ -272,8 +272,8 @@ llvm::Error MDGenerator::generateDocForI genMarkdown(*static_cast<clang::doc::FunctionInfo *>(I), OS); break; case InfoType::IT_default: - return llvm::make_error<llvm::StringError>("Unexpected info type.\n", - llvm::inconvertibleErrorCode()); + return createStringError(llvm::inconvertibleErrorCode(), + "unexpected InfoType"); } return llvm::Error::success(); } Modified: clang-tools-extra/trunk/clang-doc/Representation.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Representation.cpp?rev=370155&r1=370154&r2=370155&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-doc/Representation.cpp (original) +++ clang-tools-extra/trunk/clang-doc/Representation.cpp Tue Aug 27 19:56:03 2019 @@ -34,8 +34,8 @@ template <typename T> llvm::Expected<std::unique_ptr<Info>> reduce(std::vector<std::unique_ptr<Info>> &Values) { if (Values.empty()) - return llvm::make_error<llvm::StringError>(" No values to reduce.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "no value to reduce"); std::unique_ptr<Info> Merged = std::make_unique<T>(Values[0]->USR); T *Tmp = static_cast<T *>(Merged.get()); for (auto &I : Values) @@ -96,8 +96,8 @@ void reduceChildren(std::vector<EnumInfo llvm::Expected<std::unique_ptr<Info>> mergeInfos(std::vector<std::unique_ptr<Info>> &Values) { if (Values.empty()) - return llvm::make_error<llvm::StringError>("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 @@ mergeInfos(std::vector<std::unique_ptr<I case InfoType::IT_function: return reduce<FunctionInfo>(Values); default: - return llvm::make_error<llvm::StringError>("Unexpected info type.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "unexpected info type"); } } Modified: clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp?rev=370155&r1=370154&r2=370155&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp (original) +++ clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp Tue Aug 27 19:56:03 2019 @@ -289,8 +289,8 @@ llvm::Error YAMLGenerator::generateDocFo InfoYAML << *static_cast<clang::doc::FunctionInfo *>(I); break; case InfoType::IT_default: - return llvm::make_error<llvm::StringError>("Unexpected info type.\n", - llvm::inconvertibleErrorCode()); + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "unexpected InfoType"); } return llvm::Error::success(); } Modified: clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp?rev=370155&r1=370154&r2=370155&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp (original) +++ clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp Tue Aug 27 19:56:03 2019 @@ -172,8 +172,8 @@ llvm::Expected<llvm::SmallString<128>> g llvm::sys::path::native(Root, Path); llvm::sys::path::append(Path, RelativePath); if (CreateDirectory(Path)) - return llvm::make_error<llvm::StringError>("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; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits