https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89722
--- Comment #9 from Xavier <chantry.xavier at gmail dot com> ---
We are compiling with -std=gnu++98 so decltype is not available there.
And the "+ 0" trick does not seem to work correctly.
% cat toto.c
#include <stdio.h>
int main(void) {
char data[128];
printf("%ju\n", sizeof(typeof(*data)));
printf("%ju\n", sizeof(typeof(*data + 0)));
printf("%ju\n", sizeof(typeof((*data) + 0)));
return 0;
}
% ./a.out
1
4
4
Do you have a solution that works with -std=gnu++98 ?