[cfe-dev] VLAs and cast expressions

Eli Friedman eli.friedman at gmail.com
Wed Feb 13 23:22:13 PST 2008


Quick question about VLAs: does the following evaluate the printf?  Or
is the printf only evaluated if the result is needed?  Or is this
illegal for some reason I'm forgetting?

void* a(void* x) {return (int (*)[10][printf("asdf")])x;}

Similar case which definitely needs to evaluate the printf:

void* a(void* x) {return (*(int (*)[10][printf("asdf")])x)+1;}

-Eli



More information about the cfe-dev mailing list