Page MenuHomePhabricator

malaperle (Marc-Andre Laperle)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 27 2016, 9:06 PM (146 w, 4 d)

Recent Activity

Feb 24 2019

malaperle committed rCTE354761: [clangd] Enhance macro hover to see full definition.
[clangd] Enhance macro hover to see full definition
Feb 24 2019, 3:49 PM
malaperle committed rG25e690273ac1: [clangd] Enhance macro hover to see full definition (authored by malaperle).
[clangd] Enhance macro hover to see full definition
Feb 24 2019, 3:49 PM
malaperle committed rL354761: [clangd] Enhance macro hover to see full definition.
[clangd] Enhance macro hover to see full definition
Feb 24 2019, 3:49 PM
malaperle closed D55250: [clangd] Enhance macro hover to see full definition.
Feb 24 2019, 3:49 PM · Restricted Project, Restricted Project

Feb 21 2019

malaperle updated the diff for D55250: [clangd] Enhance macro hover to see full definition.

Remove Markdown support.

Feb 21 2019, 10:07 PM · Restricted Project, Restricted Project
malaperle added inline comments to D55250: [clangd] Enhance macro hover to see full definition.
Feb 21 2019, 10:07 PM · Restricted Project, Restricted Project
malaperle added inline comments to D55250: [clangd] Enhance macro hover to see full definition.
Feb 21 2019, 6:40 AM · Restricted Project, Restricted Project
malaperle updated the diff for D55250: [clangd] Enhance macro hover to see full definition.

Address comments.

Feb 21 2019, 6:38 AM · Restricted Project, Restricted Project

Feb 18 2019

malaperle added a comment to D55250: [clangd] Enhance macro hover to see full definition.

Ping?

Feb 18 2019, 7:50 PM · Restricted Project, Restricted Project

Feb 8 2019

malaperle updated the diff for D55250: [clangd] Enhance macro hover to see full definition.

Remove temporary code.

Feb 8 2019, 5:55 AM · Restricted Project, Restricted Project

Feb 2 2019

malaperle updated the diff for D55250: [clangd] Enhance macro hover to see full definition.

Address comments.

Feb 2 2019, 9:16 PM · Restricted Project, Restricted Project

Jan 12 2019

malaperle added inline comments to D55250: [clangd] Enhance macro hover to see full definition.
Jan 12 2019, 11:07 AM · Restricted Project, Restricted Project

Dec 6 2018

malaperle added a comment to D54872: [clangd] Add ability to not use -resource-dir at all.

I'm a bit confused now, will put up a few clarifying questions to make sure I understand the probem properly.
Does clang-cl work correctly the arguments from compile_commands.json? Does it fail if we add the -resource-dir, similar to how it was done for clangd?

Dec 6 2018, 7:54 PM

Dec 4 2018

malaperle added a comment to D54872: [clangd] Add ability to not use -resource-dir at all.

It doesn't seem like there is any difference in how -resource-dir and /imsvc are handled: they are all added as -internal-isystem

Dec 4 2018, 7:56 PM
malaperle updated the diff for D55250: [clangd] Enhance macro hover to see full definition.

Clang-format

Dec 4 2018, 6:45 PM · Restricted Project, Restricted Project
malaperle added reviewers for D55250: [clangd] Enhance macro hover to see full definition: simark, ilya-biryukov, sammccall, ioeric, hokein.
Dec 4 2018, 6:12 PM · Restricted Project, Restricted Project

Dec 3 2018

malaperle created D55250: [clangd] Enhance macro hover to see full definition.
Dec 3 2018, 9:51 PM · Restricted Project, Restricted Project

Dec 2 2018

malaperle added a comment to D55139: [clangd] Avoid memory-mapping files on Windows.

Hi Ilya. Does this apply to compile_commands.json too? I've seen that problem for that file as well. If not, I understand it can be another patch, just curious.

Dec 2 2018, 11:00 AM

Nov 28 2018

malaperle added a comment to D54872: [clangd] Add ability to not use -resource-dir at all.

Reading D54630, I think that's what might be happening. Here's how to reproduce the problem though:

Nov 28 2018, 8:49 PM
malaperle added a comment to D54781: [clangd] Add 'Switch header/source' command in clangd-vscode.

Just made a new release v0.0.7, please try to use it (it works on my machine).

Nov 28 2018, 7:24 PM

Nov 26 2018

malaperle planned changes to D54872: [clangd] Add ability to not use -resource-dir at all.

We have to point clangd into the resource dir, corresponding to the version of the headers it was built with. It's important we pick the exact version of the built-in headers that clangd was built for.

Nov 26 2018, 8:50 PM
malaperle added a comment to D54781: [clangd] Add 'Switch header/source' command in clangd-vscode.

@malaperle, do you want a new release of vscode-clangd extension for this?

Nov 26 2018, 7:44 PM

Nov 24 2018

malaperle created D54872: [clangd] Add ability to not use -resource-dir at all.
Nov 24 2018, 8:30 PM

Nov 23 2018

malaperle committed rCTE347509: [clangd] Add 'Switch header/source' command in clangd-vscode.
[clangd] Add 'Switch header/source' command in clangd-vscode
Nov 23 2018, 6:56 PM
malaperle committed rL347509: [clangd] Add 'Switch header/source' command in clangd-vscode.
[clangd] Add 'Switch header/source' command in clangd-vscode
Nov 23 2018, 6:56 PM
malaperle closed D54781: [clangd] Add 'Switch header/source' command in clangd-vscode.
Nov 23 2018, 6:56 PM
malaperle added a comment to D54781: [clangd] Add 'Switch header/source' command in clangd-vscode.

This is great!

I'm slightly nervous - the way we've extended the protocol with textDocument/switchSourceHeader is pretty hard to extend, itself (since the response is a string directly).
This is only tangentially related to this patch, the same issue exists with Theia (I thought it was version locked to clangd, but it seems not to be).

I think this is fine. We may want to revise the protocol to wrap the URI in a struct (which should be soon!). Since VSCode plugin can be assumed to be newer than clangd, we can make it accept both versions.

Nov 23 2018, 6:42 PM

Nov 22 2018

malaperle added a comment to D54781: [clangd] Add 'Switch header/source' command in clangd-vscode.

Could you run clang-format on the changed lines?

Nov 22 2018, 7:31 PM
malaperle updated the diff for D54781: [clangd] Add 'Switch header/source' command in clangd-vscode.

Address comments.

Nov 22 2018, 7:31 PM

Nov 21 2018

malaperle added reviewers for D54781: [clangd] Add 'Switch header/source' command in clangd-vscode: hokein, ilya-biryukov, ioeric.
Nov 21 2018, 4:02 PM

Nov 20 2018

malaperle updated the diff for D54781: [clangd] Add 'Switch header/source' command in clangd-vscode.

Fix a bad change

Nov 20 2018, 8:28 PM
malaperle created D54781: [clangd] Add 'Switch header/source' command in clangd-vscode.
Nov 20 2018, 8:25 PM

Nov 16 2018

malaperle committed rCTE347119: [clangd] Fix crash hovering on non-decltype trailing return.
[clangd] Fix crash hovering on non-decltype trailing return
Nov 16 2018, 4:44 PM
malaperle committed rL347119: [clangd] Fix crash hovering on non-decltype trailing return.
[clangd] Fix crash hovering on non-decltype trailing return
Nov 16 2018, 4:44 PM
malaperle closed D54553: [clangd] Fix crash hovering on non-decltype trailing return.
Nov 16 2018, 4:43 PM
malaperle added a comment to D54553: [clangd] Fix crash hovering on non-decltype trailing return.

Thanks for the review!

Nov 16 2018, 4:43 PM

Nov 15 2018

malaperle updated the diff for D54553: [clangd] Fix crash hovering on non-decltype trailing return.

Address comment.

Nov 15 2018, 6:28 AM

Nov 14 2018

malaperle updated the diff for D54553: [clangd] Fix crash hovering on non-decltype trailing return.

Fix comment in test

Nov 14 2018, 3:56 PM
malaperle created D54553: [clangd] Fix crash hovering on non-decltype trailing return.
Nov 14 2018, 3:51 PM

Nov 11 2018

malaperle added a comment to D52273: [clangd] Initial implementation of expected types.

What is the goal for doing this without the AST? Is the goal to not have to keep the AST and save memory?

Nov 11 2018, 1:28 PM

Oct 29 2018

malaperle committed rLLDB345563: [lldb-mi] Implement -gdb-set breakpoint pending on/off.
[lldb-mi] Implement -gdb-set breakpoint pending on/off
Oct 29 2018, 8:14 PM
malaperle committed rL345563: [lldb-mi] Implement -gdb-set breakpoint pending on/off.
[lldb-mi] Implement -gdb-set breakpoint pending on/off
Oct 29 2018, 8:13 PM
malaperle closed D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.
Oct 29 2018, 8:13 PM · Restricted Project
malaperle added a comment to D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

LGTM.

Oct 29 2018, 8:10 PM · Restricted Project

Oct 28 2018

malaperle added a comment to D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

Simply checks

Oct 28 2018, 10:06 PM · Restricted Project
malaperle updated the diff for D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

Simply checks

Oct 28 2018, 10:01 PM · Restricted Project
malaperle updated the diff for D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

Remove need for second -file-exec-and-symbols

Oct 28 2018, 11:45 AM · Restricted Project
malaperle added inline comments to D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.
Oct 28 2018, 11:42 AM · Restricted Project
malaperle added a comment to D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

I ran the test and got a fail:

Oct 28 2018, 11:38 AM · Restricted Project

Oct 27 2018

malaperle added inline comments to D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.
Oct 27 2018, 10:22 PM · Restricted Project
malaperle updated the diff for D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

Fixes to lit test

Oct 27 2018, 10:21 PM · Restricted Project

Oct 26 2018

malaperle updated the diff for D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

Convert to lit test, convert some code to an early return, clang-format.

Oct 26 2018, 8:58 PM · Restricted Project

Oct 19 2018

malaperle updated the diff for D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

Clang-format it

Oct 19 2018, 9:38 PM · Restricted Project

Oct 18 2018

malaperle added a comment to D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

And there is no reviewers set :)

Oct 18 2018, 9:27 PM · Restricted Project
malaperle added a comment to D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.

Gentle ping?

Oct 18 2018, 7:47 PM · Restricted Project

Oct 5 2018

malaperle set the repository for D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off to rL LLVM.
Oct 5 2018, 3:49 PM · Restricted Project
malaperle created D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off.
Oct 5 2018, 3:47 PM · Restricted Project

Sep 15 2018

malaperle added a comment to D52089: [clangd] Get rid of AST matchers in SymbolCollector. NFC.

why?

I wanted to get some numbers and update the patch summary, but somehow forgot. Sorry about that and thanks for asking!

The AST matcher pops up in performance profile. Although not the most expensive thing we could optimize, this still brings indexAST latency from ~5.3s to ~4.4s for a large TU with big preamble.

Sep 15 2018, 4:47 PM

Sep 14 2018

malaperle added a comment to D52089: [clangd] Get rid of AST matchers in SymbolCollector. NFC.

why?

Sep 14 2018, 6:42 PM

Aug 18 2018

malaperle added a comment to D50703: [clangd] NFC: Mark Workspace Symbol feature complete in the documentation.

I hadn't marked it as done because without symbols in main files I found it quite lacking.

Ah, I see, thank you for spotting it! I was under the impression that it's feature-complete. Should I mark it "Partial" until this is fixed then?

Aug 18 2018, 10:17 AM · Restricted Project

Aug 17 2018

malaperle added a comment to D50703: [clangd] NFC: Mark Workspace Symbol feature complete in the documentation.

I hadn't marked it as done because without symbols in main files I found it quite lacking.

Aug 17 2018, 6:05 PM · Restricted Project

Aug 4 2018

malaperle added a comment to D48903: [VirtualFileSystem] InMemoryFileSystem::status: Return a Status with the requested name.

Both check-clang and check-clang-tools pass successfully for me on Windows with the patch.

Aug 4 2018, 9:42 AM

Aug 3 2018

malaperle added a comment to D48903: [VirtualFileSystem] InMemoryFileSystem::status: Return a Status with the requested name.

If somebody else could run the tests on Windows, it would make me a bit more confident too.

Which tests/targets exactly? If you know

Aug 3 2018, 10:04 PM
malaperle added a comment to D48903: [VirtualFileSystem] InMemoryFileSystem::status: Return a Status with the requested name.

If somebody else could run the tests on Windows, it would make me a bit more confident too.

Aug 3 2018, 7:31 PM

Jul 31 2018

malaperle added a comment to D49833: [clangd] Receive compilationDatabasePath in 'initialize' request.

@simark would you mind finishing this patch and committing it? I won't be able to finish it given that I started it at a different company, etc.

Jul 31 2018, 9:22 AM

Jul 30 2018

malaperle added a comment to D49833: [clangd] Receive compilationDatabasePath in 'initialize' request.

Was there any objection to this patch? It would have been nice to have this before the branching.

Jul 30 2018, 8:27 PM

Jul 27 2018

malaperle planned changes to D49920: [clangd] [WIP] Find references of local symbols.

Needs tests.

Jul 27 2018, 12:02 PM
malaperle updated the diff for D49920: [clangd] [WIP] Find references of local symbols.

Fix silly bug I introduced in last minute clean-up.

Jul 27 2018, 12:01 PM
malaperle added a reviewer for D49920: [clangd] [WIP] Find references of local symbols: simark.
Jul 27 2018, 10:51 AM
malaperle created D49920: [clangd] [WIP] Find references of local symbols.
Jul 27 2018, 10:50 AM

Jul 26 2018

malaperle added a comment to D49833: [clangd] Receive compilationDatabasePath in 'initialize' request.

Not strictly opposed to this change, but is there any reason why the clients can't guarantee they'll send didChangeConfiguration right after clangd is initialized?

Jul 26 2018, 12:54 PM
malaperle edited reviewers for D49758: [clangd] allow clients to pass in compilationDatabaseChanges in the 'workspace/didChangeConfiguration' request, added: malaperle; removed: malaperle-ericsson.
Jul 26 2018, 10:25 AM · Restricted Project

Jul 25 2018

malaperle added a reviewer for D49833: [clangd] Receive compilationDatabasePath in 'initialize' request: simark.
Jul 25 2018, 8:48 PM
malaperle created D49833: [clangd] Receive compilationDatabasePath in 'initialize' request.
Jul 25 2018, 8:47 PM

Jul 24 2018

malaperle added inline comments to D49267: [clangd] Watch for changes in compile_commands.json.
Jul 24 2018, 7:47 AM

Jul 20 2018

malaperle added a comment to D49523: [clangd] Add support for per-file override compilation command.

Interesting! We also have a need for passing compilation commands in a context where there is no compile_commands.json, but we were thinking of putting this in a "didChangeConfiguration" message so that all the commands would be available even before files are opened. This would be allow Clangd to have the necessary information for background indexing which would include unopened files. Subsequent changes to compilation commands would probably go through a similar didChangeConfiguration and the appropriate (opened) files would get reparsed (not unlike D49267). I'm making a few guesses here: I assume that in the context of XCode, you would not do background indexing in Clangd but let XCode do it as it can also coordinate (and not overlap) with build tasks. Is that correct? In any case, I think the approach in the patch is not incompatible with what we had in mind, i.e. we could also reuse "overrideCompilationCommandForFile" for each file specified in didChangeConfiguration. I'm point this out because if you *do* end up needing all the compilation commands beforehand like I mentioned, then maybe we can skip the approach of specifying them with didOpen and send them all with didChangeConfiguration from start.

Thanks for your response,
As it stands right now we will not run the indexer in Clangd for our use case, and it's unclear if we can even assemble a set of compile commands, so we would like to provide the commands when a file is open. We might be interested in a "didChangeConfiguration" message extension in the future (ideally it would be possible to change the subset of the constructed compilation database).

Jul 20 2018, 7:35 AM · Restricted Project

Jul 18 2018

malaperle added a comment to D49523: [clangd] Add support for per-file override compilation command.

Interesting! We also have a need for passing compilation commands in a context where there is no compile_commands.json, but we were thinking of putting this in a "didChangeConfiguration" message so that all the commands would be available even before files are opened. This would be allow Clangd to have the necessary information for background indexing which would include unopened files. Subsequent changes to compilation commands would probably go through a similar didChangeConfiguration and the appropriate (opened) files would get reparsed (not unlike D49267). I'm making a few guesses here: I assume that in the context of XCode, you would not do background indexing in Clangd but let XCode do it as it can also coordinate (and not overlap) with build tasks. Is that correct? In any case, I think the approach in the patch is not incompatible with what we had in mind, i.e. we could also reuse "overrideCompilationCommandForFile" for each file specified in didChangeConfiguration. I'm point this out because if you *do* end up needing all the compilation commands beforehand like I mentioned, then maybe we can skip the approach of specifying them with didOpen and send them all with didChangeConfiguration from start.

Jul 18 2018, 7:59 PM · Restricted Project
malaperle updated subscribers of D49523: [clangd] Add support for per-file override compilation command.
Jul 18 2018, 7:26 PM · Restricted Project

Jul 10 2018

malaperle updated subscribers of D40992: Add index-while-building support to Clang - Part 2.
Jul 10 2018, 11:14 AM

Jul 9 2018

malaperle committed rCTE336550: [clangd] Mark "Document Symbols" as implemented in the docs.
[clangd] Mark "Document Symbols" as implemented in the docs
Jul 9 2018, 7:39 AM
malaperle committed rL336550: [clangd] Mark "Document Symbols" as implemented in the docs.
[clangd] Mark "Document Symbols" as implemented in the docs
Jul 9 2018, 7:39 AM
malaperle closed D48996: [clangd] Mark "Document Symbols" as implemented in the docs.
Jul 9 2018, 7:39 AM

Jul 5 2018

malaperle created D48996: [clangd] Mark "Document Symbols" as implemented in the docs.
Jul 5 2018, 2:09 PM
malaperle committed rCTE336386: [clangd] Implementation of textDocument/documentSymbol.
[clangd] Implementation of textDocument/documentSymbol
Jul 5 2018, 12:40 PM
malaperle committed rL336386: [clangd] Implementation of textDocument/documentSymbol.
[clangd] Implementation of textDocument/documentSymbol
Jul 5 2018, 12:40 PM
malaperle closed D47846: [clangd] Implementation of textDocument/documentSymbol.
Jul 5 2018, 12:40 PM
malaperle added a comment to D47846: [clangd] Implementation of textDocument/documentSymbol.

Thanks a lot for the great comments (as always)!

Jul 5 2018, 12:01 PM
malaperle updated the diff for D47846: [clangd] Implementation of textDocument/documentSymbol.

Address comments.

Jul 5 2018, 12:01 PM

Jul 2 2018

malaperle updated the diff for D47846: [clangd] Implementation of textDocument/documentSymbol.

Rebased.

Jul 2 2018, 9:37 AM
malaperle committed rCTE336119: [clangd] Implement hover for "auto" and "decltype".
[clangd] Implement hover for "auto" and "decltype"
Jul 2 2018, 9:33 AM
malaperle committed rL336119: [clangd] Implement hover for "auto" and "decltype".
[clangd] Implement hover for "auto" and "decltype"
Jul 2 2018, 9:33 AM
malaperle closed D48159: [clangd] Implement hover for "auto" and "decltype".
Jul 2 2018, 9:33 AM
malaperle added inline comments to D48159: [clangd] Implement hover for "auto" and "decltype".
Jul 2 2018, 9:28 AM
malaperle updated the diff for D48159: [clangd] Implement hover for "auto" and "decltype".

Tweak comment with FIXME.

Jul 2 2018, 9:28 AM

Jun 29 2018

malaperle updated the diff for D48159: [clangd] Implement hover for "auto" and "decltype".

Add comment about AutoTypeLoc work-around.

Jun 29 2018, 9:38 PM
malaperle updated the diff for D47846: [clangd] Implementation of textDocument/documentSymbol.

Fix handling of externs, definition vs declaration and call more common code.

Jun 29 2018, 9:16 PM
malaperle added inline comments to D47846: [clangd] Implementation of textDocument/documentSymbol.
Jun 29 2018, 1:22 PM

Jun 28 2018

malaperle added inline comments to D48159: [clangd] Implement hover for "auto" and "decltype".
Jun 28 2018, 1:41 PM
malaperle removed a reviewer for D48687: [clangd] Avoid duplicates in findDefinitions response: malaperle-ericsson.
Jun 28 2018, 7:36 AM
malaperle added a comment to D48687: [clangd] Avoid duplicates in findDefinitions response.

Thanks for the patch!
Could we try to figure out why the duplicates were there in the first place and why the paths were different?

I tried to do that, but it goes deep in the clang internals with which I'm not familiar. All I could see was that when creating the FileEntry representing the /home/emaisin/src/ls-interact/cpp-test/build/../src/first.h file, FileManager::getFile is called with OpenFile=false. This makes it so that the RealPathName field is not set (at FileManager.cpp:320). Because RealPathName is not set (well, empty), we use the non-normalized name in getAbsoluteFilePath. That's all I can tell.

Jun 28 2018, 5:59 AM