title: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'typedef' typedef __INT8_TYPE__ __int8_t;
body: <p>I got an error in the this header file:</p>
  
  <pre><code>expected '=', ',', ';', 'asm' or '__attribute__' before 'typedef'  
  typedef __INT8_TYPE__ __int8_t; 
  </code></pre>
  
  <p>but i dont know why does it comes from although I checked the syntax and any missing <code>#if</code> or <code>#endif</code>  and the typedef already exists in my code ... where does the problem come from? </p>
  
  <pre><code> /*
   *  $Id$
   */
  
  #ifndef _MACHINE__DEFAULT_TYPES_H
  #define _MACHINE__DEFAULT_TYPES_H
  
  #include &lt;sys/features.h&gt;
  
  /*
   * Guess on types by examining *_MIN / *_MAX defines.
   */
  #if __GNUC_PREREQ (3, 3)
  /* GCC &gt;= 3.3.0 has __&lt;val&gt;__ implicitly defined. */
  #define __EXP(x) __##x##__
  #else
  /* Fall back to POSIX versions from &lt;limits.h&gt; */
  #define __EXP(x) x
  #include &lt;limits.h&gt;
  #endif
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  #ifdef __INT8_TYPE__
  typedef __INT8_TYPE__ __int8_t;
  typedef __UINT8_TYPE__ __uint8_t;
  #define ___int8_t_defined 1**strong text**
  #elif __EXP(SCHAR_MAX) == 0x7f
  typedef signed char __int8_t ;
  typedef unsigned char __uint8_t ;
  #define ___int8_t_defined 1
  #endif
  
  #ifdef __INT16_TYPE__
  typedef __INT16_TYPE__ __int16_t;
  typedef __UINT16_TYPE__ __uint16_t;
  #define ___int16_t_defined 1
  #elif __EXP(INT_MAX) == 0x7fff
  typedef signed int __int16_t;
  typedef unsigned int __uint16_t;
  #define ___int16_t_defined 1
  #elif __EXP(SHRT_MAX) == 0x7fff
  typedef signed short __int16_t;
  typedef unsigned short __uint16_t;
  #define ___int16_t_defined 1
  #elif __EXP(SCHAR_MAX) == 0x7fff
  typedef signed char __int16_t;
  typedef unsigned char __uint16_t;
  #define ___int16_t_defined 1
  #endif
  
  #ifdef __INT32_TYPE__
  typedef __INT32_TYPE__ __int32_t;
  typedef __UINT32_TYPE__ __uint32_t;
  #define ___int32_t_defined 1
  #elif __EXP(INT_MAX) == 0x7fffffffL
  typedef signed int __int32_t;
  typedef unsigned int __uint32_t;
  #define ___int32_t_defined 1
  #elif __EXP(LONG_MAX) == 0x7fffffffL
  typedef signed long __int32_t;
  typedef unsigned long __uint32_t;
  #define ___int32_t_defined 1
  #elif __EXP(SHRT_MAX) == 0x7fffffffL
  typedef signed short __int32_t;
  typedef unsigned short __uint32_t;
  #define ___int32_t_defined 1
  #elif __EXP(SCHAR_MAX) == 0x7fffffffL
  typedef signed char __int32_t;
  typedef unsigned char __uint32_t;
  #define ___int32_t_defined 1
  #endif
  
  #ifdef __INT64_TYPE__
  typedef __INT64_TYPE__ __int64_t;
  typedef __UINT64_TYPE__ __uint64_t;
  #define ___int64_t_defined 1
  #elif __EXP(LONG_MAX) &gt; 0x7fffffff
  typedef signed long __int64_t;
  typedef unsigned long __uint64_t;
  #define ___int64_t_defined 1
  
  /* GCC has __LONG_LONG_MAX__ */
  #elif  defined(__LONG_LONG_MAX__) &amp;&amp; (__LONG_LONG_MAX__ &gt; 0x7fffffff)
  typedef signed long long __int64_t;
  typedef unsigned long long __uint64_t;
  #define ___int64_t_defined 1
  
  /* POSIX mandates LLONG_MAX in &lt;limits.h&gt; */
  #elif  defined(LLONG_MAX) &amp;&amp; (LLONG_MAX &gt; 0x7fffffff)
  typedef signed long long __int64_t;
  typedef unsigned long long __uint64_t;
  #define ___int64_t_defined 1
  
  #elif  __EXP(INT_MAX) &gt; 0x7fffffff
  typedef signed int __int64_t;
  typedef unsigned int __uint64_t;
  #define ___int64_t_defined 1
  #endif
  
  #ifdef __INT_LEAST8_TYPE__
  typedef __INT_LEAST8_TYPE__ __int_least8_t;
  typedef __UINT_LEAST8_TYPE__ __uint_least8_t;
  #define ___int_least8_t_defined 1
  #elif defined(___int8_t_defined)
  typedef __int8_t __int_least8_t;
  typedef __uint8_t __uint_least8_t;
  #define ___int_least8_t_defined 1
  #elif defined(___int16_t_defined)
  typedef __int16_t __int_least8_t;
  typedef __uint16_t __uint_least8_t;
  #define ___int_least8_t_defined 1
  #elif defined(___int32_t_defined)
  typedef __int32_t __int_least8_t;
  typedef __uint32_t __uint_least8_t;
  #define ___int_least8_t_defined 1
  #elif defined(___int64_t_defined)
  typedef __int64_t __int_least8_t;
  typedef __uint64_t __uint_least8_t;
  #define ___int_least8_t_defined 1
  #endif
  
  #ifdef __INT_LEAST16_TYPE__
  typedef __INT_LEAST16_TYPE__ __int_least16_t;
  typedef __UINT_LEAST16_TYPE__ __uint_least16_t;
  #define ___int_least16_t_defined 1
  #elif defined(___int16_t_defined)
  typedef __int16_t __int_least16_t;
  typedef __uint16_t __uint_least16_t;
  #define ___int_least16_t_defined 1
  #elif defined(___int32_t_defined)
  typedef __int32_t __int_least16_t;
  typedef __uint32_t __uint_least16_t;
  #define ___int_least16_t_defined 1
  #elif defined(___int64_t_defined)
  typedef __int64_t __int_least16_t;
  typedef __uint64_t __uint_least16_t;
  #define ___int_least16_t_defined 1
  #endif
  
  #ifdef __INT_LEAST32_TYPE__
  typedef __INT_LEAST32_TYPE__ __int_least32_t;
  typedef __UINT_LEAST32_TYPE__ __uint_least32_t;
  #define ___int_least32_t_defined 1
  #elif defined(___int32_t_defined)
  typedef __int32_t __int_least32_t;
  typedef __uint32_t __uint_least32_t;
  #define ___int_least32_t_defined 1
  #elif defined(___int64_t_defined)
  typedef __int64_t __int_least32_t;
  typedef __uint64_t __uint_least32_t;
  #define ___int_least32_t_defined 1
  #endif
  
  #ifdef __INT_LEAST64_TYPE__
  typedef __INT_LEAST64_TYPE__ __int_least64_t;
  typedef __UINT_LEAST64_TYPE__ __uint_least64_t;
  #define ___int_least64_t_defined 1
  #elif defined(___int64_t_defined)
  typedef __int64_t __int_least64_t;
  typedef __uint64_t __uint_least64_t;
  #define ___int_least64_t_defined 1
  #endif
  
  #ifdef __INTPTR_TYPE__
  typedef __INTPTR_TYPE__ __intptr_t;
  typedef __UINTPTR_TYPE__ __uintptr_t;
  #elif defined(__PTRDIFF_TYPE__)
  typedef __PTRDIFF_TYPE__ __intptr_t;
  typedef unsigned __PTRDIFF_TYPE__ __uintptr_t;
  #else
  typedef long __intptr_t;
  typedef unsigned long __uintptr_t;
  #endif
  
  #undef __EXP
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* _MACHINE__DEFAULT_TYPES_H */
  </code></pre>