This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Bug Report
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Bug Report
- From: Rommy Taslim <rommyt at transportservices dot com dot au>
- Date: Mon, 14 Aug 2000 13:18:11 +1000
Bug Report:
Platform : SCO Open Server 5
GCC version : 2.95.2pl1 (24 Oct 1999)
Command line : gcc -v --save-temps -O3 mytest.c
Command Output :
Reading specs from
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/specs
gcc version 2.95.2 19991024 (release)
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/cpp -lang-c -v
-D__GNUC__=2
-D__GNUC_MINOR__=95 -Asystem(svr3) -D__OPTIMIZE__ -Acpu(i386)
-Amachine(i386) -D
i386 -D__i386 -D__i386__ -D__i386 -D__unix -D_SCO_DS=1 -D_M_I386
-D_M_XENIX -D_M
_UNIX -D_STRICT_NAMES -D_SCO_XPG_VERS=4 -D_M_I86 -D_M_I86SM
-D_M_INTERNAT -D_M_S
DATA -D_M_STEXT -D_M_BITFIELDS -D_M_SYS5 -D_M_SYSV -D_M_SYSIII
-D_M_WORDSWAP -Du
nix -DM_I386 -DM_UNIX -DM_XENIX -D_SCO_ELF -D_SCO_C_DIALECT=1 mytest.c
mytest.i
GNU CPP version 2.95.2 19991024 (release) (i386, SCO OpenServer 5
Syntax)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/../../../../i386-pc-sco3.2v5
.0.5/include
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/include
/usr/include
End of search list.
The following default directories have been omitted from the search
path:
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/../../../../include/g++-3
End of omitted list.
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/cc1 mytest.i -quiet
-dumpbas
e mytest.c -O3 -version -o mytest.s
GNU C version 2.95.2 19991024 (release) (i386-pc-sco3.2v5.0.5) compiled
by GNU C
version 2.95.2 19991024 (release).
/usr/ccs/bin/as -b elf -Ea,XPG4PLUS,ELF -Qn -o mytest.o mytest.s
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/collect2 -b elf
-Ra,XPG4PLUS
,ELF -YP,/usr/ccs/lib:/lib:/usr/lib -Qn /usr/ccs/lib/crt1.o
/usr/ccs/lib/values-
Xa.o /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/crtbegin.o
-L/usr/local/
lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2 -L/usr/ccs/bin -L/usr/ccs/lib
-L/usr/loc
al/lib mytest.o -lgcc -lcrypt -lgen -lc -lgcc
/usr/local/lib/gcc-lib/i386-pc-sco
3.2v5.0.5/2.95.2/crtend.o /usr/ccs/lib/crtn.o
Test Output :
This doesn't work
i=0 1:
i=2 2:
i=3 3:
i=4 4:
i=5 5:
i=6 6:
i=7 7:
i=8 8:
This works
i=0 0:
i=1 1:
i=2 2:
i=3 3:
i=4 4:
i=5 5:
i=6 6:
i=7 7:
i=8 8:
Thanks for your attention.
Best regards,
Rommy Taslim
Transport Administrative Services
# 1 "mytest.c"
# 1 "/usr/include/stdio.h" 1 3
# 16 "/usr/include/stdio.h" 3
#pragma comment(exestr, "xpg4plus @(#) stdio.h 20.2 95/12/11 ")
#pragma pack(4)
typedef unsigned int size_t;
typedef long fpos_t;
typedef long wchar_t;
typedef long wint_t;
typedef struct _FILE_
{
int __cnt;
unsigned char *__ptr;
unsigned char *__base;
unsigned char __flag;
unsigned char __file;
unsigned char __buf[2];
} FILE;
extern FILE __iob[];
typedef char * va_list;
extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *, const char *, FILE *);
extern void setbuf(FILE *, char *);
extern int setvbuf(FILE *, char *, int, size_t);
extern int fprintf(FILE *, const char *, ...);
extern int fscanf(FILE *, const char *, ...);
extern int printf(const char *, ...);
extern int scanf(const char *, ...);
extern int sprintf(char *, const char *, ...);
extern int sscanf(const char *, const char *, ...);
extern int vfprintf(FILE *, const char *, char * );
extern int vprintf(const char *, char * );
extern int vsprintf(char *, const char *, char * );
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);
extern int getc(FILE *);
extern int getchar(void);
extern char *gets(char *);
extern int putc(int, FILE *);
extern int putchar(int);
extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void *, size_t, size_t, FILE *);
#pragma int_to_unsigned fread
extern size_t fwrite(const void *, size_t, size_t, FILE *);
#pragma int_to_unsigned fwrite
extern int fgetpos(FILE *, fpos_t *);
extern int fseek(FILE *, long, int);
extern int fsetpos(FILE *, const fpos_t *);
extern long ftell(FILE *);
extern void rewind(FILE *);
extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);
extern void perror(const char *);
extern int __filbuf(FILE *);
extern int __flsbuf(int, FILE *);
extern int (fileno)(FILE *);
extern char *ctermid(char *);
extern FILE *fdopen(int, const char *);
extern FILE *popen(const char *, const char *);
extern char *tempnam(const char *, const char *);
extern int getw(FILE *);
extern int putw(int, FILE *);
extern int pclose(FILE *);
extern char *optarg;
extern int optind, opterr, optopt;
extern char *cuserid(char *);
extern int getopt(int, char *const*, const char *);
# 264 "/usr/include/stdio.h" 3
extern int system(const char *);
extern wint_t fgetwc(FILE *);
extern wchar_t *fgetws(wchar_t *, int, FILE *);
extern wint_t fputwc(wint_t, FILE *);
extern int fputws(const wchar_t *, FILE *);
extern wint_t getwc(FILE *);
extern wint_t getwchar(void);
extern wint_t putwc(wint_t, FILE *);
extern wint_t putwchar(wint_t);
extern wint_t ungetwc(wint_t, FILE *);
extern int fwprintf(FILE *, const wchar_t *, ...);
extern int fwscanf(FILE *, const wchar_t *, ...);
extern int wprintf(const wchar_t *, ...);
extern int wscanf(const wchar_t *, ...);
extern int swprintf(wchar_t *, size_t, const wchar_t *, ...);
extern int swscanf(const wchar_t *, const wchar_t *, ...);
extern int vfwprintf(FILE *, const wchar_t *, char * );
extern int vfwscanf(FILE *, const wchar_t *, char * );
extern int vwprintf(const wchar_t *, char * );
extern int vwscanf(const wchar_t *, char * );
extern int vswprintf(wchar_t *, size_t, const wchar_t *, char * );
extern int vswscanf(const wchar_t *, const wchar_t *, char * );
extern void funflush(FILE *);
extern int snprintf(char *, size_t, const char *, ...);
extern int vsnprintf(char *, size_t, const char *, char * );
extern int vfscanf(FILE *, const char *, char * );
extern int vscanf(const char *, char * );
extern int vsscanf(const char *, const char *, char * );
extern int nl_fprintf(FILE *, const char *, ...);
extern int nl_fscanf(FILE *, const char *, ...);
extern int nl_printf(const char *, ...);
extern int nl_scanf(const char *, ...);
extern int nl_sprintf(char *, const char *, ...);
extern int nl_sscanf(const char *, const char *, ...);
#pragma pack()
# 1 "mytest.c" 2
# 1 "/usr/include/string.h" 1 3
# 16 "/usr/include/string.h" 3
#pragma comment(exestr, "xpg4plus @(#) string.h 20.2 95/09/07 ")
extern void *memchr(const void *, int, size_t);
extern void *memcpy(void *, const void *, size_t);
extern void *memccpy(void *, const void *, int, size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);
extern char *strchr(const char *, int);
extern char *strcpy(char *, const char *);
extern char *strncpy(char *, const char *, size_t);
extern char *strcat(char *, const char *);
extern char *strncat(char *, const char *, size_t);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern char *strstr(const char *, const char *);
extern char *strtok(char *, const char *);
extern char *strtok_r(char *, const char *, char **);
extern char *strerror(int);
extern char *strlist(char *, const char *, ...);
extern int memcmp(const void *, const void *, size_t);
extern int strcmp(const char *, const char *);
extern int strcoll(const char *, const char *);
extern int strncmp(const char *, const char *, size_t);
extern char *strdup(const char *);
extern void perror(const char *);
extern int strncoll(const char *, const char *, int);
extern size_t strnxfrm(char *, const char *, size_t , int);
extern size_t strxfrm(char *, const char *, size_t);
extern size_t strcspn(const char *, const char *);
extern size_t strspn(const char *, const char *);
extern size_t strlen(const char *);
# 110 "/usr/include/string.h" 3
extern int ffs(int);
extern int nl_strcmp(char *, char *);
extern int nl_strncmp(char *, char *, int n);
# 2 "mytest.c" 2
# 1 "/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/include/stdlib.h" 1 3
# 16 "/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/include/stdlib.h" 3
#pragma comment(exestr, "xpg4plus @(#) stdlib.h 20.3 95/09/13 ")
#pragma pack(4)
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long quot;
long rem;
} ldiv_t;
typedef int ssize_t;
extern unsigned char __ctype[];
extern double atof(const char *);
extern int atoi(const char *);
extern long atol(const char *);
extern double strtod(const char *, char **);
extern float strtof(const char *, char **);
extern long strtol(const char *, char **, int);
extern unsigned long strtoul(const char *, char **, int);
extern int rand(void);
extern void srand(unsigned int);
extern void *calloc(size_t, size_t);
extern void free(void *);
extern void *malloc(size_t);
extern void *realloc(void *, size_t);
extern void abort(void);
extern int atexit(void (*)(void));
extern void exit(int);
extern char *getenv(const char *);
extern int system(const char *);
extern void *bsearch(const void *, const void *, size_t, size_t,
int (*)(const void *, const void *));
extern void qsort(void *, size_t, size_t,
int (*)(const void *, const void *));
extern int (abs)(int);
extern div_t div(int, int);
extern long labs(long);
extern ldiv_t ldiv(long, long);
extern int mbtowc(wchar_t *, const char *, size_t);
extern int mblen(const char *, size_t);
extern int wctomb(char *, wchar_t);
extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern size_t wcstombs(char *, const wchar_t *, size_t);
extern long a64l(const char *);
extern char *ecvt(double, int, int *, int *);
extern char *fcvt(double, int, int *, int *);
extern char *gcvt(double, int, char *);
extern int getsubopt(char **, char *const *, char **);
extern int grantpt(int);
extern char *initstate(unsigned, char *, int);
extern char *l64a(long);
extern char *mktemp(char *);
extern int mkstemp(char *);
extern char *ptsname(int);
extern long random(void);
extern char *realpath(const char *, char *);
extern char *setstate(char *);
extern void srandom(unsigned);
extern int ttyslot(void);
extern int unlockpt(int);
extern void *valloc(size_t);
extern int dup2(int, int);
extern char *getcwd(char *, size_t);
extern char *getlogin(void);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern char *getpass(const char *);
extern int getpw(int, char *);
extern int isatty(int);
extern void l3tol(long *, const char *, int);
extern void ltol3(char *, const long *, int);
extern char *l64a_r(long, char *, size_t);
extern void *memalign(size_t, size_t);
extern int rand_r(unsigned int *);
extern void swab(const void *, void *, ssize_t);
extern char *ttyname(int);
extern double wcstod(const wchar_t *, wchar_t **);
extern float wcstof(const wchar_t *, wchar_t **);
extern long wcstol(const wchar_t *, wchar_t **, int);
extern unsigned long wcstoul(const wchar_t *, wchar_t **, int);
extern char *ecvtl(long double, int, int *, int *);
extern char *fcvtl(long double, int, int *, int *);
extern char *gcvtl(long double, int, char *);
extern long double strtold(const char *, char **);
extern long double wcstold(const wchar_t *, wchar_t **);
extern double drand48(void);
extern double erand48(unsigned short *);
extern long jrand48(unsigned short *);
extern void lcong48(unsigned short *);
extern long lrand48(void);
extern long mrand48(void);
extern long nrand48(unsigned short *);
extern int putenv(const char *);
extern unsigned short *seed48(unsigned short *);
extern void setkey(const char *);
extern void srand48(long);
#pragma pack()
# 3 "mytest.c" 2
int main(int argc, char **argv)
{
int i;
char s1[10][15];
char *s2[10];
printf("This doesn't work\n");
for (i=0; i < 9; i++)
{
sprintf(s1[i], "%2d:", i+1);
s2[i] = s1[i];
printf("i=%d %s\n", i, s2[i]);
}
s2[i] = 0 ;
printf("This works\n");
for (i=0; i < 9; i++)
{
sprintf(s1[i], "%2d:", i);
s2[i] = s1[i];
printf("i=%d %s\n", i, s2[i]);
}
s2[i] = 0 ;
}