Files
carbon-lang/toolchain/driver/driver_env.h
T
josh11bandJosh L 47bfa375af Propagate llvm::vfs::FileSystem from driver_env to Clang (#4537)
As discussed in #4530 . This required switching to using
`llvm::IntrusiveRefCntPtr` in a number of places.

---------

Co-authored-by: Josh L <josh11b@users.noreply.github.com>
2024-11-18 18:24:19 +00:00

36 lines
990 B
C++

// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#ifndef CARBON_TOOLCHAIN_DRIVER_DRIVER_ENV_H_
#define CARBON_TOOLCHAIN_DRIVER_DRIVER_ENV_H_
#include "common/ostream.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "toolchain/install/install_paths.h"
namespace Carbon {
struct DriverEnv {
// The filesystem for source code.
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> fs;
// Helper to locate the toolchain installation's files.
const InstallPaths* installation;
// Standard output; stdout.
llvm::raw_pwrite_stream& output_stream;
// Error output; stderr.
llvm::raw_pwrite_stream& error_stream;
// For CARBON_VLOG.
llvm::raw_pwrite_stream* vlog_stream = nullptr;
// Tracks when the driver is being fuzzed.
bool fuzzing = false;
};
} // namespace Carbon
#endif // CARBON_TOOLCHAIN_DRIVER_DRIVER_ENV_H_