Why does Visual C++ 2012 hate FunctionDecl* ?


I am compiling and debugging LLVM/clang using Visual C++ 2012 Update 3. Whenever the debugger needs to show a value of type FunctionDecl*, it crashes!
Not just the compiled code but the whole Visual C++ IDE crashes and restarts.
This does not happen with any other data types in LLVM and clang (so far, and I debugged a lot).

Any ideas what’s going on?


Not certain what's going on, but I've seen this almost daily in VS
2012 as well. The good news is, you can use WinDbg to do your
debugging and it doesn't crash, so it's not something with the
underlying debugging engine. That, and all of the times I've sent the
crash dump information through WinQual, makes me hopeful that this bug
will be fixed in a future version.


I can confirm this problem too, hope it’s fixed in the next version.

I've not spent any time trying to figure out what precisely it is about
FunctionDecl* that it doesn't like, but I came up with a quick workaround
should at least prevent it from taking out the entire IDE every time you
dare to hover your mouse over one! Put the following file into
"Documents/Visual Studio 2012/Visualizers". Now when you try to inspect
one, either through the Watch view or by hovering over it, it will show
"Cannot display this without crashing VS2012. Expand at your peril!" with
a tempting little '+' icon next to it. Clicking the icon will still crash
the IDE, but at least you've been warned first :-).

Greg Bedwell
SN Systems - Sony Computer Entertainment Group

ClangFunctionDecl.natvis (324 Bytes)

This works, cool!

João Matos <ripzonetriton@gmail.com>

I can confirm this problem too, hope it's fixed in the next version.

VS 2013 RC is out. Go check it.