[Bug bootstrap/32679] cpp bug in libffi (looks like brother of http://gcc.gnu.org/ml/gcc/2003-05/msg01774.html)
Vladislav dot Mikhailikov at paradox-neo dot uz
gcc-bugzilla@gcc.gnu.org
Sun Jul 8 19:20:00 GMT 2007
------- Comment #1 from Vladislav dot Mikhailikov at paradox-neo dot uz 2007-07-08 19:20 -------
# 1 "../../../gcc-4.3.0-20070707/libffi/src/types.c"
# 1 "/usr/src/rpm/BUILD/gcc-build/pentium4-east-linux/libffi//"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "../../../gcc-4.3.0-20070707/libffi/src/types.c"
# 30 "../../../gcc-4.3.0-20070707/libffi/src/types.c"
# 1 "include/ffi.h" 1
# 63 "include/ffi.h"
# 1 "include/ffitarget.h" 1
# 39 "include/ffitarget.h"
typedef unsigned long ffi_arg;
typedef signed long ffi_sarg;
typedef enum ffi_abi {
FFI_FIRST_ABI = 0,
# 55 "include/ffitarget.h"
FFI_SYSV,
FFI_UNIX64,
FFI_DEFAULT_ABI = FFI_SYSV,
FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
} ffi_abi;
# 64 "include/ffi.h" 2
# 1 "/usr/src/rpm/BUILD/gcc-build/./gcc/include/stddef.h" 1 3 4
# 152 "/usr/src/rpm/BUILD/gcc-build/./gcc/include/stddef.h" 3 4
typedef int ptrdiff_t;
# 214 "/usr/src/rpm/BUILD/gcc-build/./gcc/include/stddef.h" 3 4
typedef unsigned int size_t;
# 326 "/usr/src/rpm/BUILD/gcc-build/./gcc/include/stddef.h" 3 4
typedef long int wchar_t;
# 68 "include/ffi.h" 2
# 1 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/limits.h" 1 3 4
# 11 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/limits.h" 3 4
# 1 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/syslimits.h" 1 3 4
# 1 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/limits.h" 1 3 4
# 122 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 27 "/usr/include/limits.h" 3 4
# 1 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/features.h" 1 3 4
# 337 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 324 "/usr/include/sys/cdefs.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 325 "/usr/include/sys/cdefs.h" 2 3 4
# 338 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/features.h" 2 3 4
# 360 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 5 "/usr/include/gnu/stubs.h" 2 3 4
# 1 "/usr/include/gnu/stubs-32.h" 1 3 4
# 8 "/usr/include/gnu/stubs.h" 2 3 4
# 361 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/features.h" 2 3 4
# 28 "/usr/include/limits.h" 2 3 4
# 145 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
# 153 "/usr/include/bits/posix1_lim.h" 3 4
# 1 "/usr/include/bits/local_lim.h" 1 3 4
# 36 "/usr/include/bits/local_lim.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 37 "/usr/include/bits/local_lim.h" 2 3 4
# 154 "/usr/include/bits/posix1_lim.h" 2 3 4
# 146 "/usr/include/limits.h" 2 3 4
# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
# 150 "/usr/include/limits.h" 2 3 4
# 123 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/limits.h" 2 3 4
# 8 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/syslimits.h" 2 3 4
# 12 "/usr/src/rpm/BUILD/gcc-build/./gcc/include-fixed/limits.h" 2 3 4
# 69 "include/ffi.h" 2
# 88 "include/ffi.h"
typedef struct _ffi_type
{
size_t size;
unsigned short alignment;
unsigned short type;
struct _ffi_type **elements;
} ffi_type;
# 166 "include/ffi.h"
typedef enum {
FFI_OK = 0,
FFI_BAD_TYPEDEF,
FFI_BAD_ABI
} ffi_status;
typedef unsigned FFI_TYPE;
typedef struct {
ffi_abi abi;
unsigned nargs;
ffi_type **arg_types;
ffi_type *rtype;
unsigned bytes;
unsigned flags;
} ffi_cif;
# 196 "include/ffi.h"
typedef union {
ffi_sarg sint;
ffi_arg uint;
float flt;
char data[4];
void* ptr;
} ffi_raw;
void ffi_raw_call (ffi_cif *cif,
void (*fn)(),
void *rvalue,
ffi_raw *avalue);
void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
size_t ffi_raw_size (ffi_cif *cif);
void ffi_java_raw_call (ffi_cif *cif,
void (*fn)(),
void *rvalue,
ffi_raw *avalue);
void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
size_t ffi_java_raw_size (ffi_cif *cif);
typedef struct {
char tramp[10];
ffi_cif *cif;
void (*fun)(ffi_cif*,void*,void**,void*);
void *user_data;
} ffi_closure __attribute__((aligned (8)));
void *ffi_closure_alloc (size_t size, void **code);
void ffi_closure_free (void *);
ffi_status
ffi_prep_closure (ffi_closure*,
ffi_cif *,
void (*fun)(ffi_cif*,void*,void**,void*),
void *user_data);
ffi_status
ffi_prep_closure_loc (ffi_closure*,
ffi_cif *,
void (*fun)(ffi_cif*,void*,void**,void*),
void *user_data,
void*codeloc);
typedef struct {
char tramp[10];
ffi_cif *cif;
# 269 "include/ffi.h"
void (*fun)(ffi_cif*,void*,ffi_raw*,void*);
void *user_data;
} ffi_raw_closure;
ffi_status
ffi_prep_raw_closure (ffi_raw_closure*,
ffi_cif *cif,
void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
void *user_data);
ffi_status
ffi_prep_raw_closure_loc (ffi_raw_closure*,
ffi_cif *cif,
void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
void *user_data,
void *codeloc);
ffi_status
ffi_prep_java_raw_closure (ffi_raw_closure*,
ffi_cif *cif,
void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
void *user_data);
ffi_status
ffi_prep_java_raw_closure_loc (ffi_raw_closure*,
ffi_cif *cif,
void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
void *user_data,
void *codeloc);
ffi_status ffi_prep_cif(ffi_cif *cif,
ffi_abi abi,
unsigned int nargs,
ffi_type *rtype,
ffi_type **atypes);
void ffi_call(ffi_cif *cif,
void (*fn)(),
void *rvalue,
void **avalue);
# 31 "../../../gcc-4.3.0-20070707/libffi/src/types.c" 2
# 1 "../../../gcc-4.3.0-20070707/libffi/include/ffi_common.h" 1
# 15 "../../../gcc-4.3.0-20070707/libffi/include/ffi_common.h"
# 1 "./fficonfig.h" 1
# 16 "../../../gcc-4.3.0-20070707/libffi/include/ffi_common.h" 2
# 37 "../../../gcc-4.3.0-20070707/libffi/include/ffi_common.h"
# 1 "/usr/include/string.h" 1 3 4
# 28 "/usr/include/string.h" 3 4
# 1 "/usr/src/rpm/BUILD/gcc-build/./gcc/include/stddef.h" 1 3 4
# 34 "/usr/include/string.h" 2 3 4
extern void *memcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *memmove (void *__dest, __const void *__src, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
int __c, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *memset (void *__s, int __c, size_t __n) __attribute__
((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern void *memchr (__const void *__s, int __c, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1)));
# 82 "/usr/include/string.h" 3 4
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__
(1, 2)));
extern int strcmp (__const char *__s1, __const char *__s2)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern int strcoll (__const char *__s1, __const char *__s2)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern size_t strxfrm (char *__restrict __dest,
__const char *__restrict __src, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
# 130 "/usr/include/string.h" 3 4
extern char *strdup (__const char *__s)
__attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__
((__nonnull__ (1)));
# 165 "/usr/include/string.h" 3 4
extern char *strchr (__const char *__s, int __c)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1)));
extern char *strrchr (__const char *__s, int __c)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1)));
# 181 "/usr/include/string.h" 3 4
extern size_t strcspn (__const char *__s, __const char *__reject)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern size_t strspn (__const char *__s, __const char *__accept)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern char *strpbrk (__const char *__s, __const char *__accept)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern char *strstr (__const char *__haystack, __const char *__needle)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
extern char *__strtok_r (char *__restrict __s,
__const char *__restrict __delim,
char **__restrict __save_ptr)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
char **__restrict __save_ptr)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
# 240 "/usr/include/string.h" 3 4
extern size_t strlen (__const char *__s)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1)));
# 254 "/usr/include/string.h" 3 4
extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
# 270 "/usr/include/string.h" 3 4
extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ (""
"__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__
(2)));
# 294 "/usr/include/string.h" 3 4
extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1)));
extern void bcopy (__const void *__src, void *__dest, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1)));
extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern char *index (__const char *__s, int __c)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1)));
extern char *rindex (__const char *__s, int __c)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1)));
extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__
((__const__));
# 331 "/usr/include/string.h" 3 4
extern int strcasecmp (__const char *__s1, __const char *__s2)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1, 2)));
# 354 "/usr/include/string.h" 3 4
extern char *strsep (char **__restrict __stringp,
__const char *__restrict __delim)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
# 432 "/usr/include/string.h" 3 4
# 38 "../../../gcc-4.3.0-20070707/libffi/include/ffi_common.h" 2
# 66 "../../../gcc-4.3.0-20070707/libffi/include/ffi_common.h"
ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
typedef struct
{
ffi_cif *cif;
void *rvalue;
void **avalue;
} extended_cif;
typedef unsigned int UINT8 __attribute__((__mode__(__QI__)));
typedef signed int SINT8 __attribute__((__mode__(__QI__)));
typedef unsigned int UINT16 __attribute__((__mode__(__HI__)));
typedef signed int SINT16 __attribute__((__mode__(__HI__)));
typedef unsigned int UINT32 __attribute__((__mode__(__SI__)));
typedef signed int SINT32 __attribute__((__mode__(__SI__)));
typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));
typedef signed int SINT64 __attribute__((__mode__(__DI__)));
typedef float FLOAT32;
# 32 "../../../gcc-4.3.0-20070707/libffi/src/types.c" 2
# 47 "../../../gcc-4.3.0-20070707/libffi/src/types.c"
const ffi_type ffi_type_void = {
1, 1, 0, ((void *)0)
};
struct struct_align_uint8 { char c; UINT8 x; }; const ffi_type ffi_type_uint8 =
{ sizeof(UINT8), __builtin_offsetof (struct struct_align_uint8, x), 5, ((void
*)0) };
struct struct_align_sint8 { char c; SINT8 x; }; const ffi_type ffi_type_sint8 =
{ sizeof(SINT8), __builtin_offsetof (struct struct_align_sint8, x), 6, ((void
*)0) };
struct struct_align_uint16 { char c; UINT16 x; }; const ffi_type
ffi_type_uint16 = { sizeof(UINT16), __builtin_offsetof (struct
struct_align_uint16, x), 7, ((void *)0) };
struct struct_align_sint16 { char c; SINT16 x; }; const ffi_type
ffi_type_sint16 = { sizeof(SINT16), __builtin_offsetof (struct
struct_align_sint16, x), 8, ((void *)0) };
struct struct_align_uint32 { char c; UINT32 x; }; const ffi_type
ffi_type_uint32 = { sizeof(UINT32), __builtin_offsetof (struct
struct_align_uint32, x), 9, ((void *)0) };
struct struct_align_sint32 { char c; SINT32 x; }; const ffi_type
ffi_type_sint32 = { sizeof(SINT32), __builtin_offsetof (struct
struct_align_sint32, x), 10, ((void *)0) };
struct struct_align_uint64 { char c; UINT64 x; }; const ffi_type
ffi_type_uint64 = { sizeof(UINT64), __builtin_offsetof (struct
struct_align_uint64, x), 11, ((void *)0) };
struct struct_align_sint64 { char c; SINT64 x; }; const ffi_type
ffi_type_sint64 = { sizeof(SINT64), __builtin_offsetof (struct
struct_align_sint64, x), 12, ((void *)0) };
struct struct_align_pointer { char c; void* x; }; const ffi_type
ffi_type_pointer = { sizeof(void*), __builtin_offsetof (struct
struct_align_pointer, x), 14, ((void *)0) };
struct struct_align_float { char c; float x; }; const ffi_type ffi_type_float =
{ sizeof(float), __builtin_offsetof (struct struct_align_float, x), 2, ((void
*)0) };
struct struct_align_double { char c; double x; }; const ffi_type
ffi_type_double = { sizeof(double), __builtin_offsetof (struct
struct_align_double, x), 3, ((void *)0) };
# 75 "../../../gcc-4.3.0-20070707/libffi/src/types.c"
struct struct_align_longdouble { char c; long double x; }; const ffi_type
ffi_type_longdouble = { sizeof(long double), __builtin_offsetof (struct
struct_align_longdouble, x), 4, ((void *)0) };
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32679
More information about the Gcc-bugs
mailing list