I believe the code below is legal.
It seems like printf() should always be called, however I couldn't
find a spec reference to validate this.
snaroff
On Feb 13, 2008, at 11:22 PM, Eli Friedman wrote:
> 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
> _______________________________________________
> cfe-dev mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
_______________________________________________
cfe-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev