On Feb 6, 2013, at 3:24 PM, Ted Kremenek <[email protected]> wrote:
> Put another way, this patch seems to rely on the value of a variable being
> "uninitialized" to indicate whether or not the initializer has been executed.
> That's not a valid assumption. For example:
>
> static id x = foo(x);
>
> is "okay" in Objective-C.
… or rather Objective-C++.
$ cat t.mm
#include <stdio.h>
id foo(id x) {
printf("%p\n", x);
return x;
}
int main() {
static id x = foo(x);
}
$ clang++ t.mm
$ ./a.out
0x0_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits