--- a/components/llvm/patches/017-lli-21870067.patch Thu Jul 28 16:15:45 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-# 21870067 lli makes incorrect assumptions about anonymous namespace instantiation order
-# 21870087 naming convention for the InputFile key is inconsistent across LLVM utilities
-# For upstream - maybe.
---- tools/lli/lli.cpp 2014-12-02 16:51:19.000000000 -0800
-+++ tools/lli/lli.cpp 2015-09-20 10:37:39.445573121 -0700
-@@ -63,21 +63,22 @@
-
- #define DEBUG_TYPE "lli"
-
--namespace {
-- cl::opt<std::string>
-+static cl::opt<std::string>
- InputFile(cl::desc("<input bitcode>"), cl::Positional, cl::init("-"));
-
-- cl::list<std::string>
-+static cl::list<std::string>
- InputArgv(cl::ConsumeAfter, cl::desc("<program arguments>..."));
-
-- cl::opt<bool> ForceInterpreter("force-interpreter",
-+static cl::opt<bool>
-+ForceInterpreter("force-interpreter",
- cl::desc("Force interpretation: disable JIT"),
- cl::init(false));
-
- // The MCJIT supports building for a target address space separate from
- // the JIT compilation process. Use a forked process and a copying
- // memory manager with IPC to execute using this functionality.
-- cl::opt<bool> RemoteMCJIT("remote-mcjit",
-+static cl::opt<bool>
-+RemoteMCJIT("remote-mcjit",
- cl::desc("Execute MCJIT'ed code in a separate process."),
- cl::init(false));
-
-@@ -85,7 +86,7 @@
- // the simulated remote execution that allocates address space for child
- // execution. The child process will be executed and will communicate with
- // lli via stdin/stdout pipes.
-- cl::opt<std::string>
-+static cl::opt<std::string>
- ChildExecPath("mcjit-remote-process",
- cl::desc("Specify the filename of the process to launch "
- "for remote MCJIT execution. If none is specified,"
-@@ -93,7 +94,7 @@
- cl::value_desc("filename"), cl::init(""));
-
- // Determine optimization level.
-- cl::opt<char>
-+static cl::opt<char>
- OptLevel("O",
- cl::desc("Optimization level. [-O0, -O1, -O2, or -O3] "
- "(default = '-O2')"),
-@@ -101,73 +102,73 @@
- cl::ZeroOrMore,
- cl::init(' '));
-
-- cl::opt<std::string>
-+static cl::opt<std::string>
- TargetTriple("mtriple", cl::desc("Override target triple for module"));
-
-- cl::opt<std::string>
-+static cl::opt<std::string>
- MArch("march",
- cl::desc("Architecture to generate assembly for (see --version)"));
-
-- cl::opt<std::string>
-+static cl::opt<std::string>
- MCPU("mcpu",
- cl::desc("Target a specific cpu type (-mcpu=help for details)"),
- cl::value_desc("cpu-name"),
- cl::init(""));
-
-- cl::list<std::string>
-+static cl::list<std::string>
- MAttrs("mattr",
- cl::CommaSeparated,
- cl::desc("Target specific attributes (-mattr=help for details)"),
- cl::value_desc("a1,+a2,-a3,..."));
-
-- cl::opt<std::string>
-+static cl::opt<std::string>
- EntryFunc("entry-function",
- cl::desc("Specify the entry function (default = 'main') "
- "of the executable"),
- cl::value_desc("function"),
- cl::init("main"));
-
-- cl::list<std::string>
-+static cl::list<std::string>
- ExtraModules("extra-module",
- cl::desc("Extra modules to be loaded"),
- cl::value_desc("input bitcode"));
-
-- cl::list<std::string>
-+static cl::list<std::string>
- ExtraObjects("extra-object",
- cl::desc("Extra object files to be loaded"),
- cl::value_desc("input object"));
-
-- cl::list<std::string>
-+static cl::list<std::string>
- ExtraArchives("extra-archive",
- cl::desc("Extra archive files to be loaded"),
- cl::value_desc("input archive"));
-
-- cl::opt<bool>
-+static cl::opt<bool>
- EnableCacheManager("enable-cache-manager",
- cl::desc("Use cache manager to save/load mdoules"),
- cl::init(false));
-
-- cl::opt<std::string>
-+static cl::opt<std::string>
- ObjectCacheDir("object-cache-dir",
- cl::desc("Directory to store cached object files "
- "(must be user writable)"),
- cl::init(""));
-
-- cl::opt<std::string>
-+static cl::opt<std::string>
- FakeArgv0("fake-argv0",
- cl::desc("Override the 'argv[0]' value passed into the executing"
- " program"), cl::value_desc("executable"));
-
-- cl::opt<bool>
-+static cl::opt<bool>
- DisableCoreFiles("disable-core-files", cl::Hidden,
- cl::desc("Disable emission of core files if possible"));
-
-- cl::opt<bool>
-+static cl::opt<bool>
- NoLazyCompilation("disable-lazy-compilation",
- cl::desc("Disable JIT lazy compilation"),
- cl::init(false));
-
-- cl::opt<Reloc::Model>
-+static cl::opt<Reloc::Model>
- RelocModel("relocation-model",
- cl::desc("Choose relocation model"),
- cl::init(Reloc::Default),
-@@ -182,7 +183,7 @@
- "Relocatable external references, non-relocatable code"),
- clEnumValEnd));
-
-- cl::opt<llvm::CodeModel::Model>
-+static cl::opt<llvm::CodeModel::Model>
- CMModel("code-model",
- cl::desc("Choose code model"),
- cl::init(CodeModel::JITDefault),
-@@ -198,12 +199,12 @@
- "Large code model"),
- clEnumValEnd));
-
-- cl::opt<bool>
-+static cl::opt<bool>
- GenerateSoftFloatCalls("soft-float",
- cl::desc("Generate software floating point library calls"),
- cl::init(false));
-
-- cl::opt<llvm::FloatABI::ABIType>
-+static cl::opt<llvm::FloatABI::ABIType>
- FloatABIForCalls("float-abi",
- cl::desc("Choose float ABI type"),
- cl::init(FloatABI::Default),
-@@ -215,7 +216,7 @@
- clEnumValN(FloatABI::Hard, "hard",
- "Hard float ABI (uses FP registers)"),
- clEnumValEnd));
-- cl::opt<bool>
-+static cl::opt<bool>
- // In debug builds, make this default to true.
- #ifdef NDEBUG
- #define EMIT_DEBUG false
-@@ -232,7 +233,6 @@
- cl::Hidden,
- cl::desc("Emit debug info objfiles to disk"),
- cl::init(false));
--}
-
- //===----------------------------------------------------------------------===//
- // Object cache
---- tools/lli/lli.cpp 2015-10-05 11:01:32.000000000 -0700
-+++ tools/lli/lli.cpp 2016-01-26 14:44:39.000000000 -0800
-@@ -64,7 +64,8 @@
- #define DEBUG_TYPE "lli"
-
- static cl::opt<std::string>
-- InputFile(cl::desc("<input bitcode>"), cl::Positional, cl::init("-"));
-+ InputFile(cl::desc("<input bitcode>"), cl::Positional,
-+ cl::init(std::string("-")));
-
- static cl::list<std::string>
- InputArgv(cl::ConsumeAfter, cl::desc("<program arguments>..."));
-@@ -91,7 +92,8 @@
- cl::desc("Specify the filename of the process to launch "
- "for remote MCJIT execution. If none is specified,"
- "\n\tremote execution will be simulated in-process."),
-- cl::value_desc("filename"), cl::init(""));
-+ cl::value_desc("filename"),
-+ cl::init(std::string("")));
-
- // Determine optimization level.
- static cl::opt<char>
-@@ -113,7 +115,7 @@
- MCPU("mcpu",
- cl::desc("Target a specific cpu type (-mcpu=help for details)"),
- cl::value_desc("cpu-name"),
-- cl::init(""));
-+ cl::init(std::string("")));
-
- static cl::list<std::string>
- MAttrs("mattr",
-@@ -126,7 +128,7 @@
- cl::desc("Specify the entry function (default = 'main') "
- "of the executable"),
- cl::value_desc("function"),
-- cl::init("main"));
-+ cl::init(std::string("main")));
-
- static cl::list<std::string>
- ExtraModules("extra-module",
-@@ -152,7 +154,7 @@
- ObjectCacheDir("object-cache-dir",
- cl::desc("Directory to store cached object files "
- "(must be user writable)"),
-- cl::init(""));
-+ cl::init(std::string("")));
-
- static cl::opt<std::string>
- FakeArgv0("fake-argv0",