blob: 2204414c6e2587d97ba016dcb51ce790a8bc2ca0 [file] [log] [blame]
//===- subzero/src/IceClFlagsExtra.h - Extra Cl Flags -----------*- C++ -*-===//
//
// The Subzero Code Generator
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
///
/// \file
/// \brief Declares command line flags primarily used for non-minimal builds.
///
//===----------------------------------------------------------------------===//
#ifndef SUBZERO_SRC_ICECLFLAGSEXTRA_H
#define SUBZERO_SRC_ICECLFLAGSEXTRA_H
#include "IceDefs.h"
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-parameter"
#pragma clang diagnostic ignored "-Wredundant-move"
#include "llvm/IRReader/IRReader.h"
#pragma clang diagnostic pop
namespace Ice {
class ClFlagsExtra {
ClFlagsExtra(const ClFlagsExtra &) = delete;
ClFlagsExtra &operator=(const ClFlagsExtra &) = delete;
public:
ClFlagsExtra() = default;
bool getAlwaysExitSuccess() const { return AlwaysExitSuccess; }
void setAlwaysExitSuccess(bool NewValue) { AlwaysExitSuccess = NewValue; }
bool getBuildOnRead() const { return BuildOnRead; }
void setBuildOnRead(bool NewValue) { BuildOnRead = NewValue; }
bool getGenerateBuildAtts() const { return GenerateBuildAtts; }
void setGenerateBuildAtts(bool NewValue) { GenerateBuildAtts = NewValue; }
bool getLLVMVerboseErrors() const { return LLVMVerboseErrors; }
void setLLVMVerboseErrors(bool NewValue) { LLVMVerboseErrors = NewValue; }
bool getBitcodeAsText() const { return BitcodeAsText; }
void setBitcodeAsText(bool NewValue) { BitcodeAsText = NewValue; }
llvm::NaClFileFormat getInputFileFormat() const { return InputFileFormat; }
void setInputFileFormat(llvm::NaClFileFormat NewValue) {
InputFileFormat = NewValue;
}
const IceString &getAppName() const { return AppName; }
void setAppName(const IceString &NewValue) { AppName = NewValue; }
const IceString &getIRFilename() const { return IRFilename; }
void setIRFilename(const IceString &NewValue) { IRFilename = NewValue; }
const IceString &getLogFilename() const { return LogFilename; }
void setLogFilename(const IceString &NewValue) { LogFilename = NewValue; }
const IceString &getOutputFilename() const { return OutputFilename; }
void setOutputFilename(const IceString &NewValue) {
OutputFilename = NewValue;
}
private:
bool AlwaysExitSuccess = false;
bool BitcodeAsText = false;
bool BuildOnRead = false;
bool GenerateBuildAtts = false;
bool LLVMVerboseErrors = false;
llvm::NaClFileFormat InputFileFormat = llvm::LLVMFormat;
IceString AppName = "";
IceString IRFilename = "";
IceString LogFilename = "";
IceString OutputFilename = "";
};
} // end of namespace Ice
#endif // SUBZERO_SRC_ICECLFLAGSEXTRA_H