MC: Initialize MCSymbolData::Offset directly
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 21 May 2015 01:59:58 +0000 (01:59 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 21 May 2015 01:59:58 +0000 (01:59 +0000)
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

index 26b416e47bc0d26454cb0c0b4702eb0177423046..6f396a50c0d97c2964097a03b78056842f7fc95b 100644 (file)
@@ -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); }