#include "llvm/ADT/StringSet.h"
#include <string>
-namespace clang{
-namespace tooling{
-namespace dependencies{
+namespace clang {
+namespace tooling {
+namespace dependencies {
/// The full dependencies and module graph for a specific input.
struct FullDependencies {
/// be located.
/// \param LookupModuleDeps This function is called to collect the full
/// transitive set of dependencies for this
- /// compilation and fill in "-fmodule-map-file="
- /// arguments.
+ /// compilation.
std::vector<std::string> getAdditionalArgs(
std::function<StringRef(ModuleID)> LookupPCMPath,
std::function<const ModuleDeps &(ModuleID)> LookupModuleDeps) const;
/// Get additional arguments suitable for appending to the original Clang
- /// command line, excluding arguments containing modules-related paths:
- /// "-fmodule-file=", "-fmodule-map-file=".
+ /// command line, excluding "-fmodule-file=" arguments.
std::vector<std::string> getAdditionalArgsWithoutModulePaths() const;
};
/// be located.
/// \param LookupModuleDeps This function is called to collect the full
/// transitive set of dependencies for this
- /// compilation and fill in "-fmodule-map-file="
- /// arguments.
+ /// compilation.
std::vector<std::string> getCanonicalCommandLine(
std::function<StringRef(ModuleID)> LookupPCMPath,
std::function<const ModuleDeps &(ModuleID)> LookupModuleDeps) const;
/// Gets the canonical command line suitable for passing to clang, excluding
- /// arguments containing modules-related paths: "-fmodule-file=", "-o",
- /// "-fmodule-map-file=".
+ /// "-fmodule-file=" and "-o" arguments.
std::vector<std::string> getCanonicalCommandLineWithoutModulePaths() const;
};
#include "clang/Tooling/DependencyScanning/DependencyScanningTool.h"
#include "clang/Frontend/Utils.h"
-namespace clang{
-namespace tooling{
-namespace dependencies{
+namespace clang {
+namespace tooling {
+namespace dependencies {
std::vector<std::string> FullDependencies::getAdditionalArgs(
std::function<StringRef(ModuleID)> LookupPCMPath,