On Apr 19, 2013, at 3:05 PM, Eric Christopher <[email protected]> wrote:
> On Fri, Apr 19, 2013 at 2:51 PM, Adrian Prantl <[email protected]> wrote: >> To briefly summarize a discussion in #llvm: >> The problem the patch addresses is that lldb displays negative enumerator >> values for fixed enums as unsigned values. >> >> This patch solves this by attaching the (optional) underlying type of the >> enum if there is one specified (for example NSInteger in the test case that >> comes with the patch). This is something we used to do for all scoped enums, >> and the patch extends this to all fixed enums. >> >> Eric points out that it should be sufficient to emit a negative >> DW_AT_const_value for the enumerator >> to let the debugger deduce that this is a signed data type. However, he also >> points out that darwin-gdb will probably not be able understand that. >> > > And that this ends up bloating the debug info (admittedly by a single > field, but...) when we don't need it to. True. One tag per fixed enum declaration. >> Update: We actually do emit the enumerators as signed values >> (DW_FORM_sdata). But it’s not enough for lldb to deduce the signedness in >> all cases. >> > > Why not? I filed a bug report for lldb. I’ll follow up once I know more about it. -- Adrian _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
