#include "Flang.h"
#include "Arch/RISCV.h"
#include "CommonArgs.h"
#include "clang/Basic/CodeGenOptions.h"
#include "clang/Driver/Options.h"
#include "llvm/Frontend/Debug/Options.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/TargetParser/Host.h"
#include "llvm/TargetParser/RISCVISAInfo.h"
#include "llvm/TargetParser/RISCVTargetParser.h"
#include <cassert>
usingnamespaceclang::driver;
usingnamespaceclang::driver::tools;
usingnamespaceclang;
usingnamespacellvm::opt;
static void addDashXForInput(const ArgList &Args, const InputInfo &Input,
ArgStringList &CmdArgs) { … }
void Flang::addFortranDialectOptions(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
void Flang::addPreprocessingOptions(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
static bool shouldLoopVersion(const ArgList &Args) { … }
void Flang::addOtherOptions(const ArgList &Args, ArgStringList &CmdArgs) const { … }
void Flang::addCodegenOptions(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
void Flang::addPicOptions(const ArgList &Args, ArgStringList &CmdArgs) const { … }
void Flang::AddAArch64TargetArgs(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
void Flang::AddRISCVTargetArgs(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
void Flang::AddX86_64TargetArgs(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
static void addVSDefines(const ToolChain &TC, const ArgList &Args,
ArgStringList &CmdArgs) { … }
static void processVSRuntimeLibrary(const ToolChain &TC, const ArgList &Args,
ArgStringList &CmdArgs) { … }
void Flang::AddAMDGPUTargetArgs(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
void Flang::addTargetOptions(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
void Flang::addOffloadOptions(Compilation &C, const InputInfoList &Inputs,
const JobAction &JA, const ArgList &Args,
ArgStringList &CmdArgs) const { … }
static void addFloatingPointOptions(const Driver &D, const ArgList &Args,
ArgStringList &CmdArgs) { … }
static void renderRemarksOptions(const ArgList &Args, ArgStringList &CmdArgs,
const InputInfo &Input) { … }
void Flang::ConstructJob(Compilation &C, const JobAction &JA,
const InputInfo &Output, const InputInfoList &Inputs,
const ArgList &Args, const char *LinkingOutput) const { … }
Flang::Flang(const ToolChain &TC) : … { … }
Flang::~Flang() { … }