Right, we break strict aliasing requirements.  Make sure to disable strict
aliasing in the C compiler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12772 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccld/GenerateCode.cpp b/tools/gccld/GenerateCode.cpp
index d6fad5f..7a8f54a 100644
--- a/tools/gccld/GenerateCode.cpp
+++ b/tools/gccld/GenerateCode.cpp
@@ -176,15 +176,16 @@
                         const std::string &InputFile,
                         const std::string &llc, char ** const envp) {
   // Run LLC to convert the bytecode file into C.
-  const char *cmd[7];
+  const char *cmd[8];
 
   cmd[0] = llc.c_str();
   cmd[1] = "-march=c";
   cmd[2] = "-f";
-  cmd[3] = "-o";
-  cmd[4] = OutputFile.c_str();
-  cmd[5] = InputFile.c_str();
-  cmd[6] = 0;
+  cmd[3] = "-fno-strict-aliasing";
+  cmd[4] = "-o";
+  cmd[5] = OutputFile.c_str();
+  cmd[6] = InputFile.c_str();
+  cmd[7] = 0;
   return ExecWait(cmd, envp);
 }