blob: 5ab4477d0c86ca51718156cd77f49a91e0192470 [file] [log] [blame] [edit]
//===--- GollvmOptions.h - Gollvm Option info & table ---------------------===//
//
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_GOLLVM_DRIVER_GOLLVMOPTIONS_H
#define LLVM_GOLLVM_DRIVER_GOLLVMOPTIONS_H
#include <memory>
namespace llvm {
namespace opt {
class OptTable;
}
}
namespace gollvm {
namespace options {
/// Flags specifically for gollvm options. Must not overlap with
/// llvm::opt::DriverFlag.
enum flags {
DriverOption = (1 << 4),
LinkerInput = (1 << 5),
Unsupported = (1 << 6),
Ignored = (1 << 7)
};
enum ID {
OPT_INVALID = 0, // This is not an option ID.
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
HELPTEXT, METAVAR, VALUES) \
OPT_##ID,
#include "GollvmOptions.inc"
LastOption
#undef OPTION
};
extern std::unique_ptr<llvm::opt::OptTable> createGollvmDriverOptTable();
} // end namespace options
} // end namespace gollvm
#endif