yvvan (Ivan Donchevskii)
User

Projects

User does not belong to any projects.

User Details

User Since
May 24 2017, 5:35 AM (73 w, 6 d)

Recent Activity

Fri, Oct 19

yvvan added a comment to D53072: [clang-format] Introduce the flag which allows not to shrink lines.

Do you know the better way to accomplish my aim than adding an option to libFormat? For example making a dependent library which serves a little different purpose than libFormat itself or something simpler?

Fri, Oct 19, 12:36 AM

Wed, Oct 10

yvvan created D53072: [clang-format] Introduce the flag which allows not to shrink lines.
Wed, Oct 10, 4:35 AM

Sep 21 2018

yvvan committed rL342721: [CodeComplete] Generate completion fix-its for C code as well.
[CodeComplete] Generate completion fix-its for C code as well
Sep 21 2018, 4:25 AM
yvvan committed rC342721: [CodeComplete] Generate completion fix-its for C code as well.
[CodeComplete] Generate completion fix-its for C code as well
Sep 21 2018, 4:25 AM
yvvan closed D52261: [Sema] Generate completion fix-its for C code as well.
Sep 21 2018, 4:25 AM
yvvan updated the diff for D52261: [Sema] Generate completion fix-its for C code as well.

Provide CorrectedBase = Base for C code

Sep 21 2018, 12:22 AM
yvvan added a comment to D52261: [Sema] Generate completion fix-its for C code as well.

You're right actually. The fix is much simpler than I expected :)

Sep 21 2018, 12:16 AM

Sep 19 2018

yvvan added a comment to D52261: [Sema] Generate completion fix-its for C code as well.

I tried that first but did not I find a way just to copy an expression (we basically need the same expr for such case). Do you know how to properly generate a copy of expression or some other way to get the same expression?

Sep 19 2018, 11:11 PM
yvvan updated the diff for D52261: [Sema] Generate completion fix-its for C code as well.

Test is added

Sep 19 2018, 5:59 AM
yvvan created D52261: [Sema] Generate completion fix-its for C code as well.
Sep 19 2018, 5:31 AM

Sep 7 2018

yvvan committed rC341656: [libclang] Return the proper pointee type for 'auto' deduced to pointer.
[libclang] Return the proper pointee type for 'auto' deduced to pointer
Sep 7 2018, 6:25 AM
yvvan committed rL341656: [libclang] Return the proper pointee type for 'auto' deduced to pointer.
[libclang] Return the proper pointee type for 'auto' deduced to pointer
Sep 7 2018, 6:25 AM
yvvan closed D51281: [libclang] Return the proper pointee type for 'auto' deduced to pointer.
Sep 7 2018, 6:25 AM

Sep 5 2018

yvvan updated the diff for D51281: [libclang] Return the proper pointee type for 'auto' deduced to pointer.

Comments addressed

Sep 5 2018, 11:44 PM

Aug 28 2018

yvvan added a comment to D51281: [libclang] Return the proper pointee type for 'auto' deduced to pointer.

You are completely right! Thanks!
I did not think that -test-print-type also checks for the pointee.

Aug 28 2018, 11:15 PM

Aug 26 2018

yvvan created D51281: [libclang] Return the proper pointee type for 'auto' deduced to pointer.
Aug 26 2018, 11:42 PM

Aug 23 2018

yvvan committed rC340521: [libclang] Fix cursors for arguments of Subscript and Call operators.
[libclang] Fix cursors for arguments of Subscript and Call operators
Aug 23 2018, 2:49 AM
yvvan committed rL340521: [libclang] Fix cursors for arguments of Subscript and Call operators.
[libclang] Fix cursors for arguments of Subscript and Call operators
Aug 23 2018, 2:49 AM
yvvan closed D40481: [libclang] Fix cursors for arguments of Subscript and Call operators.
Aug 23 2018, 2:48 AM
yvvan accepted D40481: [libclang] Fix cursors for arguments of Subscript and Call operators.

Let's proceed with this one. I really see that it's going to be useful.

Aug 23 2018, 1:11 AM

Jul 31 2018

yvvan added a comment to D49794: [libclang] Allow skipping warnings from all included files.

And we already saw, that -isystem is not the best choice for that.

Are you referring to the file-locking on Windows?
Any other reasons why the -isystem trick might be non-ideal?

File locking is the first one. Another one comes with "plugin mode" of tidy.

Jul 31 2018, 6:50 AM
yvvan added a dependent revision for D41407: Add index-while-building support to Clang - Part 3: D49009: Add index-while-building support to Clang - non-Apple platforms.
Jul 31 2018, 6:23 AM
yvvan added a dependency for D49009: Add index-while-building support to Clang - non-Apple platforms: D41407: Add index-while-building support to Clang - Part 3.
Jul 31 2018, 6:23 AM
yvvan added a comment to D49794: [libclang] Allow skipping warnings from all included files.

Anyways, if c++ part does not seem relevant I'm fine if we only have libclang part from D48116.

Jul 31 2018, 6:20 AM
yvvan accepted D49635: [libclang 8/8] Add support for the flag_enum attribute.
Jul 31 2018, 6:13 AM
yvvan accepted D49634: [libclang 7/8] Add support for getting property setter and getter names.
Jul 31 2018, 6:13 AM
yvvan accepted D49631: [libclang 6/8] Add support for reading implicit attributes.
Jul 31 2018, 6:12 AM
yvvan accepted D49127: [libclang 5/8] Add support for ObjC attributes without args.
Jul 31 2018, 6:12 AM
yvvan accepted D49082: [libclang 4/8] Add the clang_Type_getNullability() API.
Jul 31 2018, 6:12 AM
yvvan accepted D49081: [libclang 3/8] Add support for AttributedType.
Jul 31 2018, 6:12 AM
yvvan added a comment to D49794: [libclang] Allow skipping warnings from all included files.

And we already saw, that -isystem is not the best choice for that. And by the way - clang-tidy has this filtering in consumer which does not exist in it's plugin-mode so it spits all system diagnostics all the time...

Jul 31 2018, 6:10 AM
yvvan accepted D49066: [libclang 2/8] Add support for ObjCTypeParam.
Jul 31 2018, 6:02 AM
yvvan accepted D49063: [libclang 1/8] Add support for ObjCObjectType.
Jul 31 2018, 6:02 AM
yvvan added a comment to D49794: [libclang] Allow skipping warnings from all included files.

I already mentioned in the review inherited by this one that this way covers also loaded plugins with different consumers. So let's assume that driver loads clang-tidy and some other plugins and runs over each file in the project.
It makes sense not to include clang-tidy diagnostics coming from headers, at least for third-party headers (you can still run clang over specific headers themselves to get diagnostics for them).

Jul 31 2018, 4:48 AM
yvvan updated the diff for D49794: [libclang] Allow skipping warnings from all included files.

Restore missing tests

Jul 31 2018, 4:05 AM

Jul 25 2018

yvvan added a comment to D49063: [libclang 1/8] Add support for ObjCObjectType.

I'm mostly fine with your set of patches. Let me double check and we can get it in.

Jul 25 2018, 11:58 PM
yvvan created D49794: [libclang] Allow skipping warnings from all included files.
Jul 25 2018, 6:08 AM

Jul 24 2018

yvvan added a comment to D49010: YAML output for index-while-building.

@ilya-biryukov I would name this revision "for test purpose". It works at some extent with the current clangd version and can be used by someone else. But since we had a discussion about YAML being a temporary solution I never planned to commit this revision.
So yes, I totally agree that using a binary format would be ideal for the "index while build' use case.

Jul 24 2018, 11:15 PM

Jul 13 2018

yvvan updated the diff for D49010: YAML output for index-while-building.
Jul 13 2018, 1:31 AM

Jul 11 2018

yvvan added inline comments to D49063: [libclang 1/8] Add support for ObjCObjectType.
Jul 11 2018, 11:16 PM

Jul 6 2018

yvvan updated the summary of D49010: YAML output for index-while-building.
Jul 6 2018, 1:45 AM
yvvan created D49010: YAML output for index-while-building.
Jul 6 2018, 1:44 AM
yvvan updated subscribers of D49009: Add index-while-building support to Clang - non-Apple platforms.
Jul 6 2018, 1:42 AM
yvvan created D49009: Add index-while-building support to Clang - non-Apple platforms.
Jul 6 2018, 1:41 AM

Jul 4 2018

yvvan added a comment to D48314: [Frontend] Cache preamble-related data.

@ilya-biryukov Sorry. I didn't have time to post comments here.
The usecase that we have is a supportive translation unit for code completion. Probably you use something similar in clangd not to wait for the TU to be reparsed after a change?
The gain from this change is both performance and memory but I don't have measurements under my hand right now. And of course they are only valid for this usecase.

Jul 4 2018, 4:19 AM

Jul 3 2018

yvvan added a comment to D41407: Add index-while-building support to Clang - Part 3.

So I have that working on windows with clang-cl (probably broke something else during the porting, need to recheck.
One more commit I have in my working tree is YAML export to be able to use it for clangd. The quality of code is currently not so good so I probably need some extra time to make it ok-ish. But i hope to have it posted to reviews this week (unless I have something urgent)

Jul 3 2018, 6:07 AM

Jul 1 2018

yvvan added a comment to D41407: Add index-while-building support to Clang - Part 3.

@nathawes I've already started changing so I can hopefully share my code with you when I fix all undefined symbols :)

Jul 1 2018, 11:06 PM

Jun 29 2018

yvvan added a comment to D41407: Add index-while-building support to Clang - Part 3.

Will it work if I replace every block-related code here with llvm::function_ref<>?

Jun 29 2018, 3:36 AM
yvvan added a comment to D41407: Add index-while-building support to Clang - Part 3.

I can't really test this one because INDEXSTORE_HAS_BLOCKS is apple-specific and it's required to rewrite all block-related stuff to use that code

Jun 29 2018, 2:44 AM

Jun 27 2018

yvvan added a comment to D48116: [libclang] Allow skipping warnings from all included files.

But this one misses a way to set this flag for everything except libclang. We can probably change that (Nikolai is in vacation till the end of summer so it's probably my part now) and add some tests outside of Index for it (probably Frontend)

Jun 27 2018, 5:22 AM
yvvan added a comment to D48116: [libclang] Allow skipping warnings from all included files.

The idea was to ignore everything including notes and remarks so that only errors from system headers are still collected.

Jun 27 2018, 4:28 AM

Jun 21 2018

yvvan committed rC335220: Fix line endings in recently updated test file.
Fix line endings in recently updated test file
Jun 21 2018, 5:44 AM
yvvan committed rL335220: Fix line endings in recently updated test file.
Fix line endings in recently updated test file
Jun 21 2018, 5:43 AM
yvvan accepted D48423: [liblang] Remove DOS line endings in libclang.exports.

Thanks! I probably forgot to check line endings for this file before committing which I do for source files and headers...

Jun 21 2018, 5:37 AM
yvvan added a comment to D48116: [libclang] Allow skipping warnings from all included files.

@ilya-biryukov what do you think?

Jun 21 2018, 2:01 AM
yvvan committed rL335211: [Sema] Fix overloaded static functions for templates.
[Sema] Fix overloaded static functions for templates
Jun 21 2018, 1:39 AM
yvvan committed rC335211: [Sema] Fix overloaded static functions for templates.
[Sema] Fix overloaded static functions for templates
Jun 21 2018, 1:39 AM
yvvan closed D43453: Fix overloaded static functions for templates.
Jun 21 2018, 1:39 AM
yvvan updated the diff for D43453: Fix overloaded static functions for templates.

Ok, I reconsidered, let's remove IsTemplate :)

Jun 21 2018, 1:31 AM
yvvan added inline comments to D43453: Fix overloaded static functions for templates.
Jun 21 2018, 1:12 AM
yvvan updated the diff for D43453: Fix overloaded static functions for templates.

tests are back :)

Jun 21 2018, 1:11 AM
yvvan updated the diff for D43453: Fix overloaded static functions for templates.

comments addressed

Jun 21 2018, 1:01 AM

Jun 20 2018

yvvan added a comment to D40992: Add index-while-building support to Clang - Part 2.

Can you probably update part 2 and 3 so they can be applied on top of the first patch?

Jun 20 2018, 7:23 AM

Jun 19 2018

yvvan added a comment to D43453: Fix overloaded static functions for templates.

Thanks for the feedback :) I will return to this one and address comments a little bit later.

Jun 19 2018, 3:55 AM
yvvan created D48315: [Frontend] Share global completions cache.
Jun 19 2018, 1:38 AM
yvvan created D48314: [Frontend] Cache preamble-related data.
Jun 19 2018, 1:09 AM
yvvan added a comment to D43453: Fix overloaded static functions for templates.

PING!!!

Jun 19 2018, 1:06 AM

Jun 13 2018

yvvan committed rL334593: [libclang] Optionally add code completion results for arrow instead of dot.
[libclang] Optionally add code completion results for arrow instead of dot
Jun 13 2018, 5:41 AM
yvvan committed rC334593: [libclang] Optionally add code completion results for arrow instead of dot.
[libclang] Optionally add code completion results for arrow instead of dot
Jun 13 2018, 5:41 AM
yvvan closed D46862: [libclang] Optionally add code completion results for arrow instead of dot.
Jun 13 2018, 5:41 AM
yvvan updated the diff for D46862: [libclang] Optionally add code completion results for arrow instead of dot.

Diff with unix line endings

Jun 13 2018, 4:41 AM
yvvan updated the diff for D46862: [libclang] Optionally add code completion results for arrow instead of dot.

Address comments about Index.h new functions parameters

Jun 13 2018, 4:36 AM
yvvan added a comment to D48116: [libclang] Allow skipping warnings from all included files.

Cool! That's actually quite a small change with big outcome!

Jun 13 2018, 1:53 AM

Jun 7 2018

yvvan updated the diff for D46862: [libclang] Optionally add code completion results for arrow instead of dot.

Address review comments

Jun 7 2018, 3:57 AM

Jun 6 2018

yvvan committed rL334072: Fix build - use llvm::make_unique.
Fix build - use llvm::make_unique
Jun 6 2018, 1:30 AM
yvvan committed rC334072: Fix build - use llvm::make_unique.
Fix build - use llvm::make_unique
Jun 6 2018, 1:30 AM
yvvan committed rC334070: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.
[Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit
Jun 6 2018, 12:21 AM
yvvan committed rL334070: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.
[Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit
Jun 6 2018, 12:21 AM
yvvan closed D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.
Jun 6 2018, 12:21 AM

Jun 4 2018

yvvan updated the diff for D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.

Use fixture in unit-test

Jun 4 2018, 2:50 AM
yvvan updated the diff for D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.

fix indentation in unit-test

Jun 4 2018, 1:41 AM
yvvan updated the diff for D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.

I could not properly test getMainBufferWithPrecompiledPreamble because it's private and requires some extra context to be called.

Jun 4 2018, 1:37 AM

Jun 1 2018

yvvan added a comment to D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.

Is it plausible to add a unit-test for this?

Jun 1 2018, 4:12 AM

May 31 2018

yvvan retitled D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit from Treat files as volatile by default to [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.
May 31 2018, 1:56 AM
yvvan updated the diff for D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.

This is the proper fix. When we get a buffer for main file we should use the UserFilesAreVolatile flag to specify if memory mapping needs to occur or not.

May 31 2018, 1:53 AM

May 30 2018

yvvan added a comment to D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.

Memory mapping locks the file on Windows. That means that in the addressed case it locks main file which we are editing. After that happens many tools struggle to do something with this file, for example git.
It's the quickest solution, probably not the best. Better one would introduce isVolatile parameter in FileSystem::getBufferForFile which should be set to true somewhere (I didn't have time to search for the specific location yet)

May 30 2018, 6:16 AM

May 29 2018

yvvan added inline comments to D46862: [libclang] Optionally add code completion results for arrow instead of dot.
May 29 2018, 11:32 PM
yvvan updated the diff for D46862: [libclang] Optionally add code completion results for arrow instead of dot.

Address review comments

May 29 2018, 11:31 PM
yvvan added a comment to D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.

The precise path which leads here is yet unclear for me (it requires much more time to research) but changing this specific default value to true fixes main file from being memory mapped and therefore being blocked (on Windows)
I assume it comes from FileManager::getBufferForFile(StringRef Filename) but not sure about prior events causing it.

May 29 2018, 2:06 AM
yvvan created D47460: [Frontend] Honor UserFilesAreVolatile flag getting file buffer in ASTUnit.
May 29 2018, 2:02 AM

May 25 2018

yvvan committed rL333276: Fix members initialization order in constructor (fails with -Werror).
Fix members initialization order in constructor (fails with -Werror)
May 25 2018, 6:50 AM
yvvan committed rC333276: Fix members initialization order in constructor (fails with -Werror).
Fix members initialization order in constructor (fails with -Werror)
May 25 2018, 6:50 AM
yvvan committed rC333272: Optionally add code completion results for arrow instead of dot.
Optionally add code completion results for arrow instead of dot
May 25 2018, 6:00 AM
yvvan committed rL333272: Optionally add code completion results for arrow instead of dot.
Optionally add code completion results for arrow instead of dot
May 25 2018, 6:00 AM
yvvan closed D41537: Optionally add code completion results for arrow instead of dot.
May 25 2018, 6:00 AM
yvvan updated the diff for D46862: [libclang] Optionally add code completion results for arrow instead of dot.

Update according to c++ part changes

May 25 2018, 1:00 AM
yvvan updated the diff for D41537: Optionally add code completion results for arrow instead of dot.

NIT-s addressed

May 25 2018, 12:29 AM
yvvan added inline comments to D41537: Optionally add code completion results for arrow instead of dot.
May 25 2018, 12:27 AM

May 24 2018

yvvan added inline comments to D41537: Optionally add code completion results for arrow instead of dot.
May 24 2018, 11:31 PM

May 23 2018

yvvan updated the diff for D46862: [libclang] Optionally add code completion results for arrow instead of dot.

Output range of token being replaced instead of it's text

May 23 2018, 2:47 AM