https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79358
--- Comment #7 from Dominik Vogt <vogt at linux dot vnet.ibm.com> ---
Or even
--
#include <limits.h>
#include <stdint.h>
#define FOO(TYPE, EXPR) __typeof__(EXPR) a; __typeof__((TYPE)0 + 0) *b = &a;
void foo (void)
{
FOO(__SIZE_TYPE__, (SIZE_MAX));
}
--
So __typeof__(SIZE_MAX) is different from __typeof__(__SIZE_TYPE__) when using
-m31.
