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

Adrian Prantl via cfe-dev cfe-dev at lists.llvm.org
Wed Feb 21 08:18:47 PST 2018


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 <mailto: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 <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev <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/e11dff99/attachment.html>


More information about the cfe-dev mailing list