Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:36:53

0001 //===--- Options.h - Option info & table ------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLVM_CLANG_DRIVER_OPTIONS_H
0010 #define LLVM_CLANG_DRIVER_OPTIONS_H
0011 
0012 #include "llvm/Option/OptTable.h"
0013 #include "llvm/Option/Option.h"
0014 
0015 namespace clang {
0016 namespace driver {
0017 
0018 namespace options {
0019 /// Flags specifically for clang options.  Must not overlap with
0020 /// llvm::opt::DriverFlag.
0021 enum ClangFlags {
0022   NoXarchOption = (1 << 4),
0023   LinkerInput = (1 << 5),
0024   NoArgumentUnused = (1 << 6),
0025   Unsupported = (1 << 7),
0026   LinkOption = (1 << 8),
0027   Ignored = (1 << 9),
0028   TargetSpecific = (1 << 10),
0029 };
0030 
0031 // Flags specifically for clang option visibility. We alias DefaultVis to
0032 // ClangOption, because "DefaultVis" is confusing in Options.td, which is used
0033 // for multiple drivers (clang, cl, flang, etc).
0034 enum ClangVisibility {
0035   ClangOption = llvm::opt::DefaultVis,
0036   CLOption = (1 << 1),
0037   CC1Option = (1 << 2),
0038   CC1AsOption = (1 << 3),
0039   FlangOption = (1 << 4),
0040   FC1Option = (1 << 5),
0041   DXCOption = (1 << 6),
0042 };
0043 
0044 enum ID {
0045     OPT_INVALID = 0, // This is not an option ID.
0046 #define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
0047 #include "clang/Driver/Options.inc"
0048     LastOption
0049 #undef OPTION
0050   };
0051 }
0052 
0053 const llvm::opt::OptTable &getDriverOptTable();
0054 }
0055 }
0056 
0057 #endif