[cfe-dev] [Debug Info] Wrong column numbers come from macros

David Blaikie via cfe-dev cfe-dev at lists.llvm.org
Wed Feb 21 09:04:29 PST 2018


Not sure I follow there, though, Adrian - the semantics don't dictate just
how we could model this in a debugger.. (similarly how our diagnostics can
provide more detail rather than modelling a macro expansion as though it
was all written at the macro invocation point)

I think we've talked about using something like inlining to represent macro
expansions, for example - to provide help with the debugging experience.

On Wed, Feb 21, 2018 at 8:18 AM Adrian Prantl <aprantl at apple.com> wrote:

> This is not even a limitation of DWARF but rather mandated by the C
> specification. The C language standard explicitly specifies that all code
> in a (multi-line) macro expansion shall behave as if it were on the same
> line as the macro invocation. I understand that it technically doesn't say
> anything about columns and perhaps we could do something for single-line
> macros there, but this is basically the root of the issue.
>
>
> -- adrian
>
> On Feb 21, 2018, at 8:00 AM, David Blaikie <dblaikie at gmail.com> wrote:
>
> I think it's a matter of this being the best of no great options available
> in DWARF, but I personally haven't given it a great deal of thought.
>
> On Tue, Feb 20, 2018 at 10:34 PM Alex Denisov via cfe-dev <
> cfe-dev at lists.llvm.org> wrote:
>
>> Hi,
>>
>> I see an issue with debug info and macro. Here is an example:
>>
>> #define f(x) x
>> ...
>> int a = f(b + c);
>>         ^
>>
>> The debug information for each node in 'b + c' points to the 'f' (see the
>> caret). I expect it to point to the actual source location.
>>
>> I assume that is a known issue, but I could find neither explanation nor
>> bug report.
>> Can somebody shed some light on the issue?
>>
>> Cheers,
>> Alex.
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180221/bdf9f00b/attachment.html>


More information about the cfe-dev mailing list