This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

** So close... yet not quite.



	Ideas? Linux 2.2.10 with egcs-2.95.1

--------
In file included from ./libgcc2.c:150:
longlong.h:1246: parse error before `}'
longlong.h:1246: `__xr' undeclared here (not in a function)
longlong.h:1246: `__a' undeclared here (not in a function)
longlong.h:1246: `__a' undeclared here (not in a function)
longlong.h:1246: initializer element is not constant
longlong.h:1246: warning: data definition has no type or storage class
longlong.h:1246: parse error before `}'
longlong.h:1261: warning: This file contains more `}'s than `{'s.
./libgcc2.c: In function `__muldi3':
./libgcc2.c:310: internal error--unrecognizable insn:
(insn 30 28 31 (set (reg:SI 38)
        (plus/u:SI (pc:SI)
            (symbol_ref/v:SI ("__mulsi3")))) -1 (nil)
    (nil))
make[1]: *** [libgcc2.a] Error 1
--------

-----------------------------
in longlong.h, we have this: 
-----------------------------
#define count_leading_zeros(count, x)                                   \
  do {                                                                  \
    USItype __xr = (x);                                                 \
    USItype __a;                                                        \
                                                                        \
    if (SI_TYPE_SIZE <= 32)                                             \
      {                                                                 \
        __a = __xr < (((USItype)1)<<2*__BITS4)                          \
          ? (__xr < (((USItype)1)<<__BITS4) ? 0 : __BITS4)              \
          : (__xr < (((USItype)1)<<3*__BITS4) ?  2*__BITS4 : 3*__BITS4);\
          
        }                                                               \
    else                                                                \
      {                                                                 \
        for (__a = SI_TYPE_SIZE - 8; __a > 0; __a -= 8)                 \
          if (((__xr >> __a) & 0xff) != 0)                              \
            break;                                                      \
      }                                                                 \
                                                                        \
    (count) = SI_TYPE_SIZE - (__clz_tab[__xr >> __a] + __a);            \
  } while (0)
#endif
-----------------------------
and in libgcc2.c, it just does an '#include "longlong.h"
-----------------------------



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]