public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: arno@heho.snv.jussieu.fr To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, Subject: Re: c/10824: ICE in gcc/gcc/intl/dcigettext.c on FreeBSD5 Date: Fri, 16 May 2003 21:06:00 -0000 [thread overview] Message-ID: <20030516210601.2476.qmail@sources.redhat.com> (raw) The following reply was made to PR c/10824; it has been noted by GNATS. From: arno@heho.snv.jussieu.fr To: bangerth@dealii.org, arno@heho.snv.jussieu.fr, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Cc: Subject: Re: c/10824: ICE in gcc/gcc/intl/dcigettext.c on FreeBSD5 Date: 16 May 2003 23:01:37 +0200 --=-=-= bangerth@dealii.org writes: > Synopsis: ICE in gcc/gcc/intl/dcigettext.c on FreeBSD5 > > State-Changed-From-To: open->feedback > State-Changed-By: bangerth > State-Changed-When: Fri May 16 20:38:42 2003 > State-Changed-Why: > The code doesn't ICE for me, but then you don't say anything > about the platform you are on and the command line flags > you use. Please review > http://gcc.gnu.org/bugs.html > for what we need. > > Thanks > Wolfgang > > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10824 sorry another try ... : I attach : 'xgcc -v' output for the exact version of GCC and the options given when GCC was configured/built; 'uname -a' output for the system type; error is triggered by 'make bootstrap' dcigettext.[is] from the mailing-lists I thought this bug was solved some weeks ago but it is persistent on my notebook (NB, configuring with --disable-nls gives very nice results for the same source tree) --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=xgcc-v Using built-in specs. Configured with: ../../gcc/configure --host=i686-pc-freebsd5 --verbose --disable-shared --enable-libgcj --enable-threads=posix --prefix=/usr/vol/opt/freebsd5/gcc34-200304 Thread model: posix gcc version 3.4 20030516 (experimental) --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=uname-a FreeBSD M 5.1-BETA FreeBSD 5.1-BETA #2: Fri May 9 16:38:43 CEST 2003 toor@M:/usr/obj/usr/src/sys/Sat-current i386 --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=make-bootstrap make[3]: Entering directory `/usr/home/arno/src/aeneas/obj/freebsd5/gcc/intl' ../stage1/xgcc -B../stage1/ -B/usr/vol/opt/freebsd5/gcc34-200304/i686-pc-freebsd5/bin/ -c -DIN_GCC -DLOCALEDIR=\"/usr/vol/opt/freebsd5/gcc34-200304/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/vol/opt/freebsd5/gcc34-200304/share/locale\" -DLIBDIR=\"/usr/vol/opt/freebsd5/gcc34-200304/lib\" -DHAVE_CONFIG_H -I.. -I. -I../../../../gcc/gcc/intl -I../../../../gcc/gcc -I../../../../gcc/gcc/config -I../../../../gcc/gcc/../include -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno -long-long -Werror -fno-common ../../../../gcc/gcc/intl/dcigettext.c -o dcigettext.o ../../../../gcc/gcc/intl/dcigettext.c: In function `dcigettext__': ../../../../gcc/gcc/intl/dcigettext.c:677: internal compiler error: in instantiate_virtual_regs_lossage, at function.c:3823 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make[3]: *** [dcigettext.o] Erreur 1 make[3]: Leaving directory `/usr/home/arno/src/aeneas/obj/freebsd5/gcc/intl' make[2]: *** [intl.all] Erreur 1 make[2]: Leaving directory `/usr/home/arno/src/aeneas/obj/freebsd5/gcc' make[1]: *** [stage2_build] Erreur 2 make[1]: Leaving directory `/usr/home/arno/src/aeneas/obj/freebsd5/gcc' make: *** [bootstrap] Erreur 2 --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=dcigettext.i # 1 "../../../../gcc/gcc/intl/dcigettext.c" # 1 "<built-in>" # 1 "<command line>" # 1 "../../../../gcc/gcc/intl/dcigettext.c" # 27 "../../../../gcc/gcc/intl/dcigettext.c" # 1 "../config.h" 1 # 1 "../auto-host.h" 1 # 2 "../config.h" 2 # 1 "../../../../gcc/include/ansidecl.h" 1 # 4 "../config.h" 2 # 28 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "../include/sys/types.h" 1 3 4 # 54 "../include/sys/types.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 55 "../include/sys/types.h" 2 3 4 # 1 "/usr/include/machine/endian.h" 1 3 4 # 41 "/usr/include/machine/endian.h" 3 4 # 1 "/usr/include/sys/_types.h" 1 3 4 # 33 "/usr/include/sys/_types.h" 3 4 # 1 "/usr/include/machine/_types.h" 1 3 4 # 45 "/usr/include/machine/_types.h" 3 4 typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short __int16_t; typedef unsigned short __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; typedef int __attribute__((__mode__(__DI__))) __int64_t; typedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t; # 70 "/usr/include/machine/_types.h" 3 4 typedef unsigned long __clock_t; typedef __int32_t __critical_t; typedef double __double_t; typedef double __float_t; typedef __int32_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int32_t __intptr_t; typedef __int32_t __int_fast8_t; typedef __int32_t __int_fast16_t; typedef __int32_t __int_fast32_t; typedef __int64_t __int_fast64_t; typedef __int8_t __int_least8_t; typedef __int16_t __int_least16_t; typedef __int32_t __int_least32_t; typedef __int64_t __int_least64_t; typedef __int32_t __ptrdiff_t; typedef __int32_t __register_t; typedef __int32_t __segsz_t; typedef __uint32_t __size_t; typedef __int32_t __ssize_t; typedef __int32_t __time_t; typedef __uint32_t __uintfptr_t; typedef __uint64_t __uintmax_t; typedef __uint32_t __uintptr_t; typedef __uint32_t __uint_fast8_t; typedef __uint32_t __uint_fast16_t; typedef __uint32_t __uint_fast32_t; typedef __uint64_t __uint_fast64_t; typedef __uint8_t __uint_least8_t; typedef __uint16_t __uint_least16_t; typedef __uint32_t __uint_least32_t; typedef __uint64_t __uint_least64_t; typedef __uint32_t __u_register_t; typedef __uint32_t __vm_offset_t; typedef __int64_t __vm_ooffset_t; typedef __uint32_t __vm_paddr_t; typedef __uint64_t __vm_pindex_t; typedef __uint32_t __vm_size_t; typedef __builtin_va_list __va_list; typedef __va_list __gnuc_va_list; # 34 "/usr/include/sys/_types.h" 2 3 4 typedef __int32_t __clockid_t; typedef __uint32_t __fflags_t; typedef __uint64_t __fsblkcnt_t; typedef __uint64_t __fsfilcnt_t; typedef __uint32_t __gid_t; typedef __int64_t __id_t; typedef __uint32_t __ino_t; typedef long __key_t; typedef __uint16_t __mode_t; typedef int __nl_item; typedef __uint16_t __nlink_t; typedef __int64_t __off_t; typedef __int32_t __pid_t; typedef __int64_t __rlim_t; typedef __uint8_t __sa_family_t; typedef __uint32_t __socklen_t; typedef long __suseconds_t; typedef __int32_t __timer_t; typedef __uint32_t __udev_t; typedef __uint32_t __uid_t; typedef unsigned int __useconds_t; # 78 "/usr/include/sys/_types.h" 3 4 typedef int __ct_rune_t; typedef __ct_rune_t __rune_t; typedef __ct_rune_t __wchar_t; typedef __ct_rune_t __wint_t; # 90 "/usr/include/sys/_types.h" 3 4 typedef __udev_t __dev_t; typedef union { char __mbstate8[128]; __int64_t _mbstateL; } __mbstate_t; # 42 "/usr/include/machine/endian.h" 2 3 4 # 97 "/usr/include/machine/endian.h" 3 4 static __inline __uint64_t __bswap64(__uint64_t _x) { return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) | ((_x << 24) & ((__uint64_t)0xff << 40)) | ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); } static __inline __uint32_t __bswap32(__uint32_t _x) { return (__extension__ ({ register __uint32_t __X = (_x); __asm ("xchgb %h0, %b0\n\trorl $16, %0\n\txchgb %h0, %b0" : "+q" (__X)); __X; })); } static __inline __uint16_t __bswap16(__uint16_t _x) { return (__extension__ ({ register __uint16_t __X = (_x); __asm ("xchgb %h0, %b0" : "+q" (__X)); __X; })); } # 58 "../include/sys/types.h" 2 3 4 typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef unsigned short ushort; typedef unsigned int uint; typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; typedef __uint8_t uint8_t; typedef __uint16_t uint16_t; typedef __uint32_t uint32_t; typedef __uint64_t uint64_t; typedef __intptr_t intptr_t; typedef __uintptr_t uintptr_t; typedef __uint8_t u_int8_t; typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef __uint64_t u_quad_t; typedef __int64_t quad_t; typedef quad_t * qaddr_t; typedef char * caddr_t; typedef const char * c_caddr_t; typedef volatile char *v_caddr_t; typedef __clock_t clock_t; typedef __clockid_t clockid_t; typedef __critical_t critical_t; typedef __int64_t daddr_t; typedef __dev_t dev_t; typedef __fflags_t fflags_t; typedef __uint32_t fixpt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; typedef __gid_t gid_t; typedef __uint32_t in_addr_t; typedef __uint16_t in_port_t; typedef __id_t id_t; typedef __ino_t ino_t; typedef __key_t key_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __off_t off_t; typedef __pid_t pid_t; typedef __register_t register_t; typedef __rlim_t rlim_t; typedef __segsz_t segsz_t; typedef unsigned int size_t; typedef __ssize_t ssize_t; typedef __suseconds_t suseconds_t; typedef __time_t time_t; typedef __timer_t timer_t; typedef __u_register_t u_register_t; typedef __udev_t udev_t; typedef __uid_t uid_t; typedef __useconds_t useconds_t; typedef __vm_offset_t vm_offset_t; typedef __vm_ooffset_t vm_ooffset_t; typedef __vm_paddr_t vm_paddr_t; typedef __vm_pindex_t vm_pindex_t; typedef __vm_size_t vm_size_t; # 297 "../include/sys/types.h" 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 42 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/sys/_sigset.h" 1 3 4 # 55 "/usr/include/sys/_sigset.h" 3 4 typedef struct __sigset { __uint32_t __bits[4]; } __sigset_t; # 43 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/sys/_timeval.h" 1 3 4 # 47 "/usr/include/sys/_timeval.h" 3 4 struct timeval { long tv_sec; suseconds_t tv_usec; }; # 44 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/sys/timespec.h" 1 3 4 # 50 "/usr/include/sys/timespec.h" 3 4 struct timespec { time_t tv_sec; long tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 3 4 typedef unsigned long __fd_mask; typedef __fd_mask fd_mask; typedef __sigset_t sigset_t; # 75 "/usr/include/sys/select.h" 3 4 typedef struct fd_set { __fd_mask __fds_bits[(((1024U) + (((sizeof(__fd_mask) * 8)) - 1)) / ((sizeof(__fd_mask) * 8)))]; } fd_set; # 101 "/usr/include/sys/select.h" 3 4 int pselect(int, fd_set *, fd_set *, fd_set *, const struct timespec *, const sigset_t *); int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); # 298 "../include/sys/types.h" 2 3 4 # 316 "../include/sys/types.h" 3 4 int ftruncate(int, off_t); off_t lseek(int, off_t, int); void * mmap(void *, size_t, int, int, int, off_t); int truncate(const char *, off_t); # 31 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 49 "../../../../gcc/gcc/intl/dcigettext.c" # 1 "/usr/include/errno.h" 1 3 4 # 47 "/usr/include/errno.h" 3 4 int * __error(void); # 50 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "../include/stddef.h" 1 3 4 # 151 "../include/stddef.h" 3 4 typedef int ptrdiff_t; # 314 "../include/stddef.h" 3 4 typedef __rune_t rune_t; # 325 "../include/stddef.h" 3 4 typedef int wchar_t; # 58 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "../include/stdlib.h" 1 3 4 # 81 "../include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long quot; long rem; } ldiv_t; # 100 "../include/stdlib.h" 3 4 extern int __mb_cur_max; void abort(void) __attribute__((__noreturn__)); int abs(int) __attribute__((__const__)); int atexit(void (*)(void)); double atof(const char *); int atoi(const char *); long atol(const char *); void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); void *calloc(size_t, size_t); div_t div(int, int) __attribute__((__const__)); void exit(int) __attribute__((__noreturn__)); void free(void *); char *getenv(const char *); long labs(long) __attribute__((__const__)); ldiv_t ldiv(long, long) __attribute__((__const__)); void *malloc(size_t); int mblen(const char *, size_t); size_t mbstowcs(wchar_t * , const char * , size_t); int mbtowc(wchar_t * , const char * , size_t); void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); int rand(void); void *realloc(void *, size_t); void srand(unsigned); double strtod(const char * , char ** ); float strtof(const char * , char ** ); long strtol(const char * , char ** , int); long double strtold(const char * , char ** ); unsigned long strtoul(const char * , char ** , int); int system(const char *); int wctomb(char *, wchar_t); size_t wcstombs(char * , const wchar_t * , size_t); # 152 "../include/stdlib.h" 3 4 typedef struct { long long quot; long long rem; } lldiv_t; long long atoll(const char *); long long llabs(long long) __attribute__((__const__)); lldiv_t lldiv(long long, long long) __attribute__((__const__)); long long strtoll(const char * , char ** , int); unsigned long long strtoull(const char * , char ** , int); void _Exit(int) __attribute__((__noreturn__)); # 183 "../include/stdlib.h" 3 4 int rand_r(unsigned *); int setenv(const char *, const char *, int); void unsetenv(const char *); # 197 "../include/stdlib.h" 3 4 double drand48(void); double erand48(unsigned short[3]); int getsubopt(char **, char *const *, char **); int grantpt(int); char *initstate(unsigned long , char *, long); long jrand48(unsigned short[3]); void lcong48(unsigned short[7]); long lrand48(void); int mkstemp(char *); char *mktemp(char *); long mrand48(void); long nrand48(unsigned short[3]); int posix_openpt(int); char *ptsname(int); int putenv(const char *); long random(void); char *realpath(const char *, char resolved_path[]); unsigned short *seed48(unsigned short[3]); int setkey(const char *); char *setstate( char *); void srand48(long); void srandom(unsigned long); int unlockpt(int); extern const char *_malloc_options; extern void (*_malloc_message)(const char *, const char *, const char *, const char *); void *__builtin_alloca(size_t); __uint32_t arc4random(void); void arc4random_addrandom(unsigned char *dat, int datlen); void arc4random_stir(void); char *getbsize(int *, long *); char *cgetcap(char *, const char *, int); int cgetclose(void); int cgetent(char **, char **, const char *); int cgetfirst(char **, char **); int cgetmatch(const char *, const char *); int cgetnext(char **, char **); int cgetnum(char *, const char *, long *); int cgetset(const char *); int cgetstr(char *, const char *, char **); int cgetustr(char *, const char *, char **); int daemon(int, int); char *devname(int, int); int getloadavg(double [], int); const char * getprogname(void); int heapsort(void *, size_t, size_t, int (*)(const void *, const void *)); int mergesort(void *, size_t, size_t, int (*)(const void *, const void *)); void qsort_r(void *, size_t, size_t, void *, int (*)(void *, const void *, const void *)); int radixsort(const unsigned char **, int, const unsigned char *, unsigned); void *reallocf(void *, size_t); void setprogname(const char *); int sradixsort(const unsigned char **, int, const unsigned char *, unsigned); void sranddev(void); void srandomdev(void); __int64_t strtoq(const char *, char **, int); __uint64_t strtouq(const char *, char **, int); # 59 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "/usr/include/string.h" 1 3 4 # 48 "/usr/include/string.h" 3 4 # 1 "/usr/include/strings.h" 1 3 4 # 40 "/usr/include/strings.h" 3 4 int bcmp(const void *, const void *, size_t); void bcopy(const void *, void *, size_t); void bzero(void *, size_t); int ffs(int); char *index(const char *, int); char *rindex(const char *, int); int strcasecmp(const char *, const char *); int strncasecmp(const char *, const char *, size_t); # 49 "/usr/include/string.h" 2 3 4 # 60 "/usr/include/string.h" 3 4 void *memccpy(void * , const void * , int, size_t); void *memchr(const void *, int, size_t); int memcmp(const void *, const void *, size_t); void *memcpy(void * , const void * , size_t); void *memmove(void *, const void *, size_t); void *memset(void *, int, size_t); char *stpcpy(char *, const char *); char *strcasestr(const char *, const char *); char *strcat(char * , const char * ); char *strchr(const char *, int); int strcmp(const char *, const char *); int strcoll(const char *, const char *); char *strcpy(char * , const char * ); size_t strcspn(const char *, const char *); char *strdup(const char *); char *strerror(int); int strerror_r(int, char *, size_t); size_t strlcat(char *, const char *, size_t); size_t strlcpy(char *, const char *, size_t); size_t strlen(const char *); void strmode(int, char *); char *strncat(char * , const char * , size_t); int strncmp(const char *, const char *, size_t); char *strncpy(char * , const char * , size_t); char *strnstr(const char *, const char *, size_t); char *strpbrk(const char *, const char *); char *strrchr(const char *, int); char *strsep(char **, const char *); char *strsignal(int); size_t strspn(const char *, const char *); char *strstr(const char *, const char *); char *strtok(char * , const char * ); char *strtok_r(char *, const char *, char **); size_t strxfrm(char * , const char * , size_t); void swab(const void *, void *, size_t); # 61 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "../include/unistd.h" 1 3 4 # 51 "../include/unistd.h" 3 4 # 1 "/usr/include/sys/unistd.h" 1 3 4 # 52 "../include/unistd.h" 2 3 4 # 334 "../include/unistd.h" 3 4 void _exit(int) __attribute__((__noreturn__)); int access(const char *, int); unsigned int alarm(unsigned int); int chdir(const char *); int chown(const char *, uid_t, gid_t); int close(int); int dup(int); int dup2(int, int); int eaccess(const char *, int); int execl(const char *, const char *, ...); int execle(const char *, const char *, ...); int execlp(const char *, const char *, ...); int execv(const char *, char * const *); int execve(const char *, char * const *, char * const *); int execvp(const char *, char * const *); pid_t fork(void); long fpathconf(int, int); char *getcwd(char *, size_t); gid_t getegid(void); uid_t geteuid(void); gid_t getgid(void); int getgroups(int, gid_t []); char *getlogin(void); pid_t getpgrp(void); pid_t getpid(void); pid_t getppid(void); uid_t getuid(void); int isatty(int); int link(const char *, const char *); long pathconf(const char *, int); int pause(void); int pipe(int *); ssize_t read(int, void *, size_t); int rmdir(const char *); int setgid(gid_t); int setpgid(pid_t, pid_t); void setproctitle(const char *_fmt, ...) ; pid_t setsid(void); int setuid(uid_t); unsigned int sleep(unsigned int); long sysconf(int); pid_t tcgetpgrp(int); int tcsetpgrp(int, pid_t); char *ttyname(int); int unlink(const char *); ssize_t write(int, const void *, size_t); size_t confstr(int, char *, size_t); int getopt(int, char * const [], const char *); extern char *optarg; extern int optind, opterr, optopt; int fsync(int); # 411 "../include/unistd.h" 3 4 int getlogin_r(char *, int); int fchown(int, uid_t, gid_t); int readlink(const char *, char *, int); int gethostname(char *, int ); int setegid(gid_t); int seteuid(uid_t); # 431 "../include/unistd.h" 3 4 int symlink(const char * , const char * ); char *crypt(const char *, const char *); int encrypt(char *, int); int fchdir(int); long gethostid(void); int getpgid(pid_t _pid); int getsid(pid_t _pid); char *getwd(char *); int lchown(const char *, uid_t, gid_t); int lockf(int, int, off_t); int nice(int); ssize_t pread(int, void *, size_t, off_t); ssize_t pwrite(int, const void *, size_t, off_t); int setpgrp(pid_t _pid, pid_t _pgrp); int setregid(gid_t, gid_t); int setreuid(uid_t, uid_t); void sync(void); useconds_t ualarm(useconds_t, useconds_t); int usleep(useconds_t); pid_t vfork(void); # 466 "../include/unistd.h" 3 4 int brk(const void *); int chroot(const char *); int getdtablesize(void); int getpagesize(void) __attribute__((__const__)); char *getpass(const char *); void *sbrk(intptr_t); struct timeval; int acct(const char *); int async_daemon(void); int check_utility_compat(const char *); const char * crypt_get_format(void); int crypt_set_format(const char *); int des_cipher(const char *, char *, long, int); int des_setkey(const char *key); void endusershell(void); int exect(const char *, char * const *, char * const *); char *fflagstostr(u_long); int getdomainname(char *, int); int getgrouplist(const char *, gid_t, gid_t *, int *); mode_t getmode(const void *, mode_t); int getpeereid(int, uid_t *, gid_t *); int getresgid(gid_t *, gid_t *, gid_t *); int getresuid(uid_t *, uid_t *, uid_t *); char *getusershell(void); int initgroups(const char *, gid_t); int iruserok(unsigned long, int, const char *, const char *); int iruserok_sa(const void *, int, int, const char *, const char *); int issetugid(void); char *mkdtemp(char *); int mknod(const char *, mode_t, dev_t); int mkstemps(char *, int); int nfsclnt(int, void *); int nfssvc(int, void *); int profil(char *, size_t, vm_offset_t, int); int rcmd(char **, int, const char *, const char *, const char *, int *); int rcmd_af(char **, int, const char *, const char *, const char *, int *, int); int rcmdsh(char **, int, const char *, const char *, const char *, const char *); char *re_comp(const char *); int re_exec(const char *); int reboot(int); int revoke(const char *); pid_t rfork(int); pid_t rfork_thread(int, void *, int (*)(void *), void *); int rresvport(int *); int rresvport_af(int *, int); int ruserok(const char *, int, const char *, const char *); int setdomainname(const char *, int); int setgroups(int, const gid_t *); void sethostid(long); int sethostname(const char *, int); int setlogin(const char *); void *setmode(const char *); int setresgid(gid_t, gid_t, gid_t); int setresuid(uid_t, uid_t, uid_t); int setrgid(gid_t); int setruid(uid_t); void setusershell(void); int strtofflags(char **, u_long *, u_long *); int swapon(const char *); int swapoff(const char *); int syscall(int, ...); off_t __syscall(quad_t, ...); int ttyslot(void); int undelete(const char *); int unwhiteout(const char *); void *valloc(size_t); extern char *suboptarg; extern int optreset; # 69 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "/usr/include/locale.h" 1 3 4 # 40 "/usr/include/locale.h" 3 4 struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; char int_p_cs_precedes; char int_n_cs_precedes; char int_p_sep_by_space; char int_n_sep_by_space; char int_p_sign_posn; char int_n_sign_posn; }; # 83 "/usr/include/locale.h" 3 4 struct lconv *localeconv(void); char *setlocale(int, const char *); # 72 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "/usr/include/sys/param.h" 1 3 4 # 75 "/usr/include/sys/param.h" 3 4 # 1 "/usr/include/sys/syslimits.h" 1 3 4 # 76 "/usr/include/sys/param.h" 2 3 4 # 101 "/usr/include/sys/param.h" 3 4 # 1 "/usr/include/sys/signal.h" 1 3 4 # 49 "/usr/include/sys/signal.h" 3 4 # 1 "/usr/include/machine/signal.h" 1 3 4 # 47 "/usr/include/machine/signal.h" 3 4 typedef int sig_atomic_t; # 58 "/usr/include/machine/signal.h" 3 4 # 1 "/usr/include/machine/trap.h" 1 3 4 # 59 "/usr/include/machine/signal.h" 2 3 4 # 100 "/usr/include/machine/signal.h" 3 4 struct sigcontext { struct __sigset sc_mask; int sc_onstack; int sc_gs; int sc_fs; int sc_es; int sc_ds; int sc_edi; int sc_esi; int sc_ebp; int sc_isp; int sc_ebx; int sc_edx; int sc_ecx; int sc_eax; int sc_trapno; int sc_err; int sc_eip; int sc_cs; int sc_efl; int sc_esp; int sc_ss; int sc_len; int sc_fpformat; int sc_ownedfp; int sc_spare1[1]; int sc_fpstate[128] __attribute__((__aligned__(16))); int sc_spare2[8]; }; # 50 "/usr/include/sys/signal.h" 2 3 4 # 144 "/usr/include/sys/signal.h" 3 4 typedef void __sighandler_t(int); # 154 "/usr/include/sys/signal.h" 3 4 union sigval { int sigval_int; void *sigval_ptr; }; struct sigevent { int sigev_notify; union { int __sigev_signo; int __sigev_notify_kqueue; } __sigev_u; union sigval sigev_value; }; # 189 "/usr/include/sys/signal.h" 3 4 typedef struct __siginfo { int si_signo; int si_errno; int si_code; __pid_t si_pid; __uid_t si_uid; int si_status; void *si_addr; union sigval si_value; long si_band; int __spare__[7]; } siginfo_t; struct __siginfo; struct sigaction { union { void (*__sa_handler)(int); void (*__sa_sigaction)(int, struct __siginfo *, void *); } __sigaction_u; int sa_flags; sigset_t sa_mask; }; # 267 "/usr/include/sys/signal.h" 3 4 typedef __sighandler_t *sig_t; typedef void __siginfohandler_t(int, struct __siginfo *, void *); typedef struct sigaltstack { char *ss_sp; __size_t ss_size; int ss_flags; } stack_t; # 295 "/usr/include/sys/signal.h" 3 4 struct sigvec { __sighandler_t *sv_handler; int sv_mask; int sv_flags; }; # 322 "/usr/include/sys/signal.h" 3 4 struct sigstack { char *ss_sp; int ss_onstack; }; # 354 "/usr/include/sys/signal.h" 3 4 __sighandler_t *signal(int, __sighandler_t *); # 102 "/usr/include/sys/param.h" 2 3 4 # 1 "/usr/include/machine/param.h" 1 3 4 # 106 "/usr/include/sys/param.h" 2 3 4 # 1 "/usr/include/sys/limits.h" 1 3 4 # 40 "/usr/include/sys/limits.h" 3 4 # 1 "/usr/include/machine/_limits.h" 1 3 4 # 41 "/usr/include/sys/limits.h" 2 3 4 # 108 "/usr/include/sys/param.h" 2 3 4 # 75 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "../../../../gcc/gcc/intl/gettextP.h" 1 # 23 "../../../../gcc/gcc/intl/gettextP.h" # 1 "../include/stddef.h" 1 3 4 # 24 "../../../../gcc/gcc/intl/gettextP.h" 2 # 33 "../../../../gcc/gcc/intl/gettextP.h" # 1 "../../../../gcc/gcc/intl/loadinfo.h" 1 # 64 "../../../../gcc/gcc/intl/loadinfo.h" struct loaded_l10nfile { const char *filename; int decided; const void *data; struct loaded_l10nfile *next; struct loaded_l10nfile *successor[1]; }; extern const char *_nl_normalize_codeset (const char *codeset, size_t name_len); extern struct loaded_l10nfile * _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, const char *dirlist, size_t dirlist_len, int mask, const char *language, const char *territory, const char *codeset, const char *normalized_codeset, const char *modifier, const char *special, const char *sponsor, const char *revision, const char *filename, int do_allocate); # 94 "../../../../gcc/gcc/intl/loadinfo.h" extern const char *_nl_expand_alias (const char *name); extern int _nl_explode_name (char *name, const char **language, const char **modifier, const char **territory, const char **codeset, const char **normalized_codeset, const char **special, const char **sponsor, const char **revision); # 107 "../../../../gcc/gcc/intl/loadinfo.h" extern char *_nl_find_language (const char *name); # 34 "../../../../gcc/gcc/intl/gettextP.h" 2 # 1 "../../../../gcc/gcc/intl/gettext.h" 1 # 23 "../../../../gcc/gcc/intl/gettext.h" # 1 "../include/limits.h" 1 3 4 # 11 "../include/limits.h" 3 4 # 1 "../include/syslimits.h" 1 3 4 # 1 "../include/limits.h" 1 3 4 # 122 "../include/limits.h" 3 4 # 1 "/usr/vol/opt/freebsd5/gcc34-200304/lib/gcc-lib/i686-pc-freebsd5/3.4/include/limits.h" 1 3 4 # 122 "/usr/vol/opt/freebsd5/gcc34-200304/lib/gcc-lib/i686-pc-freebsd5/3.4/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 123 "/usr/vol/opt/freebsd5/gcc34-200304/lib/gcc-lib/i686-pc-freebsd5/3.4/include/limits.h" 2 3 4 # 123 "../include/limits.h" 2 3 4 # 8 "../include/syslimits.h" 2 3 4 # 12 "../include/limits.h" 2 3 4 # 24 "../../../../gcc/gcc/intl/gettext.h" 2 # 54 "../../../../gcc/gcc/intl/gettext.h" typedef unsigned int nls_uint32; # 71 "../../../../gcc/gcc/intl/gettext.h" struct mo_file_header { nls_uint32 magic; nls_uint32 revision; nls_uint32 nstrings; nls_uint32 orig_tab_offset; nls_uint32 trans_tab_offset; nls_uint32 hash_tab_size; nls_uint32 hash_tab_offset; }; struct string_desc { nls_uint32 length; nls_uint32 offset; }; # 36 "../../../../gcc/gcc/intl/gettextP.h" 2 # 68 "../../../../gcc/gcc/intl/gettextP.h" static __inline__ nls_uint32 SWAP (unsigned int); static __inline__ nls_uint32 SWAP (ii) unsigned int ii; { nls_uint32 i = ii; return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); } struct expression { int nargs; enum operator { var, num, lnot, mult, divide, module, plus, minus, less_than, greater_than, less_or_equal, greater_or_equal, equal, not_equal, land, lor, qmop } operation; union { unsigned long int num; struct expression *args[3]; } val; }; struct parse_args { const char *cp; struct expression *res; }; struct loaded_domain { const char *data; int use_mmap; size_t mmap_size; int must_swap; nls_uint32 nstrings; struct string_desc *orig_tab; struct string_desc *trans_tab; nls_uint32 hash_size; nls_uint32 *hash_tab; int codeset_cntr; char **conv_tab; struct expression *plural; unsigned long int nplurals; }; # 161 "../../../../gcc/gcc/intl/gettextP.h" struct binding { struct binding *next; char *dirname; int codeset_cntr; char *codeset; char domainname[1]; }; extern int _nl_msg_cat_cntr; struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale, const char *__domainname, struct binding *__domainbinding) ; void _nl_load_domain (struct loaded_l10nfile *__domain, struct binding *__domainbinding) ; void _nl_unload_domain (struct loaded_domain *__domain) ; const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file, struct loaded_domain *__domain, struct binding *__domainbinding) ; void _nl_free_domain_conv (struct loaded_domain *__domain) ; char *_nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *msgid, size_t *lengthp) ; extern const char *locale_charset (void) ; # 225 "../../../../gcc/gcc/intl/gettextP.h" extern char *gettext__ (const char *__msgid); extern char *dgettext__ (const char *__domainname, const char *__msgid); extern char *dcgettext__ (const char *__domainname, const char *__msgid, int __category); extern char *ngettext__ (const char *__msgid1, const char *__msgid2, unsigned long int __n); extern char *dngettext__ (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n); extern char *dcngettext__ (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category); extern char *dcigettext__ (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category); extern char *textdomain__ (const char *__domainname); extern char *bindtextdomain__ (const char *__domainname, const char *__dirname); extern char *bind_textdomain_codeset__ (const char *__domainname, const char *__codeset); # 254 "../../../../gcc/gcc/intl/gettextP.h" extern void gettext_free_exp__ (struct expression *exp) ; extern int gettextparse__ (void *arg); # 78 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "../../../../gcc/gcc/intl/libgnuintl.h" 1 # 60 "../../../../gcc/gcc/intl/libgnuintl.h" extern char *gettext (const char *__msgid); extern char *dgettext (const char *__domainname, const char *__msgid); extern char *dcgettext (const char *__domainname, const char *__msgid, int __category); extern char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n); extern char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n); extern char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category); extern char *textdomain (const char *__domainname); extern char *bindtextdomain (const char *__domainname, const char *__dirname); extern char *bind_textdomain_codeset (const char *__domainname, const char *__codeset); # 82 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 1 "../../../../gcc/gcc/intl/hash-string.h" 1 # 36 "../../../../gcc/gcc/intl/hash-string.h" static unsigned long int hash_string (const char *__str_param); static __inline__ unsigned long int hash_string (str_param) const char *str_param; { unsigned long int hval, g; const char *str = str_param; hval = 0; while (*str != '\0') { hval <<= 4; hval += (unsigned long int) *str++; g = hval & ((unsigned long int) 0xf << (32 - 4)); if (g != 0) { hval ^= g >> (32 - 8); hval ^= g; } } return hval; } # 84 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 146 "../../../../gcc/gcc/intl/dcigettext.c" static void *mempcpy (void *dest, const void *src, size_t n); # 158 "../../../../gcc/gcc/intl/dcigettext.c" # 1 "../include/limits.h" 1 3 4 # 159 "../../../../gcc/gcc/intl/dcigettext.c" 2 # 216 "../../../../gcc/gcc/intl/dcigettext.c" struct known_translation_t { char *domainname; int category; int counter; struct loaded_l10nfile *domain; const char *translation; size_t translation_length; char msgid[1]; }; # 1 "/usr/include/search.h" 1 3 4 # 20 "/usr/include/search.h" 3 4 typedef struct entry { char *key; void *data; } ENTRY; typedef enum { FIND, ENTER } ACTION; typedef enum { preorder, postorder, endorder, leaf } VISIT; # 48 "/usr/include/search.h" 3 4 int hcreate(size_t); void hdestroy(void); ENTRY *hsearch(ENTRY, ACTION); void insque(void *, void *); void *lfind(const void *, const void *, size_t *, size_t, int (*)(const void *, const void *)); void *lsearch(const void *, void *, size_t *, size_t, int (*)(const void *, const void *)); void remque(void *); void *tdelete(const void * , void ** , int (*)(const void *, const void *)); void *tfind(const void *, void * const *, int (*)(const void *, const void *)); void *tsearch(const void *, void **, int (*)(const void *, const void *)); void twalk(const void *, void (*)(const void *, VISIT, int)); # 242 "../../../../gcc/gcc/intl/dcigettext.c" 2 static void *root; static int transcmp (const void *p1, const void *p2); static int transcmp (p1, p2) const void *p1; const void *p2; { const struct known_translation_t *s1; const struct known_translation_t *s2; int result; s1 = (const struct known_translation_t *) p1; s2 = (const struct known_translation_t *) p2; result = strcmp (s1->msgid, s2->msgid); if (result == 0) { result = strcmp (s1->domainname, s2->domainname); if (result == 0) result = s1->category - s2->category; } return result; } const char _nl_default_default_domain__[] = "messages"; const char *_nl_current_default_domain__ = _nl_default_default_domain__; const char _nl_default_dirname__[] = "/usr/vol/opt/freebsd5/gcc34-200304/share/locale"; struct binding *_nl_domain_bindings__; static char *plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, const char *translation, size_t translation_len) ; static unsigned long int plural_eval (struct expression *pexp, unsigned long int n) ; static const char *category_to_name (int category) ; static const char *guess_category_value (int category, const char *categoryname) ; # 352 "../../../../gcc/gcc/intl/dcigettext.c" typedef unsigned char transmem_block_t; # 389 "../../../../gcc/gcc/intl/dcigettext.c" static int enable_secure; # 404 "../../../../gcc/gcc/intl/dcigettext.c" char * dcigettext__ (domainname, msgid1, msgid2, plural, n, category) const char *domainname; const char *msgid1; const char *msgid2; int plural; unsigned long int n; int category; { struct loaded_l10nfile *domain; struct binding *binding; const char *categoryname; const char *categoryvalue; char *dirname, *xdomainname; char *single_locale; char *retval; size_t retlen; int saved_errno; struct known_translation_t *search; struct known_translation_t **foundp = ((void *)0); size_t msgid_len; size_t domainname_len; if (msgid1 == ((void *)0)) return ((void *)0); ; if (domainname == ((void *)0)) domainname = _nl_current_default_domain__; msgid_len = strlen (msgid1) + 1; search = (struct known_translation_t *) __builtin_alloca (((size_t) &((struct known_translation_t *)0)->msgid) + msgid_len); memcpy (search->msgid, msgid1, msgid_len); search->domainname = (char *) domainname; search->category = category; foundp = (struct known_translation_t **) tfind (search, &root, transcmp); if (foundp != ((void *)0) && (*foundp)->counter == _nl_msg_cat_cntr) { if (plural) retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, (*foundp)->translation_length); else retval = (char *) (*foundp)->translation; ; return retval; } saved_errno = (* __error()); if (enable_secure == 0) { if (getuid () != geteuid () || getgid () != getegid ()) enable_secure = 1; else enable_secure = -1; }; for (binding = _nl_domain_bindings__; binding != ((void *)0); binding = binding->next) { int compare = strcmp (domainname, binding->domainname); if (compare == 0) break; if (compare < 0) { binding = ((void *)0); break; } } if (binding == ((void *)0)) dirname = (char *) _nl_default_dirname__; else if ((((binding->dirname)[0]) == '/')) dirname = binding->dirname; else { size_t dirname_len = strlen (binding->dirname) + 1; size_t path_max; char *ret; path_max = (unsigned int) 1024; path_max += 2; for (;;) { dirname = (char *) __builtin_alloca (path_max + dirname_len); ; (* __error()) = (0); ret = getcwd (dirname, path_max); if (ret != ((void *)0) || (* __error()) != 34) break; path_max += path_max / 2; path_max += 32; } if (ret == ((void *)0)) { ; ; (* __error()) = (saved_errno); return (plural == 0 ? (char *) msgid1 : n == 1 ? (char *) msgid1 : (char *) msgid2); } stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname); } categoryname = category_to_name (category); categoryvalue = guess_category_value (category, categoryname); domainname_len = strlen (domainname); xdomainname = (char *) __builtin_alloca (strlen (categoryname) + domainname_len + 5); ; stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), domainname, domainname_len), ".mo"); single_locale = (char *) __builtin_alloca (strlen (categoryvalue) + 1); ; while (1) { while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') ++categoryvalue; if (categoryvalue[0] == '\0') { single_locale[0] = 'C'; single_locale[1] = '\0'; } else { char *cp = single_locale; while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') *cp++ = *categoryvalue++; *cp = '\0'; if ((enable_secure == 1) && (strchr (single_locale, '/') != ((void *)0))) continue; } if (strcmp (single_locale, "C") == 0 || strcmp (single_locale, "POSIX") == 0) { ; ; (* __error()) = (saved_errno); return (plural == 0 ? (char *) msgid1 : n == 1 ? (char *) msgid1 : (char *) msgid2); } domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); if (domain != ((void *)0)) { retval = _nl_find_msg (domain, binding, msgid1, &retlen); if (retval == ((void *)0)) { int cnt; for (cnt = 0; domain->successor[cnt] != ((void *)0); ++cnt) { retval = _nl_find_msg (domain->successor[cnt], binding, msgid1, &retlen); if (retval != ((void *)0)) { domain = domain->successor[cnt]; break; } } } if (retval != ((void *)0)) { ; (* __error()) = (saved_errno); if (foundp == ((void *)0)) { struct known_translation_t *newp; newp = (struct known_translation_t *) malloc (((size_t) &((struct known_translation_t *)0)->msgid) + msgid_len + domainname_len + 1); if (newp != ((void *)0)) { newp->domainname = mempcpy (newp->msgid, msgid1, msgid_len); memcpy (newp->domainname, domainname, domainname_len + 1); newp->category = category; newp->counter = _nl_msg_cat_cntr; newp->domain = domain; newp->translation = retval; newp->translation_length = retlen; foundp = (struct known_translation_t **) tsearch (newp, &root, transcmp); if (foundp == ((void *)0) || (*foundp != newp)) free (newp); } } else { (*foundp)->counter = _nl_msg_cat_cntr; (*foundp)->domain = domain; (*foundp)->translation = retval; (*foundp)->translation_length = retlen; } if (plural) retval = plural_lookup (domain, n, retval, retlen); ; return retval; } } } } char * _nl_find_msg (domain_file, domainbinding, msgid, lengthp) struct loaded_l10nfile *domain_file; struct binding *domainbinding; const char *msgid; size_t *lengthp; { struct loaded_domain *domain; size_t act; char *result; size_t resultlen; if (domain_file->decided == 0) _nl_load_domain (domain_file, domainbinding); if (domain_file->data == ((void *)0)) return ((void *)0); domain = (struct loaded_domain *) domain_file->data; if (domain->hash_size > 2 && domain->hash_tab != ((void *)0)) { nls_uint32 len = strlen (msgid); nls_uint32 hash_val = hash_string (msgid); nls_uint32 idx = hash_val % domain->hash_size; nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); while (1) { nls_uint32 nstr = ((domain->must_swap) ? SWAP (domain->hash_tab[idx]) : (domain->hash_tab[idx])); if (nstr == 0) return ((void *)0); if (((domain->must_swap) ? SWAP (domain->orig_tab[nstr - 1].length) : (domain->orig_tab[nstr - 1].length)) >= len && (strcmp (msgid, domain->data + ((domain->must_swap) ? SWAP (domain->orig_tab[nstr - 1].offset) : (domain->orig_tab[nstr - 1].offset))) == 0)) { act = nstr - 1; goto found; } if (idx >= domain->hash_size - incr) idx -= domain->hash_size - incr; else idx += incr; } } else { size_t top, bottom; bottom = 0; act = 0; top = domain->nstrings; while (bottom < top) { int cmp_val; act = (bottom + top) / 2; cmp_val = strcmp (msgid, (domain->data + ((domain->must_swap) ? SWAP (domain->orig_tab[act].offset) : (domain->orig_tab[act].offset)))); if (cmp_val < 0) top = act; else if (cmp_val > 0) bottom = act + 1; else goto found; } return ((void *)0); } found: result = ((char *) domain->data + ((domain->must_swap) ? SWAP (domain->trans_tab[act].offset) : (domain->trans_tab[act].offset))); resultlen = ((domain->must_swap) ? SWAP (domain->trans_tab[act].length) : (domain->trans_tab[act].length)) + 1; # 966 "../../../../gcc/gcc/intl/dcigettext.c" *lengthp = resultlen; return result; } static char * plural_lookup (domain, n, translation, translation_len) struct loaded_l10nfile *domain; unsigned long int n; const char *translation; size_t translation_len; { struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; unsigned long int index; const char *p; index = plural_eval (domaindata->plural, n); if (index >= domaindata->nplurals) index = 0; p = translation; while (index-- > 0) { p = strchr (p, '\0'); p++; if (p >= translation + translation_len) return (char *) translation; } return (char *) p; } static unsigned long int plural_eval (pexp, n) struct expression *pexp; unsigned long int n; { switch (pexp->nargs) { case 0: switch (pexp->operation) { case var: return n; case num: return pexp->val.num; default: break; } break; case 1: { unsigned long int arg = plural_eval (pexp->val.args[0], n); return ! arg; } case 2: { unsigned long int leftarg = plural_eval (pexp->val.args[0], n); if (pexp->operation == lor) return leftarg || plural_eval (pexp->val.args[1], n); else if (pexp->operation == land) return leftarg && plural_eval (pexp->val.args[1], n); else { unsigned long int rightarg = plural_eval (pexp->val.args[1], n); switch (pexp->operation) { case mult: return leftarg * rightarg; case divide: return leftarg / rightarg; case module: return leftarg % rightarg; case plus: return leftarg + rightarg; case minus: return leftarg - rightarg; case less_than: return leftarg < rightarg; case greater_than: return leftarg > rightarg; case less_or_equal: return leftarg <= rightarg; case greater_or_equal: return leftarg >= rightarg; case equal: return leftarg == rightarg; case not_equal: return leftarg != rightarg; default: break; } } break; } case 3: { unsigned long int boolarg = plural_eval (pexp->val.args[0], n); return plural_eval (pexp->val.args[boolarg ? 1 : 2], n); } } return 0; } static const char * category_to_name (category) int category; { const char *retval; switch (category) { case 1: retval = "LC_COLLATE"; break; case 2: retval = "LC_CTYPE"; break; case 3: retval = "LC_MONETARY"; break; case 4: retval = "LC_NUMERIC"; break; case 5: retval = "LC_TIME"; break; case 6: retval = "LC_MESSAGES"; break; case 0: retval = "LC_ALL"; break; default: retval = "LC_XXX"; } return retval; } static const char * guess_category_value (category, categoryname) int category; const char *categoryname; { const char *language; const char *retval; (void) category; (void) categoryname; language = getenv ("LANGUAGE"); if (language != ((void *)0) && language[0] == '\0') language = ((void *)0); # 1179 "../../../../gcc/gcc/intl/dcigettext.c" retval = getenv ("LC_ALL"); if (retval == ((void *)0) || retval[0] == '\0') { retval = getenv (categoryname); if (retval == ((void *)0) || retval[0] == '\0') { retval = getenv ("LANG"); if (retval == ((void *)0) || retval[0] == '\0') return "C"; } } return language != ((void *)0) && strcmp (retval, "C") != 0 ? language : retval; } # 1218 "../../../../gcc/gcc/intl/dcigettext.c" static void * mempcpy (dest, src, n) void *dest; const void *src; size_t n; { return (void *) ((char *) memcpy (dest, src, n) + n); } --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=dcigettext.s .file "dcigettext.c" .section .debug_abbrev,"",@progbits .Ldebug_abbrev0: .section .debug_info,"",@progbits .Ldebug_info0: .section .debug_line,"",@progbits .Ldebug_line0: .text .Ltext0: .p2align 4,,15 .type transcmp, @function transcmp: .LFB8: .file 1 "../../../../gcc/gcc/intl/dcigettext.c" .loc 1 255 0 pushl %ebp .LCFI0: movl %esp, %ebp .LCFI1: subl $24, %esp .LCFI2: movl %ebx, -8(%ebp) .LCFI3: movl 8(%ebp), %ebx movl %esi, -4(%ebp) .LCFI4: movl 12(%ebp), %esi .loc 1 263 0 leal 24(%ebx), %edx movl %edx, (%esp) leal 24(%esi), %eax movl %eax, 4(%esp) call strcmp .loc 1 264 0 testl %eax, %eax jne .L2 .loc 1 266 0 movl (%esi), %eax movl %eax, 4(%esp) movl (%ebx), %eax movl %eax, (%esp) call strcmp .loc 1 267 0 testl %eax, %eax jne .L2 .loc 1 271 0 movl 4(%ebx), %eax movl 4(%esi), %edx subl %edx, %eax .p2align 4,,15 .L2: .loc 1 275 0 movl -8(%ebp), %ebx movl -4(%ebp), %esi movl %ebp, %esp popl %ebp ret .LFE8: .size transcmp, .-transcmp .globl _nl_default_default_domain__ .section .rodata .type _nl_default_default_domain__, @object .size _nl_default_default_domain__, 9 _nl_default_default_domain__: .string "messages" .globl _nl_current_default_domain__ .data .align 4 .type _nl_current_default_domain__, @object .size _nl_current_default_domain__, 4 _nl_current_default_domain__: .long _nl_default_default_domain__ .globl _nl_default_dirname__ .section .rodata .align 32 .type _nl_default_dirname__, @object .size _nl_default_dirname__, 48 _nl_default_dirname__: .string "/usr/vol/opt/freebsd5/gcc34-200304/share/locale" --=-=-= Hope this helps. Thanx, Arno --=-=-=--
next reply other threads:[~2003-05-16 21:06 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-05-16 21:06 arno [this message] -- strict thread matches above, loose matches on Subject: below -- 2003-05-16 22:46 arno 2003-05-16 22:23 giovannibajo 2003-05-16 20:38 bangerth 2003-05-16 17:46 arno
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20030516210601.2476.qmail@sources.redhat.com \ --to=arno@heho.snv.jussieu.fr \ --cc=gcc-prs@gcc.gnu.org \ --cc=nobody@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).