File: cl_options.h

package info (click to toggle)
ldc 1%3A0.14.0.dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 29,416 kB
  • ctags: 10,371
  • sloc: ansic: 101,656; cpp: 28,021; sh: 484; makefile: 324; asm: 274
file content (79 lines) | stat: -rw-r--r-- 2,760 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//===-- driver/cl_options.h - LDC command line options ----------*- C++ -*-===//
//
//                         LDC – the LLVM D compiler
//
// This file is distributed under the BSD-style LDC license. See the LICENSE
// file for details.
//
//===----------------------------------------------------------------------===//
//
// Defines the LDC command line options as handled using the LLVM command
// line parsing library.
//
//===----------------------------------------------------------------------===//

#ifndef LDC_DRIVER_CL_OPTIONS_H
#define LDC_DRIVER_CL_OPTIONS_H

#include "driver/targetmachine.h"
#include "gen/cl_helpers.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/CommandLine.h"
#include <deque>
#include <vector>

namespace opts {
    namespace cl = llvm::cl;

    /* Mostly generated with the following command:
       egrep -e '^(cl::|#if|#e)' gen/cl_options.cpp \
        | sed -re 's/^(cl::.*)\(.*$/    extern \1;/'
     */
    extern cl::list<std::string> fileList;
    extern cl::list<std::string> runargs;
    extern cl::opt<bool> compileOnly;
    extern cl::opt<bool, true> enforcePropertySyntax;
    extern cl::opt<bool> createStaticLib;
    extern cl::opt<bool> createSharedLib;
    extern cl::opt<bool> noAsm;
    extern cl::opt<bool> dontWriteObj;
    extern cl::opt<std::string> objectFile;
    extern cl::opt<std::string> objectDir;
    extern cl::opt<std::string> soname;
    extern cl::opt<bool> output_bc;
    extern cl::opt<bool> output_ll;
    extern cl::opt<bool> output_s;
    extern cl::opt<cl::boolOrDefault> output_o;
    extern cl::opt<bool, true> disableRedZone;
    extern cl::opt<std::string> ddocDir;
    extern cl::opt<std::string> ddocFile;
    extern cl::opt<std::string> jsonFile;
    extern cl::opt<std::string> hdrDir;
    extern cl::opt<std::string> hdrFile;
    extern cl::list<std::string> versions;
    extern cl::opt<std::string> moduleDepsFile;

    extern cl::opt<std::string> mArch;
    extern cl::opt<bool> m32bits;
    extern cl::opt<bool> m64bits;
    extern cl::opt<std::string> mCPU;
    extern cl::list<std::string> mAttrs;
    extern cl::opt<std::string> mTargetTriple;
    extern cl::opt<llvm::Reloc::Model> mRelocModel;
    extern cl::opt<llvm::CodeModel::Model> mCodeModel;
    extern cl::opt<bool> disableFpElim;
    extern cl::opt<FloatABI::Type> mFloatABI;
    extern cl::opt<bool, true> singleObj;
    extern cl::opt<bool> linkonceTemplates;
    extern cl::opt<bool> disableLinkerStripDead;

    extern cl::opt<BoolOrDefaultAdapter, false, FlagParser> boundsChecks;
    extern bool nonSafeBoundsChecks;

    extern cl::opt<unsigned, true> nestedTemplateDepth;

    // Arguments to -d-debug
    extern std::vector<std::string> debugArgs;
    // Arguments to -run
}
#endif