view gen/cl_options.h @ 1021:d1ec9ff0e9ba

Implemented basic -m32 and -m64 options.
author Tomas Lindquist Olsen <>
date Sun, 01 Mar 2009 22:27:03 +0100
parents 2667e3a145be
children 7ce8355fbcc6
line wrap: on
line source

#include "mars.h"

#include <deque>
#include <vector>

#include "llvm/Support/RegistryParser.h"
#include "llvm/Target/TargetMachineRegistry.h"
#include "llvm/Support/CommandLine.h"

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> noAsm;
    extern cl::opt<bool> dontWriteObj;
    extern cl::opt<std::string> objectFile;
    extern cl::opt<std::string> objectDir;
    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<std::string> ddocDir;
    extern cl::opt<std::string> ddocFile;
#ifdef _DH
    extern cl::opt<std::string> hdrDir;
    extern cl::opt<std::string> hdrFile;
    extern cl::list<std::string> versions;

    extern cl::opt<const llvm::TargetMachineRegistry::entry*, false,
                    llvm::RegistryParser<llvm::TargetMachine> > 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;

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