diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5af2da30d3d..31cddc01829 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-03-29 Richard Henderson + + * unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG + to decide, but __SIZEOF_LONG_LONG__. + 2007-03-29 Richard Henderson * emutls.c (struct __emutls_array): New. diff --git a/gcc/unwind-generic.h b/gcc/unwind-generic.h index 1218d8c2b53..4d5d14df105 100644 --- a/gcc/unwind-generic.h +++ b/gcc/unwind-generic.h @@ -247,16 +247,14 @@ extern void * _Unwind_FindEnclosingFunction (void *pc); except when a unsigned long data type on the target machine is not capable of storing a pointer. */ -#if __SIZEOF_LONG__ < __SIZEOF_POINTER__ -#ifdef HAVE_LONG_LONG +#if __SIZEOF_LONG__ >= __SIZEOF_POINTER__ + typedef long _sleb128_t; + typedef unsigned long _uleb128_t; +#elif __SIZEOF_LONG_LONG__ >= __SIZEOF_POINTER__ typedef long long _sleb128_t; typedef unsigned long long _uleb128_t; #else - #error "long long data type is needed to define _sleb128_t" -#endif -#else - typedef long _sleb128_t; - typedef unsigned long _uleb128_t; +# error "What type shall we use for _sleb128_t?" #endif #ifdef __cplusplus