bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnulib:test-stdalign failing on powerpc-darwin8, gcc-4.0


From: David Fang
Subject: Re: gnulib:test-stdalign failing on powerpc-darwin8, gcc-4.0
Date: Thu, 18 Dec 2014 11:27:17 -0500 (EST)

Hi Paul,

On Thu, 18 Dec 2014, Paul Eggert wrote:
Can you deduce why the fix didn't work?  It should have inserted this:

 +#elif (defined __APPLE__ && defined __MACH__                  \
 +         ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__)                 \
 +         : __GNUC__)

and that should be false on your platform because __APPLE__ and __MACH__ should be defined, __GNUC__ should be 4, and __GNUC_MINOR__ should be zero. Why is it true? What are the values of __APPLE__, etc.? That is, what is the output of running 'gcc -E foo.c | tail' when foo.c contains the following?

#include <stdio.h>
"__GNUC__" __GNUC__
"__GNUC_MINOR__" __GNUC_MINOR__
"__APPLE__" __APPLE__
"__MACH__" __MACH__

Here's everything from powerpc-apple-darwin8-gcc-4.0.1 (sorted), in case you spot something else useful:

% gcc -dM -E /usr/include/stdio.h | sort
#define BUFSIZ 1024
#define EOF (-1)
#define FILENAME_MAX 1024
#define FOPEN_MAX 20
#define L_ctermid 1024
#define L_cuserid 9
#define L_tmpnam 1024
#define NULL __DARWIN_NULL
#define P_tmpdir "/var/tmp/"
#define SEEK_CUR 1
#define SEEK_END 2
#define SEEK_SET 0
#define TMP_MAX 308915776
#define _ARCH_PPC 1
#define _BIG_ENDIAN 1
#define _BSD_MACHINE__TYPES_H_
#define _BSD_PPC__TYPES_H_
#define _CDEFS_H_
#define _FSTDIO
#define _IOFBF 0
#define _IOLBF 1
#define _IONBF 2
#define _SIZE_T
#define _STDIO_H_
#define _SYS__TYPES_H_
#define _VA_LIST
#define __APPLE_CC__ 5370
#define __APPLE__ 1
#define __BEGIN_DECLS
#define __BIG_ENDIAN__ 1
#define __CHAR_BIT__ 8
#define __CONCAT(x,y) x ## y
#define __COPYRIGHT(s) __IDSTRING(copyright,s)
#define __DARWIN_ALIAS(sym)
#define __DARWIN_LDBL_COMPAT(x) __asm("_" __STRING(x) "$LDBLStub")
#define __DARWIN_LDBL_COMPAT2(x) __asm("_" __STRING(x) "$LDBL128")
#define __DARWIN_LONG_DOUBLE_IS_DOUBLE 0
#define __DARWIN_NO_LONG_LONG (defined(__STRICT_ANSI__) && (__STDC_VERSION__-0 < 
199901L) && !defined(__GNUG__))
#define __DARWIN_NULL ((void *)0)
#define __DARWIN_UNIX03 0
#define __DARWIN_WCHAR_MAX __WCHAR_MAX__
#define __DARWIN_WCHAR_MIN (-0x7fffffff - 1)
#define __DARWIN_WEOF ((__darwin_wint_t)-1)
#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
#define __DBL_DIG__ 15
#define __DBL_EPSILON__ 2.2204460492503131e-16
#define __DBL_HAS_INFINITY__ 1
#define __DBL_HAS_QUIET_NAN__ 1
#define __DBL_MANT_DIG__ 53
#define __DBL_MAX_10_EXP__ 308
#define __DBL_MAX_EXP__ 1024
#define __DBL_MAX__ 1.7976931348623157e+308
#define __DBL_MIN_10_EXP__ (-307)
#define __DBL_MIN_EXP__ (-1021)
#define __DBL_MIN__ 2.2250738585072014e-308
#define __DECIMAL_DIG__ 33
#define __DYNAMIC__ 1
#define __END_DECLS
#define __FINITE_MATH_ONLY__ 0
#define __FLT_DENORM_MIN__ 1.40129846e-45F
#define __FLT_DIG__ 6
#define __FLT_EPSILON__ 1.19209290e-7F
#define __FLT_EVAL_METHOD__ 0
#define __FLT_HAS_INFINITY__ 1
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MANT_DIG__ 24
#define __FLT_MAX_10_EXP__ 38
#define __FLT_MAX_EXP__ 128
#define __FLT_MAX__ 3.40282347e+38F
#define __FLT_MIN_10_EXP__ (-37)
#define __FLT_MIN_EXP__ (-125)
#define __FLT_MIN__ 1.17549435e-38F
#define __FLT_RADIX__ 2
#define __GNUC_MINOR__ 0
#define __GNUC_PATCHLEVEL__ 1
#define __GNUC__ 4
#define __GXX_ABI_VERSION 1002
#define __IDSTRING(name,string) static const char name[] __unused = string
#define __INTMAX_MAX__ 9223372036854775807LL
#define __INTMAX_TYPE__ long long int
#define __INT_MAX__ 2147483647
#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
#define __LDBL_DIG__ 31
#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
#define __LDBL_HAS_INFINITY__ 1
#define __LDBL_HAS_QUIET_NAN__ 1
#define __LDBL_MANT_DIG__ 106
#define __LDBL_MAX_10_EXP__ 308
#define __LDBL_MAX_EXP__ 1024
#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
#define __LDBL_MIN_10_EXP__ (-291)
#define __LDBL_MIN_EXP__ (-968)
#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
#define __LONG_DOUBLE_128__ 1
#define __LONG_LONG_MAX__ 9223372036854775807LL
#define __LONG_MAX__ 2147483647L
#define __MACH__ 1
#define __NATURAL_ALIGNMENT__ 1
#define __NO_INLINE__ 1
#define __P(protos) protos
#define __PIC__ 1
#define __POWERPC__ 1
#define __PROJECT_VERSION(s) __IDSTRING(project_version,s)
#define __PTHREAD_ATTR_SIZE__ 36
#define __PTHREAD_CONDATTR_SIZE__ 4
#define __PTHREAD_COND_SIZE__ 24
#define __PTHREAD_MUTEXATTR_SIZE__ 8
#define __PTHREAD_MUTEX_SIZE__ 40
#define __PTHREAD_ONCE_SIZE__ 4
#define __PTHREAD_RWLOCKATTR_SIZE__ 12
#define __PTHREAD_RWLOCK_SIZE__ 124
#define __PTHREAD_SIZE__ 596
#define __PTRDIFF_TYPE__ int
#define __RCSID(s) __IDSTRING(rcsid,s)
#define __REGISTER_PREFIX__
#define __SALC 0x4000
#define __SAPP 0x0100
#define __SCCSID(s) __IDSTRING(sccsid,s)
#define __SCHAR_MAX__ 127
#define __SEOF 0x0020
#define __SERR 0x0040
#define __SHRT_MAX__ 32767
#define __SIGN 0x8000
#define __SIZE_TYPE__ long unsigned int
#define __SLBF 0x0001
#define __SMBF 0x0080
#define __SMOD 0x2000
#define __SNBF 0x0002
#define __SNPT 0x0800
#define __SOFF 0x1000
#define __SOPT 0x0400
#define __SRD 0x0004
#define __SRW 0x0010
#define __SSTR 0x0200
#define __STDC_HOSTED__ 1
#define __STRING(x) #x
#define __SWR 0x0008
#define __TYPES_H_
#define __UINTMAX_TYPE__ long long unsigned int
#define __USER_LABEL_PREFIX__ _
#define __VERSION__ "4.0.1 (Apple Computer, Inc. build 5370)"
#define __WCHAR_MAX__ 2147483647
#define __WCHAR_TYPE__ int
#define __WINT_TYPE__ int
#define __const const
#define __dead
#define __dead2 __attribute__((__noreturn__))
#define __ppc__ 1
#define __printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))
#define __pure
#define __pure2 __attribute__((__const__))
#define __restrict
#define __scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))
#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
#define __sfeof(p) (((p)->_flags & __SEOF) != 0)
#define __sferror(p) (((p)->_flags & __SERR) != 0)
#define __sfileno(p) ((p)->_file)
#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
#define __signed signed
#define __strong
#define __unused __attribute__((__unused__))
#define __volatile volatile
#define __weak
#define clearerr_unlocked(p) __sclearerr(p)
#define feof_unlocked(p) __sfeof(p)
#define ferror_unlocked(p) __sferror(p)
#define fileno_unlocked(p) __sfileno(p)
#define fropen(cookie,fn) funopen(cookie, fn, 0, 0, 0)
#define fwopen(cookie,fn) funopen(cookie, 0, fn, 0, 0)
#define getc_unlocked(fp) __sgetc(fp)
#define getchar_unlocked() getc_unlocked(stdin)
#define putc_unlocked(x,fp) __sputc(x, fp)
#define putchar_unlocked(x) putc_unlocked(x, stdout)
#define stderr (&__sF[2])
#define stdin (&__sF[0])
#define stdout (&__sF[1])


% gcc -dM -E - < /dev/null
looks like a subset of the above

Here is a sorted-diff between darwin8 and darwin9's 'gcc -dM -E - < /dev/null':

--- darwin8.defs        2014-12-18 08:23:46.000000000 -0800
+++ darwin9.defs        2014-12-18 08:24:57.000000000 -0800
@@ -1,9 +1,12 @@
+#define OBJC_NEW_PROPERTIES 1
 #define _ARCH_PPC 1
 #define _BIG_ENDIAN 1
-#define __APPLE_CC__ 5370
+#define __ALTIVEC__ 1
+#define __APPLE_CC__ 5493
 #define __APPLE__ 1
 #define __BIG_ENDIAN__ 1
 #define __CHAR_BIT__ 8
+#define __CONSTANT_CFSTRINGS__ 1
 #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
 #define __DBL_DIG__ 15
 #define __DBL_EPSILON__ 2.2204460492503131e-16
@@ -18,6 +21,7 @@
 #define __DBL_MIN__ 2.2250738585072014e-308
 #define __DECIMAL_DIG__ 33
 #define __DYNAMIC__ 1
+#define __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 1058
 #define __FINITE_MATH_ONLY__ 0
 #define __FLT_DENORM_MIN__ 1.40129846e-45F
 #define __FLT_DIG__ 6
@@ -33,6 +37,7 @@
 #define __FLT_MIN_EXP__ (-125)
 #define __FLT_MIN__ 1.17549435e-38F
 #define __FLT_RADIX__ 2
+#define __GNUC_GNU_INLINE__ 1
 #define __GNUC_MINOR__ 0
 #define __GNUC_PATCHLEVEL__ 1
 #define __GNUC__ 4
@@ -68,10 +73,14 @@
 #define __STDC_HOSTED__ 1
 #define __UINTMAX_TYPE__ long long unsigned int
 #define __USER_LABEL_PREFIX__ _
-#define __VERSION__ "4.0.1 (Apple Computer, Inc. build 5370)"
+#define __VEC__ 10206
+#define __VERSION__ "4.0.1 (Apple Inc. build 5493)"
 #define __WCHAR_MAX__ 2147483647
 #define __WCHAR_TYPE__ int
 #define __WINT_TYPE__ int
+#define __bool __attribute__((altivec(bool__))) unsigned
+#define __pixel __attribute__((altivec(pixel__))) unsigned short
 #define __ppc__ 1
 #define __strong
+#define __vector __attribute__((altivec(vector__)))
 #define __weak

Fang

--
David Fang
http://www.csl.cornell.edu/~fang/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]