[LLVMdev] A problem from XCode 4 - help sought tracking it down
Matt Lamari
matt.lamari at gmail.com
Thu Apr 21 06:18:54 PDT 2011
Sorry if this isn't the right place; but I'm facing an XCode 4 (LLVM 2.0
to Apple, I heard it's LLVM 2.9 under the hood) issue that may involve
LLVM, and maybe some people on this list could help me short-circuit the
source.
I have a code pattern that, when used in XCode 4 in Objective C++ files,
causes the whole IDE to go crash. It is a stripped sample to highlight
the issue.
In the call stack, I see libclang.dylib, calling through
clang_visitChildren, up through various CursorVisitor::Visit... and
CursorVisitor::VisitChildren... calls. I have LLVM compiling, and
imagine I could replace XCode's libclang.dylib in order to add debugging
aids/logging.
Am I on the right track? Should I look near the point of failure, or
should I inspect the integrity of the data sent to clang_visitChildren
first?
If I'm not on the right track, I appreciate any help in getting me moving.
If anyone happens to be able to test-rig XCode 4 (in iPhone mode with
LLVM2 as compiler) vs the code below, it reproduces the problem:
template <typename I0,typename I1>
void (^ cc(void (^f)(I0,I1), I0 i0))(I1)
{
^ void (I1 i1) { };
}
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
cc(^ void (NSString * a, id b) { NSLog(a, b); }, @"%@");
[pool drain];
}
Thanks,
Matt
More information about the llvm-dev
mailing list