[clangd-dev] ClangD - Dropped Diagnostic Outside of main file.
Ilya Biryukov via clangd-dev
clangd-dev at lists.llvm.org
Mon Aug 13 10:13:06 PDT 2018
Agree, having some errors is probably more useful than having none.
On Mon, Aug 13, 2018 at 6:12 PM Sam McCall <sam.mccall at gmail.com> wrote:
> On Mon, Aug 13, 2018, 17:43 Ilya Biryukov <ibiryukov at google.com> wrote:
>> Hi Dan, Sam,
>> Synthesizing the diagnostics sounds good!
>> Also agree we should summarize all diags coming from the include in a
>> single message to avoid potentially reporting a hundred diags at the same
>> Please also note that we can't catch any errors in function bodies, since
>> we skip those. That's one of the reasons we don't report diags from other
>> files now - we just can't do it reliably.
> For the most part I suspect this will be acceptable. Uses mostly care
> about errors in headers to the extent that they impact the file theyre
> editing, and function bodies mostly don't do that.
> Careful observers will notice the discrepancy, but that's what they get
> for being careful :-)
> (There may be edge cases around templates too, as usual)
>> Missing files are actually the most common source of inconsistencies in
>> the current file, though, reporting them is definitely the right thing to
>> Dan, would you be interested in coming up with a patch to fix this? We're
>> always happy to get new contributions.
>> On Mon, Aug 13, 2018 at 4:37 PM Sam McCall via clangd-dev <
>> clangd-dev at lists.llvm.org> wrote:
>>> +clangd-dev at lists.llvm.org
>>> On Fri, Aug 10, 2018 at 12:13 AM Dan Walmsley <dan at walms.co.uk> wrote:
>>>> Hi, I hope you dont mind me contacting you directly.
>>> I don't mind at all, but I'm out on parental leave so can't give this
>>> the attention it deserves. Adding the dev list.
>>>> I am integrating ClangD with an open source IDE. I have come across a
>>>> minor issue, but its most likely my inexperience with clangd.
>>>> So if I have a file that includes another file and that file has an
>>>> include that cant be found, the diagnostics for that missing include get
>>>> How would I be able to indicate to the users that there is a missing
>>>> include file, or get hold of the dropped diagnostic without the user having
>>>> to open that file first?
>>> So if we're dropping the "foo.h was not found" diagnostic when the
>>> missing file is directly included by the active file, this is just a bug we
>>> should fix. (I seem to recall this might be happening, at least in some
>>> For diagnostics that occur in other files, we do currently just drop
>>> them, but we should do something smarter. (This includes transitive
>>> includes like main.cc -> foo.h -> bar.h where bar.h is missing, but also if
>>> foo.h has a syntax error).
>>> I'd suggest we synthesize a diagnostic at the #include site that says
>>> something like:
>>> > Included file had errors:
>>> > foo.h:21: Missing ';'
>>> > foo.h:43: No such member 'qux', did you mean 'quux'
>>> > ...
>>> What do you think?
>>> (And anyone on clangd-dev want to take this up before I get back to
>>> Any hints or advice is greatly appreciated.
>>>> Many Thanks
>>>> Dan - working on AvalonStudio
>>> Hadn't heard about AvalonStudio, will check it out!
>>> Please hit up clangd-dev if we can help!
>>> clangd-dev mailing list
>>> clangd-dev at lists.llvm.org
>> Ilya Biryukov
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the clangd-dev