From 1d4f2ba509eebf9aaaec2412a4772b6969e49974 Mon Sep 17 00:00:00 2001
From: "Duncan P. N. Exon Smith" <dexonsmith@apple.com>
Date: Thu, 21 May 2015 01:59:58 +0000
Subject: [PATCH] MC: Initialize MCSymbolData::Offset directly

Try to fix miscompile after r237873.  Looks like this union
initialization isn't legal (or at least not supported).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237875 91177308-0d34-0410-b5e6-96231b3b80d8
---
 include/llvm/MC/MCSymbol.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/llvm/MC/MCSymbol.h b/include/llvm/MC/MCSymbol.h
index 26b416e47bc..6f396a50c0d 100644
--- a/include/llvm/MC/MCSymbol.h
+++ b/include/llvm/MC/MCSymbol.h
@@ -37,7 +37,7 @@ class MCSymbolData {
   union {
     /// Offset - The offset to apply to the fragment address to form this
     /// symbol's value.
-    uint64_t Offset = 0;
+    uint64_t Offset;
 
     /// CommonSize - The size of the symbol, if it is 'common'.
     uint64_t CommonSize;
@@ -60,6 +60,8 @@ class MCSymbolData {
   uint64_t Index = 0;
 
 public:
+  MCSymbolData() { Offset = 0; }
+
   MCFragment *getFragment() const { return Fragment.getPointer(); }
   void setFragment(MCFragment *Value) { Fragment.setPointer(Value); }
 
-- 
2.34.1