[commit] r1274 - trunk/GME/Core

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Wed Apr 20 12:42:02 CDT 2011


Author: ksmyth
Date: Wed Apr 20 12:42:02 2011
New Revision: 1274

Log:
Can shave a word off bin attrs since vector::allocator isnt written or read

Modified:
   trunk/GME/Core/CoreBinFile.h

Modified: trunk/GME/Core/CoreBinFile.h
==============================================================================
--- trunk/GME/Core/CoreBinFile.h	Wed Apr 20 09:49:22 2011	(r1273)
+++ trunk/GME/Core/CoreBinFile.h	Wed Apr 20 12:42:02 2011	(r1274)
@@ -117,7 +117,7 @@
 #ifdef _DEBUG
 	int pad[5];
 #else
-	int pad[4];
+	int pad[3];
 #endif
 };
 
@@ -622,10 +622,15 @@
 static_assert(sizeof(BinAttr<VALTYPE_LONG>) <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
 static_assert(sizeof(BinAttr<VALTYPE_REAL>) <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
 static_assert(sizeof(BinAttr<VALTYPE_STRING>) <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
+static_assert(sizeof(BinAttr<VALTYPE_POINTER>) <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
+#ifndef _DEBUG
+// -4 because vector::_Alval takes up space, but is never read or written to (in Release builds)
+static_assert(sizeof(BinAttr<VALTYPE_BINARY>)-4 <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
+static_assert(sizeof(BinAttr<VALTYPE_COLLECTION>)-4 <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
+#else
 static_assert(sizeof(BinAttr<VALTYPE_BINARY>) <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
-static_assert(sizeof(BinAttr<VALTYPE_LOCK>) <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
 static_assert(sizeof(BinAttr<VALTYPE_COLLECTION>) <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
-static_assert(sizeof(BinAttr<VALTYPE_POINTER>) <= sizeof(BinAttrUnion), "BinAttrUnion is too small.");
+#endif
 
 
 #endif//MGA_COREBINFILE_H


More information about the gme-commit mailing list