public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
@ 2006-04-22 22:53 peter dot kourzanov at xs4all dot nl
2006-04-24 12:49 ` [Bug target/27263] " rearnsha at gcc dot gnu dot org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: peter dot kourzanov at xs4all dot nl @ 2006-04-22 22:53 UTC (permalink / raw)
To: gcc-bugs
Target: armv5te-linux-gnueabi
Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/armv5te-linux-gnueabi/include/c++/4.1.0
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --with-cpu=arm926ej-s --with-tune=arm10tdmi
--with-float=softfp --with-fpu=vfp --enable-checking=release
--program-prefix=armv5te-linux-gnueabi-
--includedir=/usr/armv5te-linux-gnueabi/include --build=i486-linux-gnu
--host=i486-linux-gnu --target=armv5te-linux-gnueabi
Thread model: posix
gcc version 4.1.0
Bug:
libquicktime-0.9.7-0.4$ (cd plugins/opendivx/encore50/;
armv5te-linux-gnueabi-gcc-4.1 -DHAVE_CONFIG_H -I. -I. -I../../..
-I../../../include/quicktime -O3 -funroll-all-loops -fomit-frame-pointer
-finline-functions -Wall -Winline -MT text_code_mb.lo -MD -MP -MF
.deps/text_code_mb.Tpo -c text_code_mb.c -fPIC -DPIC -o .libs/text_code_mb.o)
text_code_mb.c: In function 'CodeMB':
text_code_mb.c:233: error: unrecognizable insn:
(insn 1773 1770 1772 50 (set (reg:HI 12 ip)
(mem:HI (plus:SI (mult:SI (reg:SI 11 fp [orig:138 ivtmp.674 ]
[138])
(const_int 2 [0x2]))
(reg/v/f:SI 8 r8 [orig:154 rcoeff_ind ] [154])) [3 S4
A32])) -1 (nil)
(nil))
text_code_mb.c:233: internal compiler error: in extract_insn, at
recog.c:2084
Note: the same file can be compiled with -O1 (but not with -O2), or it can
be compiled with -O3 but not with -funroll-all-loops. Some buffer overflow
maybe?
Pre-processed source (relevant bit only):
Void CodeMB(Vop *curr, Vop *rec_curr, Vop *comp, Int x_pos, Int y_pos, UInt
width,
Int QP, Int Mode, Int *qcoeff)
{
Int k;
Int fblock[6][8][8];
Int coeff[384];
Int *coeff_ind;
Int *qcoeff_ind;
Int* rcoeff_ind;
Int x=0, y=0;
SInt *current=((void *)0), *recon, *compensated = ((void *)0);
UInt xwidth=0;
Int iblock[6][8][8];
Int rcoeff[6*64];
Int i, j;
Int type;
SInt tmp[64];
Int s;
int operation = curr->prediction_type;
Int max = GetVopBrightWhite(curr);
coeff_ind = coeff;
qcoeff_ind = qcoeff;
rcoeff_ind = rcoeff;
for (k = 0; k < 6; k++)
{
switch (k)
{
case 0:
x = x_pos;
y = y_pos;
xwidth = width;
current = (SInt *) GetImageData (GetVopY (curr));
break;
case 1:
x = x_pos + 8;
y = y_pos;
xwidth = width;
current = (SInt *) GetImageData (GetVopY (curr));
break;
case 2:
x = x_pos;
y = y_pos + 8;
xwidth = width;
current = (SInt *) GetImageData (GetVopY (curr));
break;
case 3:
x = x_pos + 8;
y = y_pos + 8;
xwidth = width;
current = (SInt *) GetImageData (GetVopY (curr));
break;
case 4:
x = x_pos / 2;
y = y_pos / 2;
xwidth = width / 2;
current = (SInt *) GetImageData (GetVopU (curr));
break;
case 5:
x = x_pos / 2;
y = y_pos / 2;
xwidth = width / 2;
current = (SInt *) GetImageData (GetVopV (curr));
break;
default:
break;
}
BlockPredict (current, x, y, xwidth, fblock[k]);
}
for (k = 0; k < 6; k++)
{
s = 0;
for (i = 0; i < 8; i++)
for (j = 0; j < 8; j++)
tmp[s++] = (SInt) fblock[k][i][j];
fdct_enc(tmp);
for (s = 0; s < 64; s++)
coeff_ind[s] = (Int) tmp[s];
if (k < 4) type = 1;
else type = 2;
BlockQuantH263(coeff_ind,QP,Mode,type,qcoeff_ind,
GetVopBrightWhite(curr),1);
BlockDequantH263(qcoeff_ind,QP,Mode,type,rcoeff_ind,1, 0,
GetVopBitsPerPixel(curr));
for (s = 0; s < 64; s++)
tmp[s] = (SInt) rcoeff_ind[s];
idct_enc(tmp);
s = 0;
for (i = 0; i < 8; i++)
for (j = 0; j < 8; j++)
iblock[k][i][j] = (Int)tmp[s++];
coeff_ind += 64;
qcoeff_ind += 64;
rcoeff_ind += 64;
if (Mode == 0||Mode==2)
for (i = 0; i < 8; i++)
for (j = 0; j < 8; j ++)
iblock[k][i][j] = (((GetVopBrightWhite(curr)) < ((((0) >
(iblock[k][i][j])) ? (0) : (iblock[k][i][j])))) ? (GetVopBrightWhite(curr)) :
((((0) > (iblock[k][i][j])) ? (0) : (iblock[k][i][j]))));
switch (k)
{
case 0:
case 1:
case 2:
continue;
case 3:
recon = (SInt *) GetImageData (GetVopY (rec_curr));
if (operation == 1) compensated = (SInt *) GetImageData (GetVopY (comp));
BlockRebuild (recon, compensated, operation, max, x_pos, y_pos, width, 16,
iblock[0]);
BlockRebuild (recon, compensated, operation, max, x_pos + 8, y_pos, width,
16, iblock[1]);
BlockRebuild (recon, compensated, operation, max, x_pos, y_pos + 8, width,
16, iblock[2]);
BlockRebuild (recon, compensated, operation, max, x_pos + 8, y_pos + 8,
width, 16, iblock[3]);
continue;
case 4:
recon = (SInt *) GetImageData (GetVopU (rec_curr));
if (operation == 1) compensated = (SInt *) GetImageData (GetVopU (comp));
BlockRebuild (recon, compensated, operation, max,
x_pos/2, y_pos/2, width/2, 8, iblock[4]);
continue;
case 5:
recon = (SInt *) GetImageData (GetVopV (rec_curr));
if (operation == 1) compensated = (SInt *) GetImageData (GetVopV (comp));
BlockRebuild (recon, compensated, operation, max,
x_pos/2, y_pos/2, width/2, 8, iblock[5]);
continue;
}
}
return;
}
--
Summary: armv5te-linux-gnueabi-gcc-4.1 fails to compile
libquicktime-0.9.7-
0.4/plugins/opendivx/encore50/text_code_mb.c
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: peter dot kourzanov at xs4all dot nl
GCC build triplet: i486-linux-gnu
GCC host triplet: i486-linux-gnu
GCC target triplet: armv5te-linux-gnueabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/27263] armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
@ 2006-04-24 12:49 ` rearnsha at gcc dot gnu dot org
2006-04-24 13:24 ` peter dot kourzanov at xs4all dot nl
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rearnsha at gcc dot gnu dot org @ 2006-04-24 12:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rearnsha at gcc dot gnu dot org 2006-04-24 12:49 -------
The testcase doesn't compile. Please attach a full, *compilable*, example of
the program that shows the bug.
--
rearnsha at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/27263] armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
2006-04-24 12:49 ` [Bug target/27263] " rearnsha at gcc dot gnu dot org
@ 2006-04-24 13:24 ` peter dot kourzanov at xs4all dot nl
2006-04-24 13:30 ` doko at cs dot tu-berlin dot de
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: peter dot kourzanov at xs4all dot nl @ 2006-04-24 13:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from peter dot kourzanov at xs4all dot nl 2006-04-24 13:24 -------
Subject: Re: armv5te-linux-gnueabi-gcc-4.1 fails to compile
libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
Here it is. Compile with:
FAILS:
armv5te-linux-gnueabi-gcc-4.1 -O3 -funroll-all-loops
-fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o
/tmp/text_code_mb.o
armv5te-linux-gnueabi-gcc-4.1 -O2 -funroll-all-loops
-fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o
/tmp/text_code_mb.o
OK:
armv5te-linux-gnueabi-gcc-4.1 -O1 -funroll-all-loops
-fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o
/tmp/text_code_mb.o
armv5te-linux-gnueabi-gcc-4.1 -O2 -fomit-frame-pointer -Wall -Winline -c
/tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o
armv5te-linux-gnueabi-gcc-4.1 -O3 -fomit-frame-pointer -Wall -Winline -c
/tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o
OK:
arm-linux-gnueabi-gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer
-Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o
armv4-linux-gnueabi-gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer
-Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o
armv5te-linux-gnu-gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer
-Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o
gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer -Wall -Winline -c
/tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o
So, the killing combination is: armv5te (arm926te-j, softfp, vfp) + EABI
+ "-O[23] -funroll-all-loops"
rearnsha at gcc dot gnu dot org wrote:
>------- Comment #1 from rearnsha at gcc dot gnu dot org 2006-04-24 12:49 -------
>The testcase doesn't compile. Please attach a full, *compilable*, example of
>the program that shows the bug.
>
>
>
>
# 1 "text_code_mb.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "text_code_mb.c"
# 41 "text_code_mb.c"
# 1 "text_code.h" 1
# 1 "momusys.h" 1
# 1 "non_unix.h" 1
# 1 "momusys.h" 1
# 7 "non_unix.h" 2
# 9 "momusys.h" 2
# 1 "/usr/armv5te-linux-gnueabi/include/stdio.h" 1 3 4
# 28 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/features.h" 1 3 4
# 323 "/usr/armv5te-linux-gnueabi/include/features.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/sys/cdefs.h" 1 3 4
# 313 "/usr/armv5te-linux-gnueabi/include/sys/cdefs.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/wordsize.h" 1 3 4
# 314 "/usr/armv5te-linux-gnueabi/include/sys/cdefs.h" 2 3 4
# 324 "/usr/armv5te-linux-gnueabi/include/features.h" 2 3 4
# 346 "/usr/armv5te-linux-gnueabi/include/features.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/gnu/stubs.h" 1 3 4
# 347 "/usr/armv5te-linux-gnueabi/include/features.h" 2 3 4
# 29 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 214 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 3 4
typedef unsigned int size_t;
# 35 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 1 3 4
# 28 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/wordsize.h" 1 3 4
# 29 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 2 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 32 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 2 3 4
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
# 134 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/typesizes.h" 1 3 4
# 135 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 2 3 4
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
# 37 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4
typedef struct _IO_FILE FILE;
# 62 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
typedef struct _IO_FILE __FILE;
# 72 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/libio.h" 1 3 4
# 32 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 1 3 4
# 14 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 326 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 3 4
typedef unsigned int wchar_t;
# 355 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 3 4
typedef unsigned int wint_t;
# 15 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 2 3 4
# 24 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/wchar.h" 1 3 4
# 48 "/usr/armv5te-linux-gnueabi/include/wchar.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 49 "/usr/armv5te-linux-gnueabi/include/wchar.h" 2 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/wchar.h" 1 3 4
# 51 "/usr/armv5te-linux-gnueabi/include/wchar.h" 2 3 4
# 76 "/usr/armv5te-linux-gnueabi/include/wchar.h" 3 4
typedef struct
{
int __count;
union
{
wint_t __wch;
char __wchb[4];
} __value;
} __mbstate_t;
# 25 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 2 3 4
typedef struct
{
__off_t __pos;
__mbstate_t __state;
} _G_fpos_t;
typedef struct
{
__off64_t __pos;
__mbstate_t __state;
} _G_fpos64_t;
# 44 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/gconv.h" 1 3 4
# 28 "/usr/armv5te-linux-gnueabi/include/gconv.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/wchar.h" 1 3 4
# 48 "/usr/armv5te-linux-gnueabi/include/wchar.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 49 "/usr/armv5te-linux-gnueabi/include/wchar.h" 2 3 4
# 29 "/usr/armv5te-linux-gnueabi/include/gconv.h" 2 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 32 "/usr/armv5te-linux-gnueabi/include/gconv.h" 2 3 4
enum
{
__GCONV_OK = 0,
__GCONV_NOCONV,
__GCONV_NODB,
__GCONV_NOMEM,
__GCONV_EMPTY_INPUT,
__GCONV_FULL_OUTPUT,
__GCONV_ILLEGAL_INPUT,
__GCONV_INCOMPLETE_INPUT,
__GCONV_ILLEGAL_DESCRIPTOR,
__GCONV_INTERNAL_ERROR
};
enum
{
__GCONV_IS_LAST = 0x0001,
__GCONV_IGNORE_ERRORS = 0x0002
};
struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;
typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
__const unsigned char **, __const unsigned char *,
unsigned char **, size_t *, int, int);
typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);
typedef int (*__gconv_trans_fct) (struct __gconv_step *,
struct __gconv_step_data *, void *,
__const unsigned char *,
__const unsigned char **,
__const unsigned char *, unsigned char **,
size_t *);
typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
__const unsigned char *,
unsigned char *, unsigned char *);
typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
size_t *);
typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);
struct __gconv_trans_data
{
__gconv_trans_fct __trans_fct;
__gconv_trans_context_fct __trans_context_fct;
__gconv_trans_end_fct __trans_end_fct;
void *__data;
struct __gconv_trans_data *__next;
};
struct __gconv_step
{
struct __gconv_loaded_object *__shlib_handle;
__const char *__modname;
int __counter;
char *__from_name;
char *__to_name;
__gconv_fct __fct;
__gconv_btowc_fct __btowc_fct;
__gconv_init_fct __init_fct;
__gconv_end_fct __end_fct;
int __min_needed_from;
int __max_needed_from;
int __min_needed_to;
int __max_needed_to;
int __stateful;
void *__data;
};
struct __gconv_step_data
{
unsigned char *__outbuf;
unsigned char *__outbufend;
int __flags;
int __invocation_counter;
int __internal_use;
__mbstate_t *__statep;
__mbstate_t __state;
struct __gconv_trans_data *__trans;
};
typedef struct __gconv_info
{
size_t __nsteps;
struct __gconv_step *__steps;
__extension__ struct __gconv_step_data __data [];
} *__gconv_t;
# 45 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 2 3 4
typedef union
{
struct __gconv_info __cd;
struct
{
struct __gconv_info __cd;
struct __gconv_step_data __data;
} __combined;
} _G_iconv_t;
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 33 "/usr/armv5te-linux-gnueabi/include/libio.h" 2 3 4
# 53 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stdarg.h" 1 3 4
# 43 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 54 "/usr/armv5te-linux-gnueabi/include/libio.h" 2 3 4
# 166 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
struct _IO_jump_t; struct _IO_FILE;
# 176 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
typedef void _IO_lock_t;
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
int _pos;
# 199 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
};
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
# 267 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
struct _IO_FILE {
int _flags;
char* _IO_read_ptr;
char* _IO_read_end;
char* _IO_read_base;
char* _IO_write_base;
char* _IO_write_ptr;
char* _IO_write_end;
char* _IO_buf_base;
char* _IO_buf_end;
char *_IO_save_base;
char *_IO_backup_base;
char *_IO_save_end;
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
int _flags2;
__off_t _old_offset;
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
_IO_lock_t *_lock;
# 315 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
__off64_t _offset;
# 324 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
void *__pad1;
void *__pad2;
void *__pad3;
void *__pad4;
size_t __pad5;
int _mode;
char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
};
typedef struct _IO_FILE _IO_FILE;
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 360 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
size_t __n);
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
# 412 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__));
extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__));
extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__));
extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__));
extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__));
extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__));
# 450 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
# 480 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
__gnuc_va_list, int *__restrict);
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
__gnuc_va_list);
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) __attribute__
((__nothrow__));
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) __attribute__
((__nothrow__));
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) __attribute__
((__nothrow__));
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) __attribute__
((__nothrow__));
extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
# 73 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4
# 86 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
typedef _G_fpos_t fpos_t;
# 138 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/stdio_lim.h" 1 3 4
# 139 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4
extern struct _IO_FILE *stdin;
extern struct _IO_FILE *stdout;
extern struct _IO_FILE *stderr;
extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
extern int rename (__const char *__old, __const char *__new) __attribute__
((__nothrow__));
extern FILE *tmpfile (void);
# 183 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern char *tmpnam (char *__s) __attribute__ ((__nothrow__));
extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__));
# 201 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern char *tempnam (__const char *__dir, __const char *__pfx)
__attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
extern int fclose (FILE *__stream);
extern int fflush (FILE *__stream);
# 226 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int fflush_unlocked (FILE *__stream);
# 240 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern FILE *fopen (__const char *__restrict __filename,
__const char *__restrict __modes);
extern FILE *freopen (__const char *__restrict __filename,
__const char *__restrict __modes,
FILE *__restrict __stream);
# 267 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
# 278 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern FILE *fdopen (int __fd, __const char *__modes) __attribute__
((__nothrow__));
# 304 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf)
__attribute__ ((__nothrow__));
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
int __modes, size_t __n) __attribute__ ((__nothrow__));
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
size_t __size) __attribute__ ((__nothrow__));
extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
extern int fprintf (FILE *__restrict __stream,
__const char *__restrict __format, ...);
extern int printf (__const char *__restrict __format, ...);
extern int sprintf (char *__restrict __s,
__const char *__restrict __format, ...) __attribute__ ((__nothrow__));
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg);
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg) __attribute__ ((__nothrow__));
extern int snprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, ...)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3,
4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, __gnuc_va_list __arg)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3,
0)));
# 398 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int fscanf (FILE *__restrict __stream,
__const char *__restrict __format, ...) ;
extern int scanf (__const char *__restrict __format, ...) ;
extern int sscanf (__const char *__restrict __s,
__const char *__restrict __format, ...) __attribute__ ((__nothrow__));
# 440 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int fgetc (FILE *__stream);
extern int getc (FILE *__stream);
extern int getchar (void);
# 464 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int getc_unlocked (FILE *__stream);
extern int getchar_unlocked (void);
# 475 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int fgetc_unlocked (FILE *__stream);
extern int fputc (int __c, FILE *__stream);
extern int putc (int __c, FILE *__stream);
extern int putchar (int __c);
# 508 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int fputc_unlocked (int __c, FILE *__stream);
extern int putc_unlocked (int __c, FILE *__stream);
extern int putchar_unlocked (int __c);
extern int getw (FILE *__stream);
extern int putw (int __w, FILE *__stream);
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
;
extern char *gets (char *__s) ;
# 589 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
extern int puts (__const char *__s);
extern int ungetc (int __c, FILE *__stream);
extern size_t fread (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s) ;
# 642 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern int fseek (FILE *__stream, long int __off, int __whence);
extern long int ftell (FILE *__stream) ;
extern void rewind (FILE *__stream);
# 678 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int fseeko (FILE *__stream, __off_t __off, int __whence);
extern __off_t ftello (FILE *__stream) ;
# 697 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
# 720 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
# 729 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
extern void perror (__const char *__s);
# 1 "/usr/armv5te-linux-gnueabi/include/bits/sys_errlist.h" 1 3 4
# 27 "/usr/armv5te-linux-gnueabi/include/bits/sys_errlist.h" 3 4
extern int sys_nerr;
extern __const char *__const sys_errlist[];
# 759 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4
extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
# 778 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern FILE *popen (__const char *__command, __const char *__modes) ;
extern int pclose (FILE *__stream);
extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
# 818 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
# 839 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/stdio.h" 1 3 4
# 33 "/usr/armv5te-linux-gnueabi/include/bits/stdio.h" 3 4
extern __inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
return vfprintf (stdout, __fmt, __arg);
}
extern __inline int
getchar (void)
{
return _IO_getc (stdin);
}
extern __inline int
getc_unlocked (FILE *__fp)
{
return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0)
? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
}
extern __inline int
getchar_unlocked (void)
{
return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end),
0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
}
extern __inline int
putchar (int __c)
{
return _IO_putc (__c, stdout);
}
extern __inline int
fputc_unlocked (int __c, FILE *__stream)
{
return (__builtin_expect (((__stream)->_IO_write_ptr >=
(__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) :
(unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}
extern __inline int
putc_unlocked (int __c, FILE *__stream)
{
return (__builtin_expect (((__stream)->_IO_write_ptr >=
(__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) :
(unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}
extern __inline int
putchar_unlocked (int __c)
{
return (__builtin_expect (((stdout)->_IO_write_ptr >=
(stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) :
(unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
}
# 111 "/usr/armv5te-linux-gnueabi/include/bits/stdio.h" 3 4
extern __inline int
__attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream)
{
return (((__stream)->_flags & 0x10) != 0);
}
extern __inline int
__attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream)
{
return (((__stream)->_flags & 0x20) != 0);
}
# 840 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4
# 848 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4
# 17 "momusys.h" 2
# 1 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 1 3 4
# 33 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 34 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 2 3 4
# 96 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long int quot;
long int rem;
} ldiv_t;
# 140 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
extern double atof (__const char *__nptr)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1))) ;
extern int atoi (__const char *__nptr)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1))) ;
extern long int atol (__const char *__nptr)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1))) ;
__extension__ extern long long int atoll (__const char *__nptr)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1))) ;
extern double strtod (__const char *__restrict __nptr,
char **__restrict __endptr)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
# 182 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern long int strtol (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
extern unsigned long int strtoul (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern long long int strtoq (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern long long int strtoll (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
# 279 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern double __strtod_internal (__const char *__restrict __nptr,
char **__restrict __endptr, int __group)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
extern float __strtof_internal (__const char *__restrict __nptr,
char **__restrict __endptr, int __group)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
extern long double __strtold_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __group)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
extern long int __strtol_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern unsigned long long int __strtoull_internal (__const char *
__restrict __nptr,
char **__restrict __endptr,
int __base, int __group)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
extern __inline double
__attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char
**__restrict __endptr)
{
return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
__attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char
**__restrict __endptr, int __base)
{
return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
__attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char
**__restrict __endptr, int __base)
{
return __strtoul_internal (__nptr, __endptr, __base, 0);
}
# 364 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
__extension__ extern __inline long long int
__attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char
**__restrict __endptr, int __base)
{
return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
__attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char
**__restrict __endptr, int __base)
{
return __strtoull_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline long long int
__attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char
**__restrict __endptr, int __base)
{
return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
__attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char
**__restrict __endptr, int __base)
{
return __strtoull_internal (__nptr, __endptr, __base, 0);
}
extern __inline double
__attribute__ ((__nothrow__)) atof (__const char *__nptr)
{
return strtod (__nptr, (char **) ((void *)0));
}
extern __inline int
__attribute__ ((__nothrow__)) atoi (__const char *__nptr)
{
return (int) strtol (__nptr, (char **) ((void *)0), 10);
}
extern __inline long int
__attribute__ ((__nothrow__)) atol (__const char *__nptr)
{
return strtol (__nptr, (char **) ((void *)0), 10);
}
__extension__ extern __inline long long int
__attribute__ ((__nothrow__)) atoll (__const char *__nptr)
{
return strtoll (__nptr, (char **) ((void *)0), 10);
}
# 429 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
extern long int a64l (__const char *__s)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1))) ;
# 1 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 1 3 4
# 29 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
# 62 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
# 100 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
# 133 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/time.h" 1 3 4
# 75 "/usr/armv5te-linux-gnueabi/include/time.h" 3 4
typedef __time_t time_t;
# 93 "/usr/armv5te-linux-gnueabi/include/time.h" 3 4
typedef __clockid_t clockid_t;
# 105 "/usr/armv5te-linux-gnueabi/include/time.h" 3 4
typedef __timer_t timer_t;
# 134 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4
# 147 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 148 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 195 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
# 217 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/endian.h" 1 3 4
# 37 "/usr/armv5te-linux-gnueabi/include/endian.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/endian.h" 1 3 4
# 38 "/usr/armv5te-linux-gnueabi/include/endian.h" 2 3 4
# 218 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 1 3 4
# 31 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/select.h" 1 3 4
# 32 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 2 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/sigset.h" 1 3 4
# 23 "/usr/armv5te-linux-gnueabi/include/bits/sigset.h" 3 4
typedef int __sig_atomic_t;
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 35 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 2 3 4
typedef __sigset_t sigset_t;
# 1 "/usr/armv5te-linux-gnueabi/include/time.h" 1 3 4
# 121 "/usr/armv5te-linux-gnueabi/include/time.h" 3 4
struct timespec
{
__time_t tv_sec;
long int tv_nsec;
};
# 45 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 2 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/time.h" 1 3 4
# 69 "/usr/armv5te-linux-gnueabi/include/bits/time.h" 3 4
struct timeval
{
__time_t tv_sec;
__suseconds_t tv_usec;
};
# 47 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 2 3 4
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
# 67 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4
typedef struct
{
__fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];
} fd_set;
typedef __fd_mask fd_mask;
# 99 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4
# 109 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4
extern int select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
struct timeval *__restrict __timeout);
# 121 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4
extern int pselect (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
const struct timespec *__restrict __timeout,
const __sigset_t *__restrict __sigmask);
# 221 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/sys/sysmacros.h" 1 3 4
# 29 "/usr/armv5te-linux-gnueabi/include/sys/sysmacros.h" 3 4
__extension__
extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
__attribute__ ((__nothrow__));
__extension__
extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
__attribute__ ((__nothrow__));
__extension__
extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
unsigned int __minor)
__attribute__ ((__nothrow__));
__extension__ extern __inline unsigned int
__attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
{
return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
}
__extension__ extern __inline unsigned int
__attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
{
return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
}
__extension__ extern __inline unsigned long long int
__attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned
int __minor)
{
return ((__minor & 0xff) | ((__major & 0xfff) << 8)
| (((unsigned long long int) (__minor & ~0xff)) << 12)
| (((unsigned long long int) (__major & ~0xfff)) << 32));
}
# 224 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4
# 235 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
# 270 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/pthreadtypes.h" 1 3 4
# 36 "/usr/armv5te-linux-gnueabi/include/bits/pthreadtypes.h" 3 4
typedef unsigned long int pthread_t;
typedef union
{
char __size[36];
long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
struct __pthread_mutex_s
{
int __lock;
unsigned int __count;
int __owner;
int __kind;
unsigned int __nusers;
__extension__ union
{
int __spins;
__pthread_slist_t __list;
};
} __data;
char __size[24];
long int __align;
} pthread_mutex_t;
typedef union
{
char __size[4];
long int __align;
} pthread_mutexattr_t;
typedef union
{
struct
{
int __lock;
unsigned int __futex;
__extension__ unsigned long long int __total_seq;
__extension__ unsigned long long int __wakeup_seq;
__extension__ unsigned long long int __woken_seq;
void *__mutex;
unsigned int __nwaiters;
unsigned int __broadcast_seq;
} __data;
char __size[48];
__extension__ long long int __align;
} pthread_cond_t;
typedef union
{
char __size[4];
long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
struct
{
int __lock;
unsigned int __nr_readers;
unsigned int __readers_wakeup;
unsigned int __writer_wakeup;
unsigned int __nr_readers_queued;
unsigned int __nr_writers_queued;
unsigned int __flags;
int __writer;
} __data;
char __size[32];
long int __align;
} pthread_rwlock_t;
typedef union
{
char __size[8];
long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
char __size[20];
long int __align;
} pthread_barrier_t;
typedef union
{
char __size[4];
int __align;
} pthread_barrierattr_t;
# 271 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4
# 439 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 2 3 4
extern long int random (void) __attribute__ ((__nothrow__));
extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
extern char *initstate (unsigned int __seed, char *__statebuf,
size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__
(2)));
extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1)));
struct random_data
{
int32_t *fptr;
int32_t *rptr;
int32_t *state;
int rand_type;
int rand_deg;
int rand_sep;
int32_t *end_ptr;
};
extern int random_r (struct random_data *__restrict __buf,
int32_t *__restrict __result) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1, 2)));
extern int srandom_r (unsigned int __seed, struct random_data *__buf)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
size_t __statelen,
struct random_data *__restrict __buf)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
extern int setstate_r (char *__restrict __statebuf,
struct random_data *__restrict __buf)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int rand (void) __attribute__ ((__nothrow__));
extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
extern double drand48 (void) __attribute__ ((__nothrow__));
extern double erand48 (unsigned short int __xsubi[3]) __attribute__
((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern long int lrand48 (void) __attribute__ ((__nothrow__));
extern long int nrand48 (unsigned short int __xsubi[3])
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern long int mrand48 (void) __attribute__ ((__nothrow__));
extern long int jrand48 (unsigned short int __xsubi[3])
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
extern unsigned short int *seed48 (unsigned short int __seed16v[3])
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern void lcong48 (unsigned short int __param[7]) __attribute__
((__nothrow__)) __attribute__ ((__nonnull__ (1)));
struct drand48_data
{
unsigned short int __x[3];
unsigned short int __old_x[3];
unsigned short int __c;
unsigned short int __init;
unsigned long long int __a;
};
extern int drand48_r (struct drand48_data *__restrict __buffer,
double *__restrict __result) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1, 2)));
extern int erand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
double *__restrict __result) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1, 2)));
extern int lrand48_r (struct drand48_data *__restrict __buffer,
long int *__restrict __result)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int nrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
long int *__restrict __result)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int mrand48_r (struct drand48_data *__restrict __buffer,
long int *__restrict __result)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int jrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
long int *__restrict __result)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
extern int seed48_r (unsigned short int __seed16v[3],
struct drand48_data *__buffer) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1, 2)));
extern int lcong48_r (unsigned short int __param[7],
struct drand48_data *__buffer)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__
((__malloc__)) ;
extern void *calloc (size_t __nmemb, size_t __size)
__attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
extern void *realloc (void *__ptr, size_t __size)
__attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__
((__warn_unused_result__));
extern void free (void *__ptr) __attribute__ ((__nothrow__));
extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
# 1 "/usr/armv5te-linux-gnueabi/include/alloca.h" 1 3 4
# 25 "/usr/armv5te-linux-gnueabi/include/alloca.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 26 "/usr/armv5te-linux-gnueabi/include/alloca.h" 2 3 4
extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
# 613 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 2 3 4
extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__
((__malloc__)) ;
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
extern void abort (void) __attribute__ ((__nothrow__)) __attribute__
((__noreturn__));
extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1)));
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__
((__noreturn__));
# 658 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern char *getenv (__const char *__name) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1))) ;
extern char *__secure_getenv (__const char *__name)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__
((__nonnull__ (1)));
extern int setenv (__const char *__name, __const char *__value, int __replace)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
extern int clearenv (void) __attribute__ ((__nothrow__));
# 698 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern char *mktemp (char *__template) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1))) ;
# 709 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
# 729 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1))) ;
extern int system (__const char *__command) ;
# 757 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern char *realpath (__const char *__restrict __name,
char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
typedef int (*__compar_fn_t) (__const void *, __const void *);
extern void *bsearch (__const void *__key, __const void *__base,
size_t __nmemb, size_t __size, __compar_fn_t __compar)
__attribute__ ((__nonnull__ (1, 2, 5))) ;
extern void qsort (void *__base, size_t __nmemb, size_t __size,
__compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)) ;
extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)) ;
extern div_t div (int __numer, int __denom)
__attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
extern ldiv_t ldiv (long int __numer, long int __denom)
__attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
# 822 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__
((__nonnull__ (3, 4))) ;
extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__
((__nonnull__ (3, 4))) ;
extern char *gcvt (double __value, int __ndigit, char *__buf)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
extern char *qecvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
extern char *qfcvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign, char *__restrict __buf,
size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__
(3, 4, 5)));
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign, char *__restrict __buf,
size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__
(3, 4, 5)));
extern int qecvt_r (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign,
char *__restrict __buf, size_t __len)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
extern int qfcvt_r (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign,
char *__restrict __buf, size_t __len)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__))
;
extern int mbtowc (wchar_t *__restrict __pwc,
__const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
extern size_t mbstowcs (wchar_t *__restrict __pwcs,
__const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
extern size_t wcstombs (char *__restrict __s,
__const wchar_t *__restrict __pwcs, size_t __n)
__attribute__ ((__nothrow__));
extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__))
__attribute__ ((__nonnull__ (1))) ;
# 927 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern int posix_openpt (int __oflag) ;
# 962 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
extern int getloadavg (double __loadavg[], int __nelem)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
# 978 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4
# 18 "momusys.h" 2
# 1 "/usr/armv5te-linux-gnueabi/include/math.h" 1 3 4
# 30 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/huge_val.h" 1 3 4
# 35 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4
# 47 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/mathdef.h" 1 3 4
# 48 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4
# 71 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 1 3 4
# 53 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern double acos (double __x) __attribute__ ((__nothrow__)); extern double
__acos (double __x) __attribute__ ((__nothrow__));
extern double asin (double __x) __attribute__ ((__nothrow__)); extern double
__asin (double __x) __attribute__ ((__nothrow__));
extern double atan (double __x) __attribute__ ((__nothrow__)); extern double
__atan (double __x) __attribute__ ((__nothrow__));
extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__));
extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__));
extern double cos (double __x) __attribute__ ((__nothrow__)); extern double
__cos (double __x) __attribute__ ((__nothrow__));
extern double sin (double __x) __attribute__ ((__nothrow__)); extern double
__sin (double __x) __attribute__ ((__nothrow__));
extern double tan (double __x) __attribute__ ((__nothrow__)); extern double
__tan (double __x) __attribute__ ((__nothrow__));
extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double
__cosh (double __x) __attribute__ ((__nothrow__));
extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double
__sinh (double __x) __attribute__ ((__nothrow__));
extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double
__tanh (double __x) __attribute__ ((__nothrow__));
# 87 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double
__acosh (double __x) __attribute__ ((__nothrow__));
extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double
__asinh (double __x) __attribute__ ((__nothrow__));
extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double
__atanh (double __x) __attribute__ ((__nothrow__));
extern double exp (double __x) __attribute__ ((__nothrow__)); extern double
__exp (double __x) __attribute__ ((__nothrow__));
extern double frexp (double __x, int *__exponent) __attribute__
((__nothrow__)); extern double __frexp (double __x, int *__exponent)
__attribute__ ((__nothrow__));
extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__));
extern double __ldexp (double __x, int __exponent) __attribute__
((__nothrow__));
extern double log (double __x) __attribute__ ((__nothrow__)); extern double
__log (double __x) __attribute__ ((__nothrow__));
extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double
__log10 (double __x) __attribute__ ((__nothrow__));
extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__));
extern double __modf (double __x, double *__iptr) __attribute__
((__nothrow__));
# 127 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double
__expm1 (double __x) __attribute__ ((__nothrow__));
extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double
__log1p (double __x) __attribute__ ((__nothrow__));
extern double logb (double __x) __attribute__ ((__nothrow__)); extern double
__logb (double __x) __attribute__ ((__nothrow__));
# 152 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern double pow (double __x, double __y) __attribute__ ((__nothrow__));
extern double __pow (double __x, double __y) __attribute__ ((__nothrow__));
extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double
__sqrt (double __x) __attribute__ ((__nothrow__));
extern double hypot (double __x, double __y) __attribute__ ((__nothrow__));
extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__));
extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double
__cbrt (double __x) __attribute__ ((__nothrow__));
extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double fmod (double __x, double __y) __attribute__ ((__nothrow__));
extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__));
extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int __finite (double __value) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern double drem (double __x, double __y) __attribute__ ((__nothrow__));
extern double __drem (double __x, double __y) __attribute__ ((__nothrow__));
extern double significand (double __x) __attribute__ ((__nothrow__)); extern
double __significand (double __x) __attribute__ ((__nothrow__));
extern double copysign (double __x, double __y) __attribute__ ((__nothrow__))
__attribute__ ((__const__)); extern double __copysign (double __x, double __y)
__attribute__ ((__nothrow__)) __attribute__ ((__const__));
# 231 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0
(double) __attribute__ ((__nothrow__));
extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1
(double) __attribute__ ((__nothrow__));
extern double jn (int, double) __attribute__ ((__nothrow__)); extern double
__jn (int, double) __attribute__ ((__nothrow__));
extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0
(double) __attribute__ ((__nothrow__));
extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1
(double) __attribute__ ((__nothrow__));
extern double yn (int, double) __attribute__ ((__nothrow__)); extern double
__yn (int, double) __attribute__ ((__nothrow__));
extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf
(double) __attribute__ ((__nothrow__));
extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc
(double) __attribute__ ((__nothrow__));
extern double lgamma (double) __attribute__ ((__nothrow__)); extern double
__lgamma (double) __attribute__ ((__nothrow__));
# 265 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern double gamma (double) __attribute__ ((__nothrow__)); extern double
__gamma (double) __attribute__ ((__nothrow__));
extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__));
extern double __lgamma_r (double, int *__signgamp) __attribute__
((__nothrow__));
extern double rint (double __x) __attribute__ ((__nothrow__)); extern double
__rint (double __x) __attribute__ ((__nothrow__));
extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__))
__attribute__ ((__const__)); extern double __nextafter (double __x, double __y)
__attribute__ ((__nothrow__)) __attribute__ ((__const__));
extern double remainder (double __x, double __y) __attribute__ ((__nothrow__));
extern double __remainder (double __x, double __y) __attribute__
((__nothrow__));
extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__));
extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__));
extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb
(double __x) __attribute__ ((__nothrow__));
# 359 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern double scalb (double __x, double __n) __attribute__ ((__nothrow__));
extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__));
# 72 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4
# 94 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 1 3 4
# 53 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float
__acosf (float __x) __attribute__ ((__nothrow__));
extern float asinf (float __x) __attribute__ ((__nothrow__)); extern float
__asinf (float __x) __attribute__ ((__nothrow__));
extern float atanf (float __x) __attribute__ ((__nothrow__)); extern float
__atanf (float __x) __attribute__ ((__nothrow__));
extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__));
extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__));
extern float cosf (float __x) __attribute__ ((__nothrow__)); extern float
__cosf (float __x) __attribute__ ((__nothrow__));
extern float sinf (float __x) __attribute__ ((__nothrow__)); extern float
__sinf (float __x) __attribute__ ((__nothrow__));
extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float
__tanf (float __x) __attribute__ ((__nothrow__));
extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float
__coshf (float __x) __attribute__ ((__nothrow__));
extern float sinhf (float __x) __attribute__ ((__nothrow__)); extern float
__sinhf (float __x) __attribute__ ((__nothrow__));
extern float tanhf (float __x) __attribute__ ((__nothrow__)); extern float
__tanhf (float __x) __attribute__ ((__nothrow__));
# 87 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern float acoshf (float __x) __attribute__ ((__nothrow__)); extern float
__acoshf (float __x) __attribute__ ((__nothrow__));
extern float asinhf (float __x) __attribute__ ((__nothrow__)); extern float
__asinhf (float __x) __attribute__ ((__nothrow__));
extern float atanhf (float __x) __attribute__ ((__nothrow__)); extern float
__atanhf (float __x) __attribute__ ((__nothrow__));
extern float expf (float __x) __attribute__ ((__nothrow__)); extern float
__expf (float __x) __attribute__ ((__nothrow__));
extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__));
extern float __frexpf (float __x, int *__exponent) __attribute__
((__nothrow__));
extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__));
extern float __ldexpf (float __x, int __exponent) __attribute__
((__nothrow__));
extern float logf (float __x) __attribute__ ((__nothrow__)); extern float
__logf (float __x) __attribute__ ((__nothrow__));
extern float log10f (float __x) __attribute__ ((__nothrow__)); extern float
__log10f (float __x) __attribute__ ((__nothrow__));
extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__));
extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__));
# 127 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern float expm1f (float __x) __attribute__ ((__nothrow__)); extern float
__expm1f (float __x) __attribute__ ((__nothrow__));
extern float log1pf (float __x) __attribute__ ((__nothrow__)); extern float
__log1pf (float __x) __attribute__ ((__nothrow__));
extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float
__logbf (float __x) __attribute__ ((__nothrow__));
# 152 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern
float __powf (float __x, float __y) __attribute__ ((__nothrow__));
extern float sqrtf (float __x) __attribute__ ((__nothrow__)); extern float
__sqrtf (float __x) __attribute__ ((__nothrow__));
extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__));
extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__));
extern float cbrtf (float __x) __attribute__ ((__nothrow__)); extern float
__cbrtf (float __x) __attribute__ ((__nothrow__));
extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern float fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern
float __fmodf (float __x, float __y) __attribute__ ((__nothrow__));
extern int __isinff (float __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int __finitef (float __value) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern int isinff (float __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int finitef (float __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern float dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern
float __dremf (float __x, float __y) __attribute__ ((__nothrow__));
extern float significandf (float __x) __attribute__ ((__nothrow__)); extern
float __significandf (float __x) __attribute__ ((__nothrow__));
extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__))
__attribute__ ((__const__)); extern float __copysignf (float __x, float __y)
__attribute__ ((__nothrow__)) __attribute__ ((__const__));
# 231 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern float j0f (float) __attribute__ ((__nothrow__)); extern float __j0f
(float) __attribute__ ((__nothrow__));
extern float j1f (float) __attribute__ ((__nothrow__)); extern float __j1f
(float) __attribute__ ((__nothrow__));
extern float jnf (int, float) __attribute__ ((__nothrow__)); extern float __jnf
(int, float) __attribute__ ((__nothrow__));
extern float y0f (float) __attribute__ ((__nothrow__)); extern float __y0f
(float) __attribute__ ((__nothrow__));
extern float y1f (float) __attribute__ ((__nothrow__)); extern float __y1f
(float) __attribute__ ((__nothrow__));
extern float ynf (int, float) __attribute__ ((__nothrow__)); extern float __ynf
(int, float) __attribute__ ((__nothrow__));
extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff
(float) __attribute__ ((__nothrow__));
extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf
(float) __attribute__ ((__nothrow__));
extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float
__lgammaf (float) __attribute__ ((__nothrow__));
# 265 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern float gammaf (float) __attribute__ ((__nothrow__)); extern float
__gammaf (float) __attribute__ ((__nothrow__));
extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__));
extern float __lgammaf_r (float, int *__signgamp) __attribute__
((__nothrow__));
extern float rintf (float __x) __attribute__ ((__nothrow__)); extern float
__rintf (float __x) __attribute__ ((__nothrow__));
extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__))
__attribute__ ((__const__)); extern float __nextafterf (float __x, float __y)
__attribute__ ((__nothrow__)) __attribute__ ((__const__));
extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__));
extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__));
extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern
float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__));
extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int
__ilogbf (float __x) __attribute__ ((__nothrow__));
# 359 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4
extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__));
extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__));
# 95 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4
# 157 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
extern int signgam;
# 284 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
typedef enum
{
_IEEE_ = -1,
_SVID_,
_XOPEN_,
_POSIX_,
_ISOC_
} _LIB_VERSION_TYPE;
extern _LIB_VERSION_TYPE _LIB_VERSION;
# 309 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
struct exception
{
int type;
char *name;
double arg1;
double arg2;
double retval;
};
extern int matherr (struct exception *__exc);
# 409 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/mathinline.h" 1 3 4
# 410 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4
# 465 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4
# 19 "momusys.h" 2
# 1 "/usr/armv5te-linux-gnueabi/include/string.h" 1 3 4
# 28 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4
# 34 "/usr/armv5te-linux-gnueabi/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/armv5te-linux-gnueabi/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/armv5te-linux-gnueabi/include/string.h" 3 4
extern char *strdup (__const char *__s)
__attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__
((__nonnull__ (1)));
# 165 "/usr/armv5te-linux-gnueabi/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/armv5te-linux-gnueabi/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/armv5te-linux-gnueabi/include/string.h" 3 4
extern size_t strlen (__const char *__s)
__attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__
((__nonnull__ (1)));
# 254 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4
extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
# 270 "/usr/armv5te-linux-gnueabi/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)));
# 288 "/usr/armv5te-linux-gnueabi/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__));
# 325 "/usr/armv5te-linux-gnueabi/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)));
# 348 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4
extern char *strsep (char **__restrict __stringp,
__const char *__restrict __delim)
__attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
# 414 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/string.h" 1 3 4
# 415 "/usr/armv5te-linux-gnueabi/include/string.h" 2 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 1 3 4
# 80 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__))
__STRING2_COPY_ARR2;
typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__))
__STRING2_COPY_ARR3;
typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__))
__STRING2_COPY_ARR4;
typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__))
__STRING2_COPY_ARR5;
typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__))
__STRING2_COPY_ARR6;
typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__))
__STRING2_COPY_ARR7;
typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__))
__STRING2_COPY_ARR8;
# 394 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern void *__rawmemchr (const void *__s, int __c);
# 969 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
extern __inline size_t
__strcspn_c1 (__const char *__s, int __reject)
{
register size_t __result = 0;
while (__s[__result] != '\0' && __s[__result] != __reject)
++__result;
return __result;
}
extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
int __reject2);
extern __inline size_t
__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
{
register size_t __result = 0;
while (__s[__result] != '\0' && __s[__result] != __reject1
&& __s[__result] != __reject2)
++__result;
return __result;
}
extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
int __reject2, int __reject3);
extern __inline size_t
__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
int __reject3)
{
register size_t __result = 0;
while (__s[__result] != '\0' && __s[__result] != __reject1
&& __s[__result] != __reject2 && __s[__result] != __reject3)
++__result;
return __result;
}
# 1045 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
extern __inline size_t
__strspn_c1 (__const char *__s, int __accept)
{
register size_t __result = 0;
while (__s[__result] == __accept)
++__result;
return __result;
}
extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
int __accept2);
extern __inline size_t
__strspn_c2 (__const char *__s, int __accept1, int __accept2)
{
register size_t __result = 0;
while (__s[__result] == __accept1 || __s[__result] == __accept2)
++__result;
return __result;
}
extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
int __accept2, int __accept3);
extern __inline size_t
__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
{
register size_t __result = 0;
while (__s[__result] == __accept1 || __s[__result] == __accept2
|| __s[__result] == __accept3)
++__result;
return __result;
}
# 1121 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
int __accept2);
extern __inline char *
__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
{
while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
++__s;
return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}
extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
int __accept2, int __accept3);
extern __inline char *
__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
int __accept3)
{
while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
&& *__s != __accept3)
++__s;
return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}
# 1173 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
extern __inline char *
__strtok_r_1c (char *__s, char __sep, char **__nextp)
{
char *__result;
if (__s == ((void *)0))
__s = *__nextp;
while (*__s == __sep)
++__s;
__result = ((void *)0);
if (*__s != '\0')
{
__result = __s++;
while (*__s != '\0')
if (*__s++ == __sep)
{
__s[-1] = '\0';
break;
}
*__nextp = __s;
}
return __result;
}
# 1205 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1223 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern __inline char *__strsep_1c (char **__s, char __reject);
extern __inline char *
__strsep_1c (char **__s, char __reject)
{
register char *__retval = *__s;
if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p
(__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *)
__rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) !=
((void *)0))
*(*__s)++ = '\0';
return __retval;
}
extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
extern __inline char *
__strsep_2c (char **__s, char __reject1, char __reject2)
{
register char *__retval = *__s;
if (__retval != ((void *)0))
{
register char *__cp = __retval;
while (1)
{
if (*__cp == '\0')
{
__cp = ((void *)0);
break;
}
if (*__cp == __reject1 || *__cp == __reject2)
{
*__cp++ = '\0';
break;
}
++__cp;
}
*__s = __cp;
}
return __retval;
}
extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
char __reject3);
extern __inline char *
__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
{
register char *__retval = *__s;
if (__retval != ((void *)0))
{
register char *__cp = __retval;
while (1)
{
if (*__cp == '\0')
{
__cp = ((void *)0);
break;
}
if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
{
*__cp++ = '\0';
break;
}
++__cp;
}
*__s = __cp;
}
return __retval;
}
# 1304 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__))
__attribute__ ((__malloc__));
# 1323 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4
extern char *__strndup (__const char *__string, size_t __n)
__attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
# 418 "/usr/armv5te-linux-gnueabi/include/string.h" 2 3 4
# 426 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4
# 24 "momusys.h" 2
# 57 "momusys.h"
typedef void Void ;
typedef char Char ;
typedef const char C_Char ;
typedef unsigned char Byte ;
typedef const Byte C_Byte ;
typedef unsigned char UChar ;
typedef const UChar C_UChar ;
typedef short int Short ;
typedef short int SInt ;
typedef unsigned short UShort ;
typedef unsigned short USInt ;
typedef const short C_Short ;
typedef const short C_SInt ;
typedef const UShort C_UShort ;
typedef const UShort C_USInt ;
typedef int Int ;
typedef long int LInt ;
typedef const int C_Int ;
typedef unsigned int U_Int ;
typedef unsigned int UInt ;
typedef unsigned long int ULInt ;
typedef const UInt C_UInt ;
typedef float Float ;
typedef const float C_Float ;
typedef double Double ;
typedef const double C_Double ;
typedef FILE File ;
# 165 "momusys.h"
# 1 "mom_structs.h" 1
# 15 "mom_structs.h"
enum image_type {SHORT_TYPE,FLOAT_TYPE,UCHAR_TYPE};
typedef enum image_type ImageType;
union image_data
{
SInt *s;
Float *f;
UChar *u;
};
typedef union image_data ImageData;
struct image
{
Int version;
UInt x,y;
Char upperodd;
Char grid;
SInt *f;
ImageData *data;
ImageType type;
};
typedef struct image Image;
typedef struct image ImageI;
typedef struct image ImageF;
# 50 "mom_structs.h"
struct vop
{
Int prediction_type;
Int mod_time_base;
Float time_inc;
Int rounding_type;
Int width;
Int height;
Int hor_spat_ref;
Int ver_spat_ref;
Int intra_dc_vlc_thr;
Int quantizer;
Int intra_quantizer;
Int time_increment_resolution;
Int intra_acdc_pred_disable;
Int sr_for;
Int fcode_for;
Int quant_precision;
Int bits_per_pixel;
Image *y_chan;
Image *u_chan;
Image *v_chan;
};
typedef struct vop Vop;
struct object_layer_cfg
{
Float frame_rate;
Int M;
Int start_frame;
Int end_frame;
Int bit_rate;
Int frame_skip;
Int quantizer;
Int intra_quantizer;
Int intra_period;
Int modulo_time_base[2];
};
typedef struct object_layer_cfg VolConfig;
# 1 "mom_util.h" 1
# 11 "mom_util.h"
Image *AllocImage(UInt size_x, UInt size_y, ImageType type);
Void FreeImage(Image *image);
Void CopyImage(Image *image_in, Image *image_out);
Void SetConstantImage(Image *image, Float val);
Void SubImage(Image *image_in1, Image *image_in2, Image *image_out);
Vop * SallocVop (void);
Vop * AllocVop (UInt x, UInt y);
Void SfreeVop (Vop *vop);
Void FreeVop (Vop *vop);
Void CopyVopNonImageField (Vop *in, Vop *out);
# 53 "mom_util.h"
# 1 "mom_structs.h" 1
# 54 "mom_util.h" 2
# 105 "mom_structs.h" 2
# 1 "mom_access.h" 1
# 14 "mom_access.h"
Char *GetImageData(Image *image);
UInt GetImageSize(Image *image);
UInt GetImageSizeX(Image *image);
UInt GetImageSizeY(Image *image);
Int GetImageVersion(Image *image);
ImageType GetImageType(Image *image);
Int GetVopNot8Bit(Vop *vop);
Int GetVopQuantPrecision(Vop *vop);
Int GetVopBitsPerPixel(Vop *vop);
Int GetVopMidGrey(Vop *vop);
Int GetVopBrightWhite(Vop *vop);
Int GetVopTimeIncrementResolution(Vop *vop);
Int GetVopModTimeBase(Vop *vop);
Int GetVopTimeInc(Vop *vop);
Int GetVopPredictionType(Vop *vop);
Int GetVopIntraDCVlcThr(Vop *vop);
Int GetVopRoundingType(Vop *vop);
Int GetVopWidth(Vop *vop);
Int GetVopHeight(Vop *vop);
Int GetVopHorSpatRef(Vop *vop);
Int GetVopVerSpatRef(Vop *vop);
Int GetVopQuantizer(Vop *vop);
Int GetVopIntraQuantizer(Vop *vop);
Int GetVopIntraACDCPredDisable(Vop *vop);
Int GetVopFCodeFor(Vop *vop);
Int GetVopSearchRangeFor(Vop *vop);
Image *GetVopY(Vop *vop);
Image *GetVopU(Vop *vop);
Image *GetVopV(Vop *vop);
Void PutVopQuantPrecision(Int quant_precision,Vop *vop);
Void PutVopBitsPerPixel(Int bits_per_pixel,Vop *vop);
Void PutVopTimeIncrementResolution(Int time_incre_res, Vop *vop);
Void PutVopModTimeBase(Int mod_time_base, Vop *vop);
Void PutVopTimeInc(Int time_inc, Vop *vop);
Void PutVopPredictionType(Int prediction_type, Vop *vop);
Void PutVopIntraDCVlcThr(Int intra_dc_vlc_thr,Vop *vop);
Void PutVopRoundingType(Int rounding_type, Vop *vop);
Void PutVopWidth(Int width, Vop *vop);
Void PutVopHeight(Int height, Vop *vop);
Void PutVopHorSpatRef(Int hor_spat_ref, Vop *vop);
Void PutVopVerSpatRef(Int ver_spat_ref, Vop *vop);
Void PutVopQuantizer(Int quantizer, Vop *vop);
Void PutVopIntraACDCPredDisable(Int intra_acdc_pred_disable, Vop *vop);
Void PutVopFCodeFor(Int fcode_for, Vop *vop);
Void PutVopSearchRangeFor(Int sr_for, Vop *vop);
Void PutVopY(Image *y_chan, Vop *vop);
Void PutVopU(Image *u_chan, Vop *vop);
Void PutVopV(Image *v_chan, Vop *vop);
Void PutVopIntraQuantizer(Int Q,Vop *vop);
Void PutVolConfigFrameRate (Float fr, VolConfig *cfg);
Void PutVolConfigM (Int M, VolConfig *cfg);
Void PutVolConfigStartFrame (Int frame, VolConfig *cfg);
Void PutVolConfigEndFrame (Int frame, VolConfig *cfg);
Void PutVolConfigBitrate (Int bit_rate,VolConfig *cfg);
Void PutVolConfigIntraPeriod (Int ir,VolConfig *cfg);
Void PutVolConfigQuantizer (Int Q,VolConfig *cfg);
Void PutVolConfigIntraQuantizer (Int Q,VolConfig *cfg);
Void PutVolConfigFrameSkip (Int frame_skip,VolConfig *cfg);
Void PutVolConfigModTimeBase (Int time,VolConfig *cfg);
Float GetVolConfigFrameRate (VolConfig *cfg);
Int GetVolConfigM (VolConfig *cfg);
Int GetVolConfigStartFrame (VolConfig *cfg);
Int GetVolConfigEndFrame (VolConfig *cfg);
Int GetVolConfigBitrate (VolConfig *cfg);
Int GetVolConfigIntraPeriod (VolConfig *cfg);
Int GetVolConfigQuantizer (VolConfig *cfg);
Int GetVolConfigIntraQuantizer (VolConfig *cfg);
Int GetVolConfigFrameSkip (VolConfig *cfg);
Int GetVolConfigModTimeBase (VolConfig *cfg,Int i);
# 106 "mom_structs.h" 2
# 166 "momusys.h" 2
# 7 "text_code.h" 2
# 1 "text_defs.h" 1
# 9 "text_defs.h"
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 1 3 4
# 11 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/syslimits.h" 1 3 4
# 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 1 3 4
# 122 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/limits.h" 1 3 4
# 145 "/usr/armv5te-linux-gnueabi/include/limits.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/posix1_lim.h" 1 3 4
# 153 "/usr/armv5te-linux-gnueabi/include/bits/posix1_lim.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/local_lim.h" 1 3 4
# 36 "/usr/armv5te-linux-gnueabi/include/bits/local_lim.h" 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/linux/limits.h" 1 3 4
# 37 "/usr/armv5te-linux-gnueabi/include/bits/local_lim.h" 2 3 4
# 154 "/usr/armv5te-linux-gnueabi/include/bits/posix1_lim.h" 2 3 4
# 146 "/usr/armv5te-linux-gnueabi/include/limits.h" 2 3 4
# 1 "/usr/armv5te-linux-gnueabi/include/bits/posix2_lim.h" 1 3 4
# 150 "/usr/armv5te-linux-gnueabi/include/limits.h" 2 3 4
# 123 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 2 3 4
# 8 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/syslimits.h" 2 3 4
# 12 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 2 3 4
# 10 "text_defs.h" 2
# 1 "vm_enc_defs.h" 1
# 1 "vm_common_defs.h" 1
# 6 "vm_enc_defs.h" 2
# 12 "text_defs.h" 2
# 9 "text_code.h" 2
# 1 "text_bits.h" 1
# 13 "text_bits.h"
typedef struct {
Int Y;
Int C;
Int vec;
Int CBPY;
Int CBPC;
Int MCBPC;
Int MODB;
Int CBPB;
Int MBTYPE;
Int COD;
Int MB_Mode;
Int header;
Int DQUANT;
Int total;
Int no_inter;
Int no_inter4v;
Int no_intra;
Int no_GMC;
Int ACpred_flag;
Int G;
Int CODA;
Int CBPA;
Int g_ACpred_flag;
Int no_field;
Int no_skipped;
Int no_Pskip;
Int no_noDCT;
Int fieldDCT;
Int interlaced;
Int Btype[7];
Int Nmvs[3];
} Bits;
Void MB_CodeCoeff ( Bits *bits, Int *qcoeff, Int Mode, Int CBP, Int ncoeffs,
Int intra_dcpred_disable, Image *DCbitstream, Image *bitstream, Int
transp_pattern[], Int direction[], Int error_res_disable, Int reverse_vlc, Int
switched, Int alternate_scan );
# 67 "text_bits.h"
void Bits_Reset ( Bits *bits );
# 10 "text_code.h" 2
# 18 "text_code.h"
Void VopCodeShapeTextIntraCom ( Vop *curr, Vop *rec_curr, Image
*mottext_bitstream );
Void VopShapeMotText ( Vop *curr, Vop *comp, Image *MB_decisions, Image *mot_x,
Image *mot_y, Int f_code_for, Int intra_acdc_pred_disable, Vop *rec_curr, Image
*mottext_bitstream );
# 33 "text_code.h"
Int cal_dc_scaler ( Int QP, Int type );
# 42 "text_code_mb.c" 2
# 1 "text_dct.h" 1
void fdct_enc(short *block);
void init_fdct_enc();
void idct_enc(short *block);
void init_idct_enc();
void fdct_mm32(short *blk);
void Fast_IDCT(short int *x);
# 43 "text_code_mb.c" 2
Void BlockPredict (SInt *curr,
Int x_pos, Int y_pos, UInt width, Int fblock[][8]);
Void BlockRebuild (SInt *rec_curr, SInt *comp, Int pred_type, Int max,
Int x_pos, Int y_pos, UInt width, UInt edge, Int fblock[][8]);
Void BlockQuantH263 (Int *coeff, Int QP, Int mode, Int type,
Int *qcoeff, Int maxDC, Int image_type);
Void BlockDequantH263 (Int *qcoeff, Int QP, Int mode, Int type,
Int *rcoeff, Int image_type, Int short_video_header, Int bits_per_pixel);
# 76 "text_code_mb.c"
Void CodeMB(Vop *curr, Vop *rec_curr, Vop *comp, Int x_pos, Int y_pos, UInt
width,
Int QP, Int Mode, Int *qcoeff)
{
Int k;
Int fblock[6][8][8];
Int coeff[384];
Int *coeff_ind;
Int *qcoeff_ind;
Int* rcoeff_ind;
Int x=0, y=0;
SInt *current=((void *)0), *recon, *compensated = ((void *)0);
UInt xwidth=0;
Int iblock[6][8][8];
Int rcoeff[6*64];
Int i, j;
Int type;
SInt tmp[64];
Int s;
int operation = curr->prediction_type;
Int max = GetVopBrightWhite(curr);
coeff_ind = coeff;
qcoeff_ind = qcoeff;
rcoeff_ind = rcoeff;
for (k = 0; k < 6; k++)
{
switch (k)
{
case 0:
x = x_pos;
y = y_pos;
xwidth = width;
current = (SInt *) GetImageData (GetVopY (curr));
break;
case 1:
x = x_pos + 8;
y = y_pos;
xwidth = width;
current = (SInt *) GetImageData (GetVopY (curr));
break;
case 2:
x = x_pos;
y = y_pos + 8;
xwidth = width;
current = (SInt *) GetImageData (GetVopY (curr));
break;
case 3:
x = x_pos + 8;
y = y_pos + 8;
xwidth = width;
current = (SInt *) GetImageData (GetVopY (curr));
break;
case 4:
x = x_pos / 2;
y = y_pos / 2;
xwidth = width / 2;
current = (SInt *) GetImageData (GetVopU (curr));
break;
case 5:
x = x_pos / 2;
y = y_pos / 2;
xwidth = width / 2;
current = (SInt *) GetImageData (GetVopV (curr));
break;
default:
break;
}
BlockPredict (current, x, y, xwidth, fblock[k]);
}
for (k = 0; k < 6; k++)
{
s = 0;
for (i = 0; i < 8; i++)
for (j = 0; j < 8; j++)
tmp[s++] = (SInt) fblock[k][i][j];
fdct_enc(tmp);
for (s = 0; s < 64; s++)
coeff_ind[s] = (Int) tmp[s];
if (k < 4) type = 1;
else type = 2;
BlockQuantH263(coeff_ind,QP,Mode,type,qcoeff_ind,
GetVopBrightWhite(curr),1);
BlockDequantH263(qcoeff_ind,QP,Mode,type,rcoeff_ind,1, 0,
GetVopBitsPerPixel(curr));
for (s = 0; s < 64; s++)
tmp[s] = (SInt) rcoeff_ind[s];
idct_enc(tmp);
s = 0;
for (i = 0; i < 8; i++)
for (j = 0; j < 8; j++)
iblock[k][i][j] = (Int)tmp[s++];
coeff_ind += 64;
qcoeff_ind += 64;
rcoeff_ind += 64;
if (Mode == 0||Mode==2)
for (i = 0; i < 8; i++)
for (j = 0; j < 8; j ++)
iblock[k][i][j] = (((GetVopBrightWhite(curr)) < ((((0) >
(iblock[k][i][j])) ? (0) : (iblock[k][i][j])))) ? (GetVopBrightWhite(curr)) :
((((0) > (iblock[k][i][j])) ? (0) : (iblock[k][i][j]))));
switch (k)
{
case 0:
case 1:
case 2:
continue;
case 3:
recon = (SInt *) GetImageData (GetVopY (rec_curr));
if (operation == 1) compensated = (SInt *) GetImageData (GetVopY (comp));
BlockRebuild (recon, compensated, operation, max, x_pos, y_pos, width, 16,
iblock[0]);
BlockRebuild (recon, compensated, operation, max, x_pos + 8, y_pos, width,
16, iblock[1]);
BlockRebuild (recon, compensated, operation, max, x_pos, y_pos + 8, width,
16, iblock[2]);
BlockRebuild (recon, compensated, operation, max, x_pos + 8, y_pos + 8,
width, 16, iblock[3]);
continue;
case 4:
recon = (SInt *) GetImageData (GetVopU (rec_curr));
if (operation == 1) compensated = (SInt *) GetImageData (GetVopU (comp));
BlockRebuild (recon, compensated, operation, max,
x_pos/2, y_pos/2, width/2, 8, iblock[4]);
continue;
case 5:
recon = (SInt *) GetImageData (GetVopV (rec_curr));
if (operation == 1) compensated = (SInt *) GetImageData (GetVopV (comp));
BlockRebuild (recon, compensated, operation, max,
x_pos/2, y_pos/2, width/2, 8, iblock[5]);
continue;
}
}
return;
}
# 256 "text_code_mb.c"
Void
BlockPredict (SInt *curr, Int x_pos, Int y_pos,
UInt width, Int fblock[][8])
{
Int i, j;
for (i = 0; i < 8; i++)
{
for (j = 0; j < 8; j++)
{
fblock[i][j] = curr[(y_pos+i)*width + x_pos+j];
}
}
}
# 292 "text_code_mb.c"
Void
BlockRebuild (SInt *rec_curr, SInt *comp, Int pred_type, Int max,
Int x_pos, Int y_pos, UInt width, UInt edge, Int fblock[][8])
{
Int i, j;
SInt *rec;
Int padded_width;
padded_width = width + 2 * edge;
rec = rec_curr + edge * padded_width + edge;
if (pred_type == 0)
{
SInt *p;
p = rec + y_pos * padded_width + x_pos;
for (i = 0; i < 8; i++)
{
for (j = 0; j < 8; j++)
{
SInt temp = fblock[i][j];
*(p++) = (((temp) > (max)) ? (max) : (((temp) > (0)) ? (temp) : (0)));
}
p += padded_width - 8;
}
}
else if (pred_type == 1)
{
SInt *p, *pc;
p = rec + y_pos * padded_width + x_pos;
pc = comp + y_pos * width + x_pos;
for (i = 0; i < 8; i++)
{
for (j = 0; j < 8; j++)
{
SInt temp = *(pc++) + fblock[i][j];
*(p++) = (((temp) > (max)) ? (max) : (((temp) > (0)) ? (temp) : (0)));
}
p += padded_width - 8;
pc += width - 8;
}
}
}
# 358 "text_code_mb.c"
Void
BlockQuantH263 (Int *coeff,
Int QP,
Int mode,
Int type,
Int *qcoeff,
Int maxDC,
Int image_type)
{
Int i;
Int level, result;
Int step, offset;
Int dc_scaler;
# 379 "text_code_mb.c"
if (!(QP > 0 && (QP < 32*image_type))) return;
if (!(type == 1 || type == 2)) return;
if (mode == 0 || mode == 2)
{
dc_scaler = cal_dc_scaler(QP,type);
qcoeff[0] = (((1) > ((((maxDC-1) < ((coeff[0] + dc_scaler/2)/dc_scaler)) ?
(maxDC-1) : ((coeff[0] + dc_scaler/2)/dc_scaler)))) ? (1) : ((((maxDC-1) <
((coeff[0] + dc_scaler/2)/dc_scaler)) ? (maxDC-1) : ((coeff[0] +
dc_scaler/2)/dc_scaler))));
step = 2 * QP;
for (i = 1; i < 64; i++)
{
level = (abs(coeff[i])) / step;
result = (coeff[i] >= 0) ? level : -level;
qcoeff[i] = (((2047) < ((((-2048) > (result)) ? (-2048) : (result)))) ?
(2047) : ((((-2048) > (result)) ? (-2048) : (result))));
}
}
else
{
step = 2 * QP;
offset = QP / 2;
for (i = 0; i < 64; i++)
{
level = (abs(coeff[i]) - offset) / step;
result = (coeff[i] >= 0) ? level : -level;
qcoeff[i] = (((2047) < ((((-2048) > (result)) ? (-2048) : (result)))) ?
(2047) : ((((-2048) > (result)) ? (-2048) : (result))));
}
}
return;
}
# 428 "text_code_mb.c"
Void
BlockDequantH263 (Int *qcoeff, Int QP, Int mode, Int type, Int *rcoeff,
Int image_type, Int short_video_header, Int bits_per_pixel)
{
Int i;
Int dc_scaler;
Int lim;
lim = (1 << (bits_per_pixel + 3));
if (QP)
{
for (i = 0; i < 64; i++)
{
if (qcoeff[i])
{
qcoeff[i] = (((2047) < ((((-2048) > (qcoeff[i])) ? (-2048) : (qcoeff[i]))))
? (2047) : ((((-2048) > (qcoeff[i])) ? (-2048) : (qcoeff[i]))));
if ((QP % 2) == 1)
rcoeff[i] = QP * (2*(((qcoeff[i]) < 0) ? -(qcoeff[i]) : (qcoeff[i])) + 1);
else
rcoeff[i] = QP * (2*(((qcoeff[i]) < 0) ? -(qcoeff[i]) : (qcoeff[i])) + 1)
- 1;
rcoeff[i] = (((qcoeff[i]) < 0) ? -1 : 1) * rcoeff[i];
}
else
rcoeff[i] = 0;
}
if (mode == 0 || mode == 2)
{
if ((QP > 0 && (QP < 32*image_type)) == 0) fprintf(stdout, "MOMCHECK failed
in file %s, line %i\n", "text_code_mb.c", 458);
if ((type == 1 || type == 2) == 0) fprintf(stdout, "MOMCHECK failed in file
%s, line %i\n", "text_code_mb.c", 459);
if (short_video_header)
dc_scaler = 8;
else
dc_scaler = cal_dc_scaler(QP,type);
rcoeff[0] = qcoeff[0] * dc_scaler;
}
}
else
{
for (i = 0; i < 64; i++)
{
rcoeff[i] = qcoeff[i];
}
if (mode == 0 || mode == 2)
{
rcoeff[0] = qcoeff[0]*8;
}
}
for (i=0;i<64;i++)
if (rcoeff[i]>(lim-1)) rcoeff[i]=(lim-1);
else if (rcoeff[i]<(-lim)) rcoeff[i]=(-lim);
return;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/27263] armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
2006-04-24 12:49 ` [Bug target/27263] " rearnsha at gcc dot gnu dot org
2006-04-24 13:24 ` peter dot kourzanov at xs4all dot nl
@ 2006-04-24 13:30 ` doko at cs dot tu-berlin dot de
2006-04-24 13:44 ` peter dot kourzanov at xs4all dot nl
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: doko at cs dot tu-berlin dot de @ 2006-04-24 13:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from doko at cs dot tu-berlin dot de 2006-04-24 13:30 -------
Subject: Re: armv5te-linux-gnueabi-gcc-4.1 fails to compile
libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
Pjotr Kourzanov writes:
> Here it is. Compile with:
Pjotr, please don't inline the code, go to the GCC website and add it
as a (compressed) attachment.
thanks, Matthias
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/27263] armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
` (2 preceding siblings ...)
2006-04-24 13:30 ` doko at cs dot tu-berlin dot de
@ 2006-04-24 13:44 ` peter dot kourzanov at xs4all dot nl
2006-04-24 13:46 ` peter dot kourzanov at xs4all dot nl
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: peter dot kourzanov at xs4all dot nl @ 2006-04-24 13:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from peter dot kourzanov at xs4all dot nl 2006-04-24 13:44 -------
Subject: Re: armv5te-linux-gnueabi-gcc-4.1 fails to compile
libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
Matthias Klose wrote:
>Pjotr Kourzanov writes:
>
>
>>Here it is. Compile with:
>>
>>
>
>Pjotr, please don't inline the code, go to the GCC website and add it
>as a (compressed) attachment.
>
>thanks, Matthias
>
>
>
I didn't inline it (I sent it as an attachment). I think the list
manager did that.
Pjotr
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/27263] armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
` (3 preceding siblings ...)
2006-04-24 13:44 ` peter dot kourzanov at xs4all dot nl
@ 2006-04-24 13:46 ` peter dot kourzanov at xs4all dot nl
2006-04-24 14:26 ` rearnsha at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: peter dot kourzanov at xs4all dot nl @ 2006-04-24 13:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from peter dot kourzanov at xs4all dot nl 2006-04-24 13:46 -------
Created an attachment (id=11323)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11323&action=view)
coming from libquicktime
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/27263] armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
` (4 preceding siblings ...)
2006-04-24 13:46 ` peter dot kourzanov at xs4all dot nl
@ 2006-04-24 14:26 ` rearnsha at gcc dot gnu dot org
2009-04-02 18:27 ` ramana at gcc dot gnu dot org
2009-04-17 16:42 ` ramana at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: rearnsha at gcc dot gnu dot org @ 2006-04-24 14:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from rearnsha at gcc dot gnu dot org 2006-04-24 14:26 -------
Confirmed. Also appears on trunk on an arm-elf cross with the flags:
-O3 -funroll-all-loops -fomit-frame-pointer -mno-apcs-frame -finline-functions
-mfpu=vfp -mfloat-abi=softfp -mcpu=arm926ej-s
We are generating an invalid input reload for
(insn:HI 320 4403 4405 391 (set (mem/s:HI (plus:SI (reg:SI 318 [ ivtmp.1515 ])
(reg/f:SI 1731)) [2 tmp S2 A16])
(subreg:HI (reg:SI 523) 0)) 152 {*movhi_insn_arch4}
(insn_list:REG_DEP_TRUE 319 (nil))
(expr_list:REG_DEAD (reg:SI 523)
(nil)))
Specifically, reload 2 contains:
Reload 2: reload_in (HI) = (mem:HI (plus:SI (mult:SI (reg:SI 11 fp [orig:318
ivtmp.1515 ] [318])
(const_int 2
[0x2]))
(reg/v/f:SI 10 sl
[orig:437 rcoeff_ind ] [437])) [4 S4 A32])
GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1), can't combine
reload_in_reg: (subreg:HI (reg:SI 523) 0)
reload_reg_rtx: (reg:HI 6 r6)
but that's an invalid memory address for HImode.
--
rearnsha at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rearnsha at gcc dot gnu dot
| |org
Status|WAITING |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-04-24 14:26:03
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/27263] armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
` (5 preceding siblings ...)
2006-04-24 14:26 ` rearnsha at gcc dot gnu dot org
@ 2009-04-02 18:27 ` ramana at gcc dot gnu dot org
2009-04-17 16:42 ` ramana at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: ramana at gcc dot gnu dot org @ 2009-04-02 18:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from ramana at gcc dot gnu dot org 2009-04-02 18:27 -------
Appears to be fixed on trunk, 4.3 and 4.4 branch.
Using built-in specs.
Target: armv5tel-unknown-linux-gnueabi
Configured with: /home/ramana/cos/gcc-4_3-branch/configure
--enable-languages=c,c++
Thread model: posix
gcc version 4.3.4 20090330 (prerelease) (GCC)
Using built-in specs.
Target: arm-none-eabi
Configured with: ../combined/configure --target=arm-none-eabi
--enable-languages=c,c++ --with-gmp=/opt/cfarm/mpfr-2.3.2/ --disable-gdbtk
Thread model: single
gcc version 4.5.0 20090402 (experimental) (GCC)
./xgcc -v
Using built-in specs.
Target: arm-none-eabi
Configured with: ../combined/configure --target=arm-none-eabi --disable-gdbtk
--prefix=/home/ramana/install-trunk --enable-languages=c,c++
--with-gmp=/opt/cfarm/mpfr-2.3.2/
Thread model: single
gcc version 4.4.0 20090330 (prerelease) (GCC)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/27263] armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
` (6 preceding siblings ...)
2009-04-02 18:27 ` ramana at gcc dot gnu dot org
@ 2009-04-17 16:42 ` ramana at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: ramana at gcc dot gnu dot org @ 2009-04-17 16:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from ramana at gcc dot gnu dot org 2009-04-17 16:41 -------
As per comment above appears fixed in all release branches today.
--
ramana at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27263
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-04-17 16:42 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-22 22:53 [Bug c/27263] New: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c peter dot kourzanov at xs4all dot nl
2006-04-24 12:49 ` [Bug target/27263] " rearnsha at gcc dot gnu dot org
2006-04-24 13:24 ` peter dot kourzanov at xs4all dot nl
2006-04-24 13:30 ` doko at cs dot tu-berlin dot de
2006-04-24 13:44 ` peter dot kourzanov at xs4all dot nl
2006-04-24 13:46 ` peter dot kourzanov at xs4all dot nl
2006-04-24 14:26 ` rearnsha at gcc dot gnu dot org
2009-04-02 18:27 ` ramana at gcc dot gnu dot org
2009-04-17 16:42 ` ramana at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).