🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #5934

inconsistent headers on MIPS

#5934
From: Jim Van Zandt
Date: Fri, 31 Jan 1997 00:00
1049 lines
9229 bytes
On "IRIX bmd1 5.3 11091811 IP19 mips", gcc warns that float.h and
limits.h both define DBL_MAX.

Compiling this program:

   #include <float.h>
   #include <limits.h>
   #include <stdio.h>
   main(){printf("hello, world\n");}

generates these warnings:

gcc -o try try.c
In file included from /usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h:119,
                 from /usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/syslimits.h:7,
                 from /usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h:11,
                 from try.c:2:
/usr/include/limits.h:152: warning: `DBL_MAX' redefined
/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/float.h:63: warning: this is the location of the previous definition
/usr/include/limits.h:153: warning: `DBL_MIN' redefined
/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/float.h:54: warning: this is the location of the previous definition
/usr/include/limits.h:156: warning: `FLT_MAX' redefined
/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/float.h:35: warning: this is the location of the previous definition
/usr/include/limits.h:157: warning: `FLT_MIN' redefined
/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/float.h:26: warning: this is the location of the previous definition

Compilation finished at Fri Jan 31 08:19:25
 
This is my version of gcc:
   $gcc -v
   Reading specs from /usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/specs
   gcc version 2.7.2.1

This is how I configured it:
   tar -xzf ../pub/gcc-2.7.2.1*
   tar -xzf ../pub/g77*
   mv g77*/* gcc-2.7.2.1
   cd gcc
   patch -p1 -s <f/gbe/2.7.2.diff
   ./configure --prefix=/usr/gnu --with-gnu-as --with-stabs
   make LANGUAGES=c
   make stage1
   make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2"
   make install CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O"



This change to a gcc header file eliminates the warning:

--- lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h.orig	Fri Jan 31 08:27:58 1997
+++ lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h	Fri Jan 31 08:21:54 1997
@@ -109,6 +109,11 @@
 #else /* not _GCC_LIMITS_H_ */
 
 #ifdef _GCC_NEXT_LIMITS_H
+			/* eliminate "warning: `DBL_MAX' redefined" */
+#undef DBL_MAX
+#undef DBL_MIN
+#undef FLT_MAX
+#undef FLT_MIN
 #include_next <limits.h>		/* recurse down to the real one */
 #endif

The preprocessor output is shown below.

                                       - Jim Van Zandt



$gcc -E try.c
# 1 "try.c"
# 1 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/float.h" 1 3
 


 

    


    


    


    


    


    


    


    


    


    


    



    


    


    


    


    


    


    


    


    



    


    


    


    


    


    


    


    


    




# 1 "try.c" 2

# 1 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h" 1 3
 


 





 
# 1 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/syslimits.h" 1 3
 





# 1 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h" 1 3
 


 

# 109 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h" 3



			 




# 1 "/usr/include/limits.h" 1 3
 
















 
 

 
 
 



#ident  "$Revision: 7.27 $"
# 1 "/usr/include/sgidefs.h" 1 3
 

















#ident  "$Revision: 1.5 $"

 















 






 









 






		 


 









 
























 













 











typedef int __int32_t;
typedef unsigned  __uint32_t;










typedef long long __int64_t;
typedef unsigned long long  __uint64_t;

# 151 "/usr/include/sgidefs.h" 3





typedef __int32_t __psint_t;
typedef __uint32_t __psunsigned_t;







 











 
typedef __int32_t __scint_t;
typedef __uint32_t __scunsigned_t;










# 28 "/usr/include/limits.h" 2 3






 




































 





















 







































 

































 





































				 




				 











typedef union _h_val {

        unsigned long i[2];




        double d;
} _h_val;

extern const _h_val __huge_val;


















# 117 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h" 2 3




# 7 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/syslimits.h" 2 3


# 11 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h" 2 3





 



 



 




 





 



 












 





 



 








 



 









 




 








 






 


# 120 "/usr/gnu/lib/gcc-lib/mips-sgi-irix5.3/2.7.2.1/include/limits.h" 3

# 2 "try.c" 2

# 1 "/usr/include/stdio.h" 1 3





#ident  "$Revision: 1.49 $"
 
















 
 

 
 
 

 








typedef unsigned int 	size_t;






typedef long	fpos_t;

























# 83 "/usr/include/stdio.h" 3

































typedef struct	 

 







__file_s

{

	int		_cnt;	 




	unsigned char	*_ptr;	 
	unsigned char	*_base;	 

	unsigned char	_flag;	 
	unsigned char	_file;	 





} FILE;

extern FILE		__iob[100 ];	
extern FILE		*_lastbuf;
extern unsigned char 	*_bufendtab[];
extern unsigned char	 _sibuf[], _sobuf[];

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 FILE    *fdopen(int, const char *);
extern char    *ctermid(char *);
extern int	fileno(FILE *);



	 
extern FILE    *popen(const char *, const char *);
extern int     pclose(FILE *);
extern char    *cuserid(char *);
extern char    *tempnam(const char *, const char *);
extern int     getw(FILE *);
extern int     putw(int, FILE *);
extern int	system(const char *);  




extern char	*mktemp(char *);
extern int	mkstemp(char *);
extern int	setbuffer(FILE *, char *, int);
extern int	setlinebuf(FILE *);



extern int	__semputc(int, FILE *);
extern int	__semgetc(FILE *);
extern int	__us_rsthread_stdio;



char *ctermid_r(char *);
void flockfile(FILE *);
int ftrylockfile(FILE *);
void funlockfile(FILE *);
int getc_unlocked(FILE *);
int putc_unlocked(int, FILE *);
int getchar_unlocked(void);
int putchar_unlocked(int);





 










 





 




 












 










# 315 "/usr/include/stdio.h" 3










# 3 "try.c" 2

main(){printf("hello, world\n");}
Technical Details
Message-ID: <199701311356.IAA09151@mbunix.mitre.org>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 113d02,2b309866fd0b004c,start
X-Google-Attributes: gid113d02,public
From: jrv@mbunix.mitre.org (Jim Van Zandt)
Subject: inconsistent headers on MIPS
Date: 1997/01/31
Message-ID: <199701311356.IAA09151@mbunix.mitre.org>
X-Deja-AN: 213449873
sender: bug-gcc-request@prep.ai.mit.edu
x-gateway: relay2.UU.NET from bug-gcc to gnu.gcc.bug; Fri, 31 Jan 1997 08:57:24 EST
newsgroups: gnu.gcc.bug