From 614fbce1f56c31abfe94b6fcd4f450371c3c50f5 Mon Sep 17 00:00:00 2001 From: "apatrick@google.com" Date: Fri, 6 Nov 2009 19:17:18 +0000 Subject: Removed core\cross\packing.h. Using approach consistent with Chrome. #pragma pack works in both MSVC and GCC. http://gcc.gnu.org/onlinedocs/gcc/Structure_002dPacking-Pragmas.html Review URL: http://codereview.chromium.org/373005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31262 0039d316-1c4b-4281-b951-d872f2087c98 --- o3d/core/cross/message_commands.h | 6 ++-- o3d/core/cross/packing.h | 66 --------------------------------------- 2 files changed, 2 insertions(+), 70 deletions(-) delete mode 100644 o3d/core/cross/packing.h (limited to 'o3d/core/cross') diff --git a/o3d/core/cross/message_commands.h b/o3d/core/cross/message_commands.h index 5ffeff3..257ebfb 100644 --- a/o3d/core/cross/message_commands.h +++ b/o3d/core/cross/message_commands.h @@ -35,7 +35,6 @@ #define O3D_CORE_CROSS_MESSAGE_COMMANDS_H_ #include "core/cross/types.h" -#include "core/cross/packing.h" namespace o3d { @@ -45,7 +44,7 @@ namespace o3d { // Make sure the compiler does not add extra padding to any of the message // structures. -O3D_PUSH_STRUCTURE_PACKING_1; +#pragma pack(push, 1) // This macro is used to safely and convienently expand the list of possible IMC // messages in to various lists and never have them get out of sync. To add a @@ -395,8 +394,7 @@ struct MessageGetVersion { Msg msg; }; - -O3D_POP_STRUCTURE_PACKING; +#pragma pack(pop) } // namespace o3d diff --git a/o3d/core/cross/packing.h b/o3d/core/cross/packing.h deleted file mode 100644 index 674ef09..0000000 --- a/o3d/core/cross/packing.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2009, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -// This file defines Packing macros for the packing of structures. - -#ifndef O3D_UTILS_CROSS_PACKING_H_ -#define O3D_UTILS_CROSS_PACKING_H_ - -#if defined(COMPILER_GCC) - -// NOTE: I tried building the string as in -// #define O3D_SET_STRUCTURE_PACKING(p) _Pragma("pack(" #p ")") -// but gcc doesn't like that. :-( -#define O3D_SET_STRUCTURE_PACKING_1 _Pragma("pack(1)") -#define O3D_SET_STRUCTURE_PACKING_2 _Pragma("pack(2)") -#define O3D_SET_STRUCTURE_PACKING_4 _Pragma("pack(4)") -#define O3D_PUSH_STRUCTURE_PACKING_1 _Pragma("pack(push, 1)") -#define O3D_PUSH_STRUCTURE_PACKING_2 _Pragma("pack(push, 2)") -#define O3D_PUSH_STRUCTURE_PACKING_4 _Pragma("pack(push, 4)") -#define O3D_POP_STRUCTURE_PACKING _Pragma("pack(pop)") - -#elif defined(COMPILER_MSVC) - -#define O3D_SET_STRUCTURE_PACKING_1 __pragma(pack(1)) -#define O3D_SET_STRUCTURE_PACKING_2 __pragma(pack(2)) -#define O3D_SET_STRUCTURE_PACKING_4 __pragma(pack(4)) -#define O3D_PUSH_STRUCTURE_PACKING_1 __pragma(pack(push, 1)) -#define O3D_PUSH_STRUCTURE_PACKING_2 __pragma(pack(push, 2)) -#define O3D_PUSH_STRUCTURE_PACKING_4 __pragma(pack(push, 4)) -#define O3D_POP_STRUCTURE_PACKING __pragma(pack(pop)) - -#else -#error Need Packing Macros -#endif - -#endif // O3D_UTILS_CROSS_PACKING_H_ - -- cgit v1.1