bug-gnulib
[Top][All Lists]
Advanced

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

Re: __typeof__ does not work as expected with XLC compiler on AIX 5.2


From: TestRealTime .
Subject: Re: __typeof__ does not work as expected with XLC compiler on AIX 5.2
Date: Wed, 2 Nov 2016 22:32:49 +0100

Hello Paul,

I checked the values of macros you have asked:
__GNUC__, __SUNPRO_C, __STDC__, __xlC_ver__ are all undefined. The rest ones are defined and the values are same for 32- and 64-bit compilation:

__IBM__TYPEOF__=1
__IBMC__=600
__xlC__=1536


Compiler version is much older than yours:
cc_r -qversion
C for AIX version 6.0.0.0
xlc -qversion
C for AIX version 6.0.0.0

So, __IBM__TYPEOF__ macro is defined and the resulting complex macro from ftconfig.h is resolved to #define FT_TYPEOF( type )  (__typeof__ (type)), but __typeof__ itself does not work as I wrote in the original message. I suppose that if you use xlc 6.0.0.0 you should reproduce the problem as well.

--
Best Regards,
Alexander.

2016-10-31 16:03 GMT+01:00 Paul Eggert <address@hidden>:
On 10/28/2016 08:13 AM, TestRealTime . wrote:

long Func(int x) { return x; }
int main()
{
    int y, z = 1;
    y = (__typeof__(Func((__typeof__(z))z)))0;
    return 0;
}

I don't observe any problem when compiling with this xlc:

$ xlc -qversion
IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72)
Version: 12.01.0000.0000

gnulib/lib/intprops.h says __typeof__ should work with xlc if the __IBM__TYPEOF__ macro is defined. Is that macro defined for you? If not, then why is FT_TYPEOF misfiring for you? And if so, what are the values of the following macros? You can use the compiler's -E option to determine this.

__IBMC__

__xlC__

__xlC_ver__

Also, what does your compiler's manual (for your compiler's version) say about this?



reply via email to

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