Review Request: Include resolving using 'make' optional
Milian Wolff
mail at milianw.de
Wed May 16 10:23:06 UTC 2012
> On May 14, 2012, 1:15 a.m., Alexandre Courbot wrote:
> > I noticed that this patch has been reverted a while ago:
> >
> > commit 17fa62314a30071296533e8e1cd53d9fca730f18
> > Author: Milian Wolff <mail at milianw.de>
> > Date: Tue Mar 20 17:02:20 2012 +0100
> >
> > Revert "make include-path resolution using make optional on a per-project basis"
> >
> > include-path auto completion creates a includepath computer in the background
> > thread which would break this patch (and assert, actually).
> >
> > shows that we desparately need a unit test for this. I'll revive the patch
> > once I have time to fix it properly.
> >
> > This reverts commit ff1744bcb8b125f6bcb0227925973a59d176de39.
> >
> > Milian, could you elaborate on what needs to be fixed for this patch to make it again? I'd like to give it a try. Thanks.
Oh sorry! I really meant to work on it...
The issue is basically that the project model was accessed from a background thread, through findIncludePaths() in cpputils.cpp which is e.g. eventually used via CodeCompletionContext::doIncludeCompletion (well, just revert the revert and try to do include-path auto completion and get a backtrace, you'll see where it asserts). One potential fix for that would be to wrap the code in the includepathcomputer with the foregroundlock, you could try that out... Not sure there is a better alternative I'm afraid :(
- Milian
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/102883/#review13796
-----------------------------------------------------------
On Oct. 16, 2011, 8:31 a.m., Alexandre Courbot wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/102883/
> -----------------------------------------------------------
>
> (Updated Oct. 16, 2011, 8:31 a.m.)
>
>
> Review request for KDevelop and Milian Wolff.
>
>
> Description
> -------
>
> Include resolving using 'make' optional
>
> Make can be invoked by the background parser if some include paths are
> unresolved. However some projects do not use make for building and this
> potentially induces an overhead for large projects. This patch adds a
> project-wide option to disable this behavior.
>
>
> Diffs
> -----
>
> languages/cpp/includepathresolver.cpp d0b1cc1ede30409f77123573b269ea866a71ff96
> projectbuilders/makebuilder/makebuilderconfig.kcfg 8b521f12a92ce1bddef51c6a4a4126d8c9d1893c
> projectbuilders/makebuilder/makeconfig.ui 6c047c1bda5ec8ffc9af98546a33d083e065185b
>
> Diff: http://git.reviewboard.kde.org/r/102883/diff/
>
>
> Testing
> -------
>
> Checked that the setting is correctly set and taken into account by the IncludePathResolver.
>
>
> Thanks,
>
> Alexandre Courbot
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20120516/783a4c9c/attachment.html>
More information about the KDevelop-devel
mailing list