components/llvm/patches/017-lli-21870067.patch
changeset 6512 92717ce71105
parent 6511 d283aa33e131
child 6513 ea2097ba7d67
--- 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",