Damjan Jovanovic : msvcrt: Align struct _stati64'
s st_size on an 8 byte boundary.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Feb 6 08:03:37 CST 2007
Module: wine
Branch: master
Commit: 65d9723dc4c45e691132ac0fef50087895935c34
URL: http://source.winehq.org/git/wine.git/?a=commit;h=65d9723dc4c45e691132ac0fef50087895935c34
Author: Damjan Jovanovic <damjan.jov at gmail.com>
Date: Tue Feb 6 09:35:50 2007 +0200
msvcrt: Align struct _stati64's st_size on an 8 byte boundary.
---
dlls/msvcrt/msvcrt.h | 2 +-
include/msvcrt/sys/stat.h | 12 +++++++++++-
include/msvcrt/wchar.h | 12 +++++++++++-
3 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h
index 68fa119..e7b037f 100644
--- a/dlls/msvcrt/msvcrt.h
+++ b/dlls/msvcrt/msvcrt.h
@@ -366,7 +366,7 @@ struct MSVCRT__stati64 {
short st_uid;
short st_gid;
MSVCRT__dev_t st_rdev;
- __int64 st_size;
+ __int64 DECLSPEC_ALIGN(8) st_size;
MSVCRT_time_t st_atime;
MSVCRT_time_t st_mtime;
MSVCRT_time_t st_ctime;
diff --git a/include/msvcrt/sys/stat.h b/include/msvcrt/sys/stat.h
index 83026f2..c8b1888 100644
--- a/include/msvcrt/sys/stat.h
+++ b/include/msvcrt/sys/stat.h
@@ -46,6 +46,16 @@ typedef int _off_t;
#define _OFF_T_DEFINED
#endif
+#ifndef DECLSPEC_ALIGN
+# if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(MIDL_PASS)
+# define DECLSPEC_ALIGN(x) __declspec(align(x))
+# elif defined(__GNUC__)
+# define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
+# else
+# define DECLSPEC_ALIGN(x)
+# endif
+#endif
+
#define _S_IEXEC 0x0040
#define _S_IWRITE 0x0080
#define _S_IREAD 0x0100
@@ -99,7 +109,7 @@ struct _stati64 {
short st_uid;
short st_gid;
_dev_t st_rdev;
- __int64 st_size;
+ __int64 DECLSPEC_ALIGN(8) st_size;
time_t st_atime;
time_t st_mtime;
time_t st_ctime;
diff --git a/include/msvcrt/wchar.h b/include/msvcrt/wchar.h
index f07db62..03bf7cc 100644
--- a/include/msvcrt/wchar.h
+++ b/include/msvcrt/wchar.h
@@ -43,6 +43,16 @@ typedef unsigned short wchar_t;
#define _WIN64
#endif
+#ifndef DECLSPEC_ALIGN
+# if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(MIDL_PASS)
+# define DECLSPEC_ALIGN(x) __declspec(align(x))
+# elif defined(__GNUC__)
+# define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
+# else
+# define DECLSPEC_ALIGN(x)
+# endif
+#endif
+
typedef int mbstate_t;
#ifndef _SIZE_T_DEFINED
@@ -181,7 +191,7 @@ struct _stati64 {
short st_uid;
short st_gid;
_dev_t st_rdev;
- __int64 st_size;
+ __int64 DECLSPEC_ALIGN(8) st_size;
time_t st_atime;
time_t st_mtime;
time_t st_ctime;
More information about the wine-cvs
mailing list