r200797 - Debug info: fix a crasher when when emitting debug info for

Adrian Prantl aprantl at apple.com
Tue Feb 4 13:59:30 PST 2014


On Feb 4, 2014, at 13:48, David Blaikie <dblaikie at gmail.com> wrote:

> 
> 
> 
> On Tue, Feb 4, 2014 at 1:29 PM, Adrian Prantl <aprantl at apple.com> wrote:
> Author: adrian
> Date: Tue Feb  4 15:29:50 2014
> New Revision: 200797
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=200797&view=rev
> Log:
> Debug info: fix a crasher when when emitting debug info for
> not-yet-completed templated types. getTypeSize() needs a complete type.
> 
> I assume this test case could be simplified further - is that not the case? Could you explain the sequence of steps that lead to the incomplete type being used here and why the test case tests for a definition when the code causes more cases to be handled as declarations?

It’s a test for a crasher, so the CHECK line is somewhat arbitrary. But since the fix for the crash involves emitting a (temporary) forward declaration for a type, I decided to at least test that the fwd decl doesn’t end up in the debug info.

> (things in the test case that seem overly complicated - two template parameters in Derived/Base, rather than one. A ctor (and out of line at that) in Foo, a recursive call in 'all', etc... )
> 
> That said, I have encountered some fairly convoluted test cases - I'm not ruling it out, just want to better understand the potentially necessary complexity here.
done in r200798.

-- adrian





More information about the cfe-commits mailing list