LLVM 2.4 problem?


I don’t know enough C to know for certain if this is a programmer or compiler error:

In a Objective-C source file I have:


static const char sessionEntriesKVO = ’ ';


Later I use that variable as a ID by taking it’s address like this:

[feedManager addObserver:self forKeyPath:@“sessionEntriesCount” options:0 context:&sessionEntriesKVO];

and later


if (aContext == &sessionEntriesKVO) {


With GCC 4.2 everything works as expected but with LLVM-GCC it seems that the optimizer does something strange to the sessionEntriesKVO variable (I get strange “unrecognized selector sent to instance…” errors at runtime that has nothing to do with the sessionEntriesKVO).

Removing the const keyword (or compiling with -O0) fixes the problem.