Review Request 124139: Added clang settings pages

Maciej Poleski d82ks8djf82msd83hf8sc02lqb5gh5 at gmail.com
Mon Jul 13 22:27:06 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124139/#review82477
-----------------------------------------------------------


I not fully understand what is happening there. But in case of Clang (as a tool, not necessary compiler) settings like command line arguments are crucial (these consists of language standard version, but also lot of other settings like defines and include paths). In general these options may arbitrary influence compilation process (from triggering compilation error up to change in behavior). For this purpose Clang introduced conception of CompilationDatabase - set of command line arguments for each translation unit. Compilation database is (very likely) already used in kdev-clang (and also independently used by me in refactorings code). In case of CMake projects it is basically compile_commands.json file (which Clang handles automaticaly), in case of others... WIP.

I don't want to disturb Your work. I just wanted to mention about topic. From user point of view it could be handy to have these settings handled automaticaly (and also provably correct).

- Maciej Poleski


On Lip 12, 2015, 12:36 po południu, Sergey Kalinichev wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124139/
> -----------------------------------------------------------
> 
> (Updated Lip 12, 2015, 12:36 po południu)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdev-clang
> 
> 
> Description
> -------
> 
> This adds two pages: One for session settings (code-completion, assistants), another one for project settings (parser command-line arguments).
> 
> Known issue: now we can set language standard in two places: DaIM - for deducing standard macros/includes and here - for the internal parser.
> To solve this problem we can copy/move compilers infrastructure to kdev-clang. Also we can expose the compiler provider interface through DaIM (which is a much better solution imo). Suggestions?
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 218cdcd 
>   clangparsejob.cpp 127e0a9 
>   clangsettings/CMakeLists.txt PRE-CREATION 
>   clangsettings/clangsettingsmanager.h PRE-CREATION 
>   clangsettings/clangsettingsmanager.cpp PRE-CREATION 
>   clangsettings/sessionsettings/sessionconfig.kcfg PRE-CREATION 
>   clangsettings/sessionsettings/sessionconfig.kcfgc PRE-CREATION 
>   clangsettings/sessionsettings/sessionconfigskeleton.h PRE-CREATION 
>   clangsettings/sessionsettings/sessionsettings.h PRE-CREATION 
>   clangsettings/sessionsettings/sessionsettings.cpp PRE-CREATION 
>   clangsettings/sessionsettings/sessionsettings.ui PRE-CREATION 
>   clangsupport.h 8ed1ec9 
>   clangsupport.cpp e22c554 
>   codecompletion/context.cpp f26921f 
>   duchain/CMakeLists.txt e07ef70 
>   duchain/clangparsingenvironment.h 2e4ea8b 
>   duchain/clangparsingenvironment.cpp 20a2dbf 
>   duchain/parsesession.h 74999de 
>   duchain/parsesession.cpp cfafa33 
>   duchain/unknowndeclarationproblem.cpp 908a518 
> 
> Diff: https://git.reviewboard.kde.org/r/124139/diff/
> 
> 
> Testing
> -------
> 
> 
> File Attachments
> ----------------
> 
> project settings.png
>   https://git.reviewboard.kde.org/media/uploaded/files/2015/06/21/f4bb2220-dc63-478d-b423-f31434496afb__project_settings.png
> session settings.png
>   https://git.reviewboard.kde.org/media/uploaded/files/2015/06/21/e1f59a46-f0b4-46fa-9f19-ffca4b887cf5__session_settings.png
> 
> 
> Thanks,
> 
> Sergey Kalinichev
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20150713/89027dfb/attachment.html>


More information about the KDevelop-devel mailing list