merge from gcc
This commit is contained in:
		| @@ -1,3 +1,10 @@ | |||||||
|  | 2005-07-03  Steve Ellcey  <sje@cup.hp.com> | ||||||
|  |  | ||||||
|  | 	PR other/13906 | ||||||
|  | 	* ansidecl.h (ATTRIBUTE_ALIGNED_ALIGNOF): New. | ||||||
|  | 	* md5.h (md5_uintptr): New. | ||||||
|  | 	(md5_ctx): Align buffer field. | ||||||
|  |  | ||||||
| 2005-06-30  Daniel Berlin  <dberlin@dberlin.org> | 2005-06-30  Daniel Berlin  <dberlin@dberlin.org> | ||||||
|  |  | ||||||
| 	* hashtab.h (HTAB_DELETED_ENTRY): New macro. | 	* hashtab.h (HTAB_DELETED_ENTRY): New macro. | ||||||
|   | |||||||
| @@ -352,6 +352,15 @@ So instead we use the macro below and test it against specific values.  */ | |||||||
| # endif /* GNUC >= 3.5 */ | # endif /* GNUC >= 3.5 */ | ||||||
| #endif /* ATTRIBUTE_SENTINEL */ | #endif /* ATTRIBUTE_SENTINEL */ | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #ifndef ATTRIBUTE_ALIGNED_ALIGNOF | ||||||
|  | # if (GCC_VERSION >= 3000) | ||||||
|  | #  define ATTRIBUTE_ALIGNED_ALIGNOF(m) __attribute__ ((__aligned__ (__alignof__ (m)))) | ||||||
|  | # else | ||||||
|  | #  define ATTRIBUTE_ALIGNED_ALIGNOF(m) | ||||||
|  | # endif /* GNUC >= 3.0 */ | ||||||
|  | #endif /* ATTRIBUTE_ALIGNED_ALIGNOF */ | ||||||
|  |  | ||||||
| /* We use __extension__ in some places to suppress -pedantic warnings | /* We use __extension__ in some places to suppress -pedantic warnings | ||||||
|    about GCC extensions.  This feature didn't work properly before |    about GCC extensions.  This feature didn't work properly before | ||||||
|    gcc 2.8.  */ |    gcc 2.8.  */ | ||||||
|   | |||||||
| @@ -37,6 +37,7 @@ | |||||||
| #ifdef _LIBC | #ifdef _LIBC | ||||||
| # include <sys/types.h> | # include <sys/types.h> | ||||||
| typedef u_int32_t md5_uint32; | typedef u_int32_t md5_uint32; | ||||||
|  | typedef uintptr_t md5_uintptr; | ||||||
| #else | #else | ||||||
| #  define INT_MAX_32_BITS 2147483647 | #  define INT_MAX_32_BITS 2147483647 | ||||||
|  |  | ||||||
| @@ -64,6 +65,9 @@ typedef u_int32_t md5_uint32; | |||||||
| #   endif | #   endif | ||||||
| #  endif | #  endif | ||||||
| # endif | # endif | ||||||
|  | /* We have to make a guess about the integer type equivalent in size | ||||||
|  |    to pointers which should always be correct.  */ | ||||||
|  | typedef unsigned long int md5_uintptr; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /* Structure to save state of computation between the single steps.  */ | /* Structure to save state of computation between the single steps.  */ | ||||||
| @@ -76,7 +80,7 @@ struct md5_ctx | |||||||
|  |  | ||||||
|   md5_uint32 total[2]; |   md5_uint32 total[2]; | ||||||
|   md5_uint32 buflen; |   md5_uint32 buflen; | ||||||
|   char buffer[128]; |   char buffer[128] ATTRIBUTE_ALIGNED_ALIGNOF(md5_uint32); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| /* | /* | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user