blob: b105138accaf76e942410de1eb85f113a14973f8 [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
/// This file 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"
#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; }
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 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