blob: b105138accaf76e942410de1eb85f113a14973f8 [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//===----------------------------------------------------------------------===//
Andrew Scull9612d322015-07-06 14:53:25 -07009///
10/// \file
11/// This file declares command line flags primarily used for non-minimal builds.
12///
Jan Voung44c3a802015-03-27 16:29:08 -070013//===----------------------------------------------------------------------===//
14
15#ifndef SUBZERO_SRC_ICECLFLAGSEXTRA_H
16#define SUBZERO_SRC_ICECLFLAGSEXTRA_H
17
Jan Voung44c3a802015-03-27 16:29:08 -070018#include "IceDefs.h"
Jim Stichnoth98da9662015-06-27 06:38:08 -070019
20#pragma clang diagnostic push
21#pragma clang diagnostic ignored "-Wunused-parameter"
John Porto67f8de92015-06-25 10:14:17 -070022#include "llvm/IRReader/IRReader.h"
Jim Stichnoth98da9662015-06-27 06:38:08 -070023#pragma clang diagnostic pop
Jan Voung44c3a802015-03-27 16:29:08 -070024
25namespace Ice {
26
27class ClFlagsExtra {
28 ClFlagsExtra(const ClFlagsExtra &) = delete;
29 ClFlagsExtra &operator=(const ClFlagsExtra &) = delete;
30
31public:
Jim Stichnotheafb56c2015-06-22 10:35:22 -070032 ClFlagsExtra() = default;
Jan Voung44c3a802015-03-27 16:29:08 -070033
34 bool getAlwaysExitSuccess() const { return AlwaysExitSuccess; }
35 void setAlwaysExitSuccess(bool NewValue) { AlwaysExitSuccess = NewValue; }
36
37 bool getBuildOnRead() const { return BuildOnRead; }
38 void setBuildOnRead(bool NewValue) { BuildOnRead = NewValue; }
39
40 bool getGenerateBuildAtts() const { return GenerateBuildAtts; }
41 void setGenerateBuildAtts(bool NewValue) { GenerateBuildAtts = NewValue; }
42
43 bool getLLVMVerboseErrors() const { return LLVMVerboseErrors; }
44 void setLLVMVerboseErrors(bool NewValue) { LLVMVerboseErrors = NewValue; }
45
46 llvm::NaClFileFormat getInputFileFormat() const { return InputFileFormat; }
47 void setInputFileFormat(llvm::NaClFileFormat NewValue) {
48 InputFileFormat = NewValue;
49 }
50
51 const IceString &getAppName() const { return AppName; }
52 void setAppName(const IceString &NewValue) { AppName = NewValue; }
53
54 const IceString &getIRFilename() const { return IRFilename; }
55 void setIRFilename(const IceString &NewValue) { IRFilename = NewValue; }
56
57 const IceString &getLogFilename() const { return LogFilename; }
58 void setLogFilename(const IceString &NewValue) { LogFilename = NewValue; }
59
60 const IceString &getOutputFilename() const { return OutputFilename; }
61 void setOutputFilename(const IceString &NewValue) {
62 OutputFilename = NewValue;
63 }
64
65private:
Jim Stichnotheafb56c2015-06-22 10:35:22 -070066 bool AlwaysExitSuccess = false;
67 bool BuildOnRead = false;
68 bool GenerateBuildAtts = false;
69 bool LLVMVerboseErrors = false;
Jan Voung44c3a802015-03-27 16:29:08 -070070
Jim Stichnotheafb56c2015-06-22 10:35:22 -070071 llvm::NaClFileFormat InputFileFormat = llvm::LLVMFormat;
Jan Voung44c3a802015-03-27 16:29:08 -070072
Jim Stichnotheafb56c2015-06-22 10:35:22 -070073 IceString AppName = "";
74 IceString IRFilename = "";
75 IceString LogFilename = "";
76 IceString OutputFilename = "";
Jan Voung44c3a802015-03-27 16:29:08 -070077};
78
79} // end of namespace Ice
80
81#endif // SUBZERO_SRC_ICECLFLAGSEXTRA_H