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 ?

Reply via email to