Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FU...
[oota-llvm.git] / include / llvm / Bitcode / BitCodes.h
index fa1325e329fc9167a59d518df4171e483fbbe02a..28e1ab1c8711b3c069ce4d957cccc7dc55eecd8d 100644 (file)
@@ -140,8 +140,7 @@ public:
     if (C >= '0' && C <= '9') return C-'0'+26+26;
     if (C == '.') return 62;
     if (C == '_') return 63;
-    assert(0 && "Not a value Char6 character!");
-    return 0;
+    llvm_unreachable("Not a value Char6 character!");
   }
 
   static char DecodeChar6(unsigned V) {
@@ -151,17 +150,18 @@ public:
     if (V < 26+26+10) return V-26-26+'0';
     if (V == 62) return '.';
     if (V == 63) return '_';
-    assert(0 && "Not a value Char6 character!");
-    return ' ';
+    llvm_unreachable("Not a value Char6 character!");
   }
 
 };
 
+template <> struct isPodLike<BitCodeAbbrevOp> { static const bool value=true; };
+
 /// BitCodeAbbrev - This class represents an abbreviation record.  An
 /// abbreviation allows a complex record that has redundancy to be stored in a
 /// specialized format instead of the fully-general, fully-vbr, format.
 class BitCodeAbbrev {
-  SmallVector<BitCodeAbbrevOp, 8> OperandList;
+  SmallVector<BitCodeAbbrevOp, 32> OperandList;
   unsigned char RefCount; // Number of things using this.
   ~BitCodeAbbrev() {}
 public: