(alignof): Remove.
* modules/argp (Depends-on): Add stdalign.
+ crypto libraries: use stdalign
+ * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
+ Include <stdalign.h> and <stdint.h>. Do not include <stddef.h>.
+ Do not include <stdlib.h> twice, in md4.c.
+ (UNALIGNED_P): Simplify by using alignof. Use uintptr_t, not size_t,
+ because we are accessing a pointer's bit-pattern, not a size.
+ * modules/crypto/gc-md4 (Depends-on): Add stdalign.
+ * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
+ * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
+ * modules/crypto/sha512: Likewise.
+
2011-10-27 Bruno Haible <bruno@clisp.org>
raise test: Avoid a test failure on Linux/MIPS.
#include "md4.h"
-#include <stddef.h>
-#include <stdlib.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
- /* To check alignment gcc has an appropriate operator. Other
- compilers don't. */
-# if __GNUC__ >= 2
-# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0)
-# else
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
-# endif
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
#include "md5.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
#include "sha1.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
#include "sha256.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
#include "sha512.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
if (len >= 128)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (u64) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (u64) != 0)
if (UNALIGNED_P (buffer))
while (len > 128)
{
m4/md4.m4
Depends-on:
+stdalign
stdint
crypto/gc
m4/md5.m4
Depends-on:
+stdalign
stdint
crypto/gc
m4/sha1.m4
Depends-on:
+stdalign
stdint
crypto/gc
m4/md4.m4
Depends-on:
+stdalign
stdint
configure.ac:
m4/md5.m4
Depends-on:
+stdalign
stdint
configure.ac:
m4/sha1.m4
Depends-on:
+stdalign
stdint
configure.ac:
m4/sha256.m4
Depends-on:
+stdalign
stdint
configure.ac:
m4/sha512.m4
Depends-on:
+stdalign
stdint
u64