1f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//===--- Options.h - Option info & table ------------------------*- C++ -*-===// 2f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// 3f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// The LLVM Compiler Infrastructure 4f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// 5f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// This file is distributed under the University of Illinois Open Source 6f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// License. See LICENSE.TXT for details. 7f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// 8f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//===----------------------------------------------------------------------===// 9f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot 10f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#ifndef LLVM_CLANG_DRIVER_OPTIONS_H 11f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#define LLVM_CLANG_DRIVER_OPTIONS_H 12f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot 13f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include <memory> 14f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot 15f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace llvm { 16f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace opt { 17f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotclass OptTable; 18f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} 19f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} 20f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot 21f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace clang { 22f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace driver { 23f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot 24f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace options { 25f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot/// Flags specifically for clang options. Must not overlap with 26f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot/// llvm::opt::DriverFlag. 27f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotenum ClangFlags { 28f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot DriverOption = (1 << 4), 29f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot LinkerInput = (1 << 5), 30f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot NoArgumentUnused = (1 << 6), 31f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot Unsupported = (1 << 7), 32f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot CoreOption = (1 << 8), 33f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot CLOption = (1 << 9), 34f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot CC1Option = (1 << 10), 35f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot CC1AsOption = (1 << 11), 36f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot NoDriverOption = (1 << 12), 37f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot Ignored = (1 << 13) 38f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot}; 39f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot 40f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotenum ID { 41f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot OPT_INVALID = 0, // This is not an option ID. 42f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ 43f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot HELPTEXT, METAVAR, VALUES) \ 44f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot OPT_##ID, 45f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "clang/Driver/Options.inc" 46f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot LastOption 47f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#undef OPTION 48f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot }; 49f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} 50f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot 51f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotstd::unique_ptr<llvm::opt::OptTable> createDriverOptTable(); 52f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} 53f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} 54f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot 55f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#endif 56