blob: 9346d6e571cb231d3a89c0a775fa8275b6f94b8f [file] [log] [blame]
Jan Voung44c3a802015-03-27 16:29:08 -07001//===- subzero/src/IceClFlagsExtra.h - Extra Cl Flags -----------*- C++ -*-===//
2//
3// The Subzero Code Generator
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file declares command line flags primarily used for non-minimal builds.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef SUBZERO_SRC_ICECLFLAGSEXTRA_H
15#define SUBZERO_SRC_ICECLFLAGSEXTRA_H
16
17#include "llvm/IRReader/IRReader.h"
18
19#include "IceDefs.h"
20
21namespace Ice {
22
23class ClFlagsExtra {
24 ClFlagsExtra(const ClFlagsExtra &) = delete;
25 ClFlagsExtra &operator=(const ClFlagsExtra &) = delete;
26
27public:
28 ClFlagsExtra()
29 : AlwaysExitSuccess(false), BuildOnRead(false), GenerateBuildAtts(false),
30 LLVMVerboseErrors(false), InputFileFormat(llvm::LLVMFormat) {}
31
32 bool getAlwaysExitSuccess() const { return AlwaysExitSuccess; }
33 void setAlwaysExitSuccess(bool NewValue) { AlwaysExitSuccess = NewValue; }
34
35 bool getBuildOnRead() const { return BuildOnRead; }
36 void setBuildOnRead(bool NewValue) { BuildOnRead = NewValue; }
37
38 bool getGenerateBuildAtts() const { return GenerateBuildAtts; }
39 void setGenerateBuildAtts(bool NewValue) { GenerateBuildAtts = NewValue; }
40
41 bool getLLVMVerboseErrors() const { return LLVMVerboseErrors; }
42 void setLLVMVerboseErrors(bool NewValue) { LLVMVerboseErrors = NewValue; }
43
44 llvm::NaClFileFormat getInputFileFormat() const { return InputFileFormat; }
45 void setInputFileFormat(llvm::NaClFileFormat NewValue) {
46 InputFileFormat = NewValue;
47 }
48
49 const IceString &getAppName() const { return AppName; }
50 void setAppName(const IceString &NewValue) { AppName = NewValue; }
51
52 const IceString &getIRFilename() const { return IRFilename; }
53 void setIRFilename(const IceString &NewValue) { IRFilename = NewValue; }
54
55 const IceString &getLogFilename() const { return LogFilename; }
56 void setLogFilename(const IceString &NewValue) { LogFilename = NewValue; }
57
58 const IceString &getOutputFilename() const { return OutputFilename; }
59 void setOutputFilename(const IceString &NewValue) {
60 OutputFilename = NewValue;
61 }
62
63private:
64 bool AlwaysExitSuccess;
65 bool BuildOnRead;
66 bool GenerateBuildAtts;
67 bool LLVMVerboseErrors;
68
69 llvm::NaClFileFormat InputFileFormat;
70
71 IceString AppName;
72 IceString IRFilename;
73 IceString LogFilename;
74 IceString OutputFilename;
75};
76
77} // end of namespace Ice
78
79#endif // SUBZERO_SRC_ICECLFLAGSEXTRA_H