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 @@ -257,8 +257,12 @@ std::vector UserStylesheets, std::vector JsScripts) : ECtx(ECtx), PublicOnly(PublicOnly), OutDirectory(OutDirectory), - SourceRoot(SourceRoot), UserStylesheets(UserStylesheets), - JsScripts(JsScripts) { + UserStylesheets(UserStylesheets), JsScripts(JsScripts) { + llvm::SmallString<128> SourceRootDir(SourceRoot); + if (SourceRoot.empty()) + // If no SourceRoot was provided the current path is used as the default + llvm::sys::fs::current_path(SourceRootDir); + this->SourceRoot = SourceRootDir.str(); if (!RepositoryUrl.empty()) { this->RepositoryUrl = RepositoryUrl; if (!RepositoryUrl.empty() && RepositoryUrl.find("http://") != 0 && 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 @@ -203,17 +203,11 @@ tooling::ArgumentInsertPosition::END), ArgAdjuster); - llvm::SmallString<128> SourceRootDir; - // Check if the --source-root flag has a value - if (SourceRoot.empty()) - // If it's empty the current path is used as the default - llvm::sys::fs::current_path(SourceRootDir); - clang::doc::ClangDocContext CDCtx = { Exec->get()->getExecutionContext(), PublicOnly, OutDirectory, - SourceRootDir.str(), + SourceRoot, RepositoryUrl, {UserStylesheets.begin(), UserStylesheets.end()}, {"index.js", "index_json.js"}};