Page MenuHomePhabricator

benlangmuir (Ben Langmuir)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 5 2013, 8:31 AM (397 w, 4 d)

Recent Activity

Jul 14 2020

benlangmuir committed rG3c890c2b44ac: Forward WrapperFrontendAction::shouldEraseOutputFiles() (authored by benlangmuir).
Forward WrapperFrontendAction::shouldEraseOutputFiles()
Jul 14 2020, 4:38 PM
benlangmuir committed rGa24b128a96da: [pch] Honour -fallow-pch-with-compiler-errors for overall compilation status (authored by benlangmuir).
[pch] Honour -fallow-pch-with-compiler-errors for overall compilation status
Jul 14 2020, 4:38 PM
GitHub <noreply@github.com> committed rG7b936c2ffc6c: Merge pull request #767 from benlangmuir/cp-fsevents-misuse-and-race (authored by benlangmuir).
Merge pull request #767 from benlangmuir/cp-fsevents-misuse-and-race
Jul 14 2020, 4:22 PM
benlangmuir committed rG1d1117f2cd06: [DirectoryWatcher] Fix misuse of FSEvents API and data race (authored by benlangmuir).
[DirectoryWatcher] Fix misuse of FSEvents API and data race
Jul 14 2020, 4:22 PM
GitHub <noreply@github.com> committed rG96f1c5bfda70: Merge pull request #710 from benlangmuir/create-unit-dir-20200108 (authored by benlangmuir).
Merge pull request #710 from benlangmuir/create-unit-dir-20200108
Jul 14 2020, 4:19 PM
benlangmuir committed rG3fa970bb4f4e: [indexstore] Create unit directory if it does not exist before watching (authored by benlangmuir).
[indexstore] Create unit directory if it does not exist before watching
Jul 14 2020, 4:19 PM
GitHub <noreply@github.com> committed rGcc96bc549ac2: Merge pull request #643 from benlangmuir/fix-event_kind-abi-stable (authored by benlangmuir).
Merge pull request #643 from benlangmuir/fix-event_kind-abi-stable
Jul 14 2020, 4:15 PM
benlangmuir committed rG09dfeb421c13: [indexstore] Fix ABI of indexstore_unit_event_kind_t (authored by benlangmuir).
[indexstore] Fix ABI of indexstore_unit_event_kind_t
Jul 14 2020, 4:15 PM

Mar 31 2020

benlangmuir committed rGc322d328aa33: Forward WrapperFrontendAction::shouldEraseOutputFiles() (authored by benlangmuir).
Forward WrapperFrontendAction::shouldEraseOutputFiles()
Mar 31 2020, 4:35 PM
benlangmuir closed D77180: Forward WrapperFrontendAction::shouldEraseOutputFiles().
Mar 31 2020, 4:35 PM · Restricted Project
benlangmuir created D77180: Forward WrapperFrontendAction::shouldEraseOutputFiles().
Mar 31 2020, 3:28 PM · Restricted Project
benlangmuir committed rGcc3fddb411d5: [pch] Honour -fallow-pch-with-compiler-errors for overall compilation status (authored by benlangmuir).
[pch] Honour -fallow-pch-with-compiler-errors for overall compilation status
Mar 31 2020, 2:20 PM
benlangmuir closed D77159: [pch] Honour -fallow-pch-with-compiler-errors for overall compilation status.
Mar 31 2020, 2:19 PM · Restricted Project
benlangmuir created D77159: [pch] Honour -fallow-pch-with-compiler-errors for overall compilation status.
Mar 31 2020, 12:33 PM · Restricted Project

Mar 30 2020

benlangmuir added inline comments to rL215455: Verify all the module map files for a pcm are the same on load.
Mar 30 2020, 9:44 AM

Mar 17 2020

benlangmuir added inline comments to D76291: [Support] Fix formatted_raw_ostream for UTF-8.
Mar 17 2020, 11:49 AM · Restricted Project, Restricted Project

Mar 16 2020

benlangmuir added inline comments to D70720: [llvm-objdump] Display locations of variables alongside disassembly.
Mar 16 2020, 4:57 PM · debug-info, Restricted Project

Feb 11 2020

benlangmuir committed rG2ac0c4b46ee2: [DirectoryWatcher] Fix misuse of FSEvents API and data race (authored by benlangmuir).
[DirectoryWatcher] Fix misuse of FSEvents API and data race
Feb 11 2020, 9:36 AM
benlangmuir closed D74371: [DirectoryWatcher] Fix misuse of FSEvents API and data race.
Feb 11 2020, 9:36 AM · Restricted Project

Feb 10 2020

benlangmuir created D74371: [DirectoryWatcher] Fix misuse of FSEvents API and data race.
Feb 10 2020, 5:50 PM · Restricted Project

Dec 12 2019

benlangmuir committed rGc7bb59aa7457: [darwin] Set 'darwin' feature to fix tests using UNSUPPORTED/REQUIRES (authored by benlangmuir).
[darwin] Set 'darwin' feature to fix tests using UNSUPPORTED/REQUIRES
Dec 12 2019, 3:41 PM
GitHub <noreply@github.com> committed rG741c24b79257: Merge pull request #105 from benlangmuir/darwin-feature (authored by benlangmuir).
Merge pull request #105 from benlangmuir/darwin-feature
Dec 12 2019, 3:41 PM
GitHub <noreply@github.com> committed rG9a030be9a6cb: Merge pull request #288 from kastiglione/indexstore-flag_enum (authored by benlangmuir).
Merge pull request #288 from kastiglione/indexstore-flag_enum
Dec 12 2019, 2:58 PM
GitHub <noreply@github.com> committed rG663dfd196af2: Merge pull request #281 from kastiglione/indexstore-noescape (authored by benlangmuir).
Merge pull request #281 from kastiglione/indexstore-noescape
Dec 12 2019, 1:20 PM

Oct 29 2019

benlangmuir committed rGf2f4bccf5a90: [indexstore] Fix indexstore.h to compile in C (authored by benlangmuir).
[indexstore] Fix indexstore.h to compile in C
Oct 29 2019, 5:23 PM
benlangmuir committed rG8ae004436b5e: [c-index-test] Use BuryPointer for an intentional leak (authored by benlangmuir).
[c-index-test] Use BuryPointer for an intentional leak
Oct 29 2019, 3:25 PM
benlangmuir committed rG5c9882c0be6f: [indexstore] Add unresolved-using declaration support to indexstore (authored by benlangmuir).
[indexstore] Add unresolved-using declaration support to indexstore
Oct 29 2019, 3:05 PM
benlangmuir committed rGfe7b927ef9a3: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by benlangmuir).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 3:05 PM
benlangmuir committed rG5480dba1c170: [index] Fix a crash indexing a non-canonical template declaration (authored by benlangmuir).
[index] Fix a crash indexing a non-canonical template declaration
Oct 29 2019, 3:04 PM
benlangmuir committed rGddddfa0063fd: [index] Add a test for a crash with unnamed NamedDecls (authored by benlangmuir).
[index] Add a test for a crash with unnamed NamedDecls
Oct 29 2019, 2:58 PM
benlangmuir committed rGcd0eeb6483ed: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by benlangmuir).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 2:58 PM
benlangmuir committed rG77199ce5df85: Merge remote-tracking branch 'origin/master' into upstream-with-swift (authored by benlangmuir).
Merge remote-tracking branch 'origin/master' into upstream-with-swift
Oct 29 2019, 12:51 PM
benlangmuir committed rG1caeddb1c555: Merge remote-tracking branch 'origin/master' into upstream-with-swift (authored by benlangmuir).
Merge remote-tracking branch 'origin/master' into upstream-with-swift
Oct 29 2019, 12:51 PM
benlangmuir committed rGb84dbfff739f: Allow modules specified by -fmodule-map-file to shadow implicitly found ones (authored by benlangmuir).
Allow modules specified by -fmodule-map-file to shadow implicitly found ones
Oct 29 2019, 12:21 PM
benlangmuir edited reviewers for D69575: Improve module.pcm lock file performance on machines with high core counts, added: bruno; removed: benlangmuir.

I haven't work on this in a long time; replacing myself with Bruno as reviewer.

Oct 29 2019, 11:41 AM · Restricted Project

Sep 4 2019

benlangmuir committed rL370989: Request commit access for benlangmuir.
Request commit access for benlangmuir
Sep 4 2019, 2:50 PM

Apr 15 2019

benlangmuir added a comment to D60735: [FileSystemStatCache] Return std::error_code from stat cache methods.

LGTM, but I'd appreciate someone who has worked on this more recently taking a look.

Apr 15 2019, 3:43 PM · Restricted Project

Mar 4 2019

benlangmuir added inline comments to D58924: Replace clang::FileData with llvm::vfs::Status.
Mar 4 2019, 6:13 PM · Restricted Project, Restricted Project
benlangmuir accepted D58924: Replace clang::FileData with llvm::vfs::Status.

LGTM, although I made a small suggestion for clarity. FYI InPCH was used by PTH, which was removed a couple of months ago.

Mar 4 2019, 6:05 PM · Restricted Project, Restricted Project

Feb 12 2019

benlangmuir added a comment to D57965: Clean up ObjCPropertyDecl printing.

@property(attr, attr2) instead of @property ( attr,attr2 ).

Feb 12 2019, 1:54 PM · Restricted Project, Restricted Project
benlangmuir updated subscribers of D57965: Clean up ObjCPropertyDecl printing.

@arphaman @akyrtzi could you take a look at this?

Feb 12 2019, 1:54 PM · Restricted Project, Restricted Project

Nov 14 2018

benlangmuir added a comment to D54529: [clangd] Add USR to textDocument/definition response.

@sammccall RE using USRs: we want to integrate clangd into a larger source tooling system that is already using USRs extensively to identify symbols. The most obvious case is that we have an index outside of clangd that uses USRs from clang-the-compiler, so exposing USRs in clangd lets us integrate information from both places. The most critical piece of this is being able to ask "what symbol is at this location" and correlate that with index queries. Beyond this one case, my experience is that any time a language service API is providing information about a symbol or list of symbols it may be useful to add the USR (e.g. hover, definition or workspace symbols).

Nov 14 2018, 10:50 AM · Restricted Project

Oct 4 2018

benlangmuir accepted D52783: Lift VFS from clang to llvm.

LGTM

Oct 4 2018, 8:32 AM

Jul 9 2018

benlangmuir accepted D48685: [PCH+Modules] Load -fmodule-map-file content before including PCHs.

LGTM

Jul 9 2018, 11:52 AM

May 24 2018

benlangmuir closed D47273: [bash-completion] Fix tab separation on macOS.

r333202

May 24 2018, 9:30 AM
benlangmuir committed rC333202: [bash-completion] Fix tab separation on macOS.
[bash-completion] Fix tab separation on macOS
May 24 2018, 9:29 AM
benlangmuir committed rL333202: [bash-completion] Fix tab separation on macOS.
[bash-completion] Fix tab separation on macOS
May 24 2018, 9:29 AM

May 23 2018

benlangmuir updated the diff for D47273: [bash-completion] Fix tab separation on macOS.

Thanks for looking up the supported bash version! Updated diff.

May 23 2018, 1:33 PM
benlangmuir added a comment to D47273: [bash-completion] Fix tab separation on macOS.
sed -e "$(echo -e 's/\t.*//')"
May 23 2018, 12:25 PM
benlangmuir added a comment to D47273: [bash-completion] Fix tab separation on macOS.

I wonder if you could replace \t with \0x09. At least it works on my machine which has GNU sed.

May 23 2018, 11:49 AM
benlangmuir created D47273: [bash-completion] Fix tab separation on macOS.
May 23 2018, 11:28 AM

Mar 23 2018

benlangmuir closed D44652: [vfs] Don't bail out after a missing -ivfsoverlay file.

r328337

Mar 23 2018, 10:40 AM
benlangmuir committed rC328337: [vfs] Don't bail out after a missing -ivfsoverlay file.
[vfs] Don't bail out after a missing -ivfsoverlay file
Mar 23 2018, 10:40 AM
benlangmuir committed rL328337: [vfs] Don't bail out after a missing -ivfsoverlay file.
[vfs] Don't bail out after a missing -ivfsoverlay file
Mar 23 2018, 10:40 AM

Mar 19 2018

benlangmuir created D44652: [vfs] Don't bail out after a missing -ivfsoverlay file.
Mar 19 2018, 5:04 PM

Dec 21 2017

benlangmuir added a comment to D41526: [libclang] Avoid builtin trap for __debug parser_crash pragma.

Did you consider just using a different pragma that triggers this behaviour instead of avoiding the crash? I don't really have a strong preference but I'd be interested to hear what you think the pros/cons are.

Dec 21 2017, 3:50 PM

Nov 14 2017

benlangmuir requested changes to D39990: Use TempFile in the implementation of LockFileManager.

Spotted one issue, but otherwise seems okay to me. I'd like @bruno to take a look at this, because he's thought about this code much more recently than me.

Nov 14 2017, 11:18 AM

Aug 30 2017

benlangmuir added a comment to D34512: Add preliminary Cross Translation Unit support library.

In either case, the important scenario I think we should support is choosing at a call site to a C function the most likely definition of the called function, based on number and type of parameters, from multiple possible definitions in other translation units. If the API is rich enough to support this then I think that is a good indication it will be useful for other scenarios as well.

Note that the lookup is already based on USR which is similar to mangled names in a sense that it contains information about the function parameters. So the only way to get multiple candidates from the lookup is having multiple function definitions with the same signature.

Aug 30 2017, 9:53 AM

Aug 16 2017

benlangmuir committed rL311053: [index] Add indexing for unresolved-using declarations.
[index] Add indexing for unresolved-using declarations
Aug 16 2017, 4:14 PM

Jul 21 2017

benlangmuir committed rL308800: [index] Set SymbolSubKind::Accessor[GS]etter on class methods.
[index] Set SymbolSubKind::Accessor[GS]etter on class methods
Jul 21 2017, 4:05 PM

Jul 12 2017

benlangmuir committed rL307855: [index] Don't add relation to a NamedDecl with no name.
[index] Don't add relation to a NamedDecl with no name
Jul 12 2017, 3:05 PM

Jun 21 2017

benlangmuir accepted D34462: [index] "SpecializationOf" relation should be added even to forward declarations of class template specializations.
Jun 21 2017, 10:20 AM

Jun 20 2017

benlangmuir accepted D34392: [index] Nested class declarations should be annotated with the "specializationOf" relation if they pseudo-override a type in the base template.
Jun 20 2017, 10:41 AM

Jun 16 2017

benlangmuir added a comment to D34263: [preprocessor] When preprocessor option 'SingleFileParseMode' is enabled, parse all directive blocks if the condition uses undefined macros.

Thanks, this looks good to me. I'd appreciate if @klimek could take a quick look though.

Jun 16 2017, 2:51 PM
benlangmuir added inline comments to D34263: [preprocessor] When preprocessor option 'SingleFileParseMode' is enabled, parse all directive blocks if the condition uses undefined macros.
Jun 16 2017, 11:23 AM
benlangmuir added a comment to D34263: [preprocessor] When preprocessor option 'SingleFileParseMode' is enabled, parse all directive blocks if the condition uses undefined macros.

It would be nice if the doc comment for the single file parse mode flag was updated to include this new functionality.

Jun 16 2017, 10:34 AM
benlangmuir accepted D34256: [PR33394] Avoid lexing editor placeholders when running the preprocessor only.

LGTM, thanks!

Jun 16 2017, 9:30 AM

Jun 15 2017

benlangmuir added a comment to D34256: [PR33394] Avoid lexing editor placeholders when running the preprocessor only.

I agree with not detecting these during PP-only, but there's nothing wrong with <#>. It's either not a placeholder, or it's part of a placeholder like <#>#>, which is a placeholder containing the text ">". Similarly, <## could be the start of an empty placeholder <##>.

Jun 15 2017, 4:21 PM

Jun 14 2017

benlangmuir accepted D33913: [index] Index static_assert declarations.
Jun 14 2017, 3:02 PM
benlangmuir accepted D33920: [index] Record C++17 binding declarations.
Jun 14 2017, 3:01 PM
benlangmuir accepted D34173: [Completion] Code complete the members for a dependent type after a '::' .
Jun 14 2017, 3:01 PM

May 30 2017

benlangmuir committed rL304239: [llvm-config] Fix cflags test looking for "warning".
[llvm-config] Fix cflags test looking for "warning"
May 30 2017, 1:22 PM

May 18 2017

benlangmuir accepted D33324: [index] Avoid infinite recursion when looking up a dependent name.

LGTM. One stylistic comment, but I'll leave that up to you.

May 18 2017, 10:42 AM

May 9 2017

benlangmuir accepted D32972: [index] Index simple dependent declaration references.

A couple of minor comments, but otherwise LGTM.

May 9 2017, 9:29 AM

Apr 20 2017

benlangmuir accepted D32020: [indexer] The relationship between the declarations in template specializations that 'override' declarations in the base template should be recorded.
Apr 20 2017, 8:45 AM

Apr 18 2017

benlangmuir accepted D32081: Add support for editor placeholders to Clang's lexer.
Apr 18 2017, 10:11 AM
benlangmuir added inline comments to D32081: Add support for editor placeholders to Clang's lexer.
Apr 18 2017, 8:48 AM

Apr 14 2017

benlangmuir added a comment to D32081: Add support for editor placeholders to Clang's lexer.

What do you think about a hybrid approach: Don't suppress diagnostics in the placeholder range when we handle the placeholders in parser/sema, but do suppress the range when the placeholder isn't explicitly handled?

Apr 14 2017, 1:40 PM
benlangmuir accepted D32010: [indexer] Record class template specializations using a new 'SpecializationOf' relationship.

LGTM

Apr 14 2017, 11:39 AM
benlangmuir added a comment to D32081: Add support for editor placeholders to Clang's lexer.

Rather than stick ranges into the diagnostic engine, I think it would be cleaner to have the identifier have a method like isEditorPlaceholder() that can be used to avoid situations like this in a principled way, or to customize behaviour for placeholders in the parser, etc. That's how we are handling it in Swift. Using an API on the placeholder is also better for handling errors that could be caused by the placeholder but not have it as the primary location.

Apr 14 2017, 11:27 AM

Mar 17 2017

benlangmuir accepted D28299: Module: use PCMCache to manage memory buffers for pcm files..
Mar 17 2017, 9:58 AM

Feb 10 2017

benlangmuir accepted D28286: [CodeCompletion] Code complete the missing C++11 keywords.

LGTM

Feb 10 2017, 7:24 AM

Jan 20 2017

benlangmuir accepted D28299: Module: use PCMCache to manage memory buffers for pcm files..

Sorry for the delay, I though you were still iterating with @aprantl for some reason. LGTM

Jan 20 2017, 9:49 AM

Jan 10 2017

benlangmuir added inline comments to D28299: Module: use PCMCache to manage memory buffers for pcm files..
Jan 10 2017, 4:11 PM

Jan 9 2017

benlangmuir added a comment to D28415: PCH: fix a regression that reports a module is defined in both pch and pcm.

LGTM

Jan 9 2017, 9:38 AM

Jan 4 2017

benlangmuir added a comment to D28299: Module: use PCMCache to manage memory buffers for pcm files..

Can we test the already-validated diagnostics?

Jan 4 2017, 3:56 PM

Nov 15 2016

benlangmuir added a comment to D25916: Modules: emit an error instead of a random crash (or a misleading error) due to use-after-free..

I'm inclined to suggest we break that behaviour with modules and treat a user module the same no matter where it was imported. @rsmith, what do you think?

Nov 15 2016, 11:24 AM

Nov 14 2016

benlangmuir added a comment to D25916: Modules: emit an error instead of a random crash (or a misleading error) due to use-after-free..

Does it mean that a system module should only import system modules? If a system module is allowed to import non-system modules, for a non-system module, we will validate diagnostic options differently depending on whether a system module or a non-system module imports it. This will cause a non-system module that was validated earlier to be invalidated by a child thread.

Nov 14 2016, 1:26 PM

Nov 8 2016

benlangmuir accepted D25948: [VFS] Replace TimeValue usage with std::chrono.

LGTM, sorry for the delay.

Nov 8 2016, 9:31 AM

Aug 25 2016

benlangmuir added a comment to D23858: Don't diagnose non-modular includes when we are not compiling a module.

LGTM, but @rsmith should glance at this too.

Aug 25 2016, 8:50 AM

Aug 11 2016

benlangmuir added a comment to D23422: [VFS] Add 'ignore-non-existent-contents' field to YAML.

This should have a test for the writer change. Otherwise LGTM.

Aug 11 2016, 2:48 PM

Aug 9 2016

benlangmuir accepted D23125: Modules: add command line option to support loading prebuilt modules on demand, without parsing any module map.

Still missing the change for if (IsPrebuilt) {, but otherwise LGTM.

Aug 9 2016, 4:10 PM
benlangmuir added a comment to D23125: Modules: add command line option to support loading prebuilt modules on demand, without parsing any module map.

Sorry for the delay, I apparently forgot to hit submit. Replied inline.

Aug 9 2016, 9:09 AM

Aug 3 2016

benlangmuir added a comment to D23125: Modules: add command line option to support loading prebuilt modules on demand, without parsing any module map.

How about -fmodules-use-prebuilt-module-cache for the flag name? Saying "prebuilt-modules" is confusing to me, since -fmodule-file can also be used to load a prebuilt module, but doesn't use a cache.

Aug 3 2016, 11:09 AM

Jul 26 2016

benlangmuir accepted D22773: Modules: add command line option fmodules-disable-diagnostic-validation to disable validation of the diagnostic options when loading the module.

LGTM

Jul 26 2016, 9:39 AM

Jul 25 2016

benlangmuir added a comment to D22773: Modules: add command line option fmodules-disable-diagnostic-validation to disable validation of the diagnostic options when loading the module.

the pcm could still be rewritten by a compilation that doesn't use a PCH, and then it would be out of date because of the timestamp instead of the diagnostic options

"a compilation that doesn't use a PCH", is that a different project? And we have two projects building in parallel? Just to make sure I understand.

Jul 25 2016, 4:42 PM
benlangmuir added a comment to D22773: Modules: add command line option fmodules-disable-diagnostic-validation to disable validation of the diagnostic options when loading the module.

We need to add this option to the module hash (see getModuleHash - we already add a bunch of other HSOpts there). Otherwise the pcm could still be rewritten by a compilation that doesn't use a PCH, and then it would be out of date because of the timestamp instead of the diagnostic options.

Jul 25 2016, 2:47 PM

Jul 22 2016

benlangmuir added a comment to D22636: Module: retry building modules that were just compiled by the same instance and are are out of date.

Can you point me to the source codes where we use rename to replace the file? I am curious on how this all works out.

Jul 22 2016, 10:59 AM

Jul 21 2016

benlangmuir added a comment to D22636: Module: retry building modules that were just compiled by the same instance and are are out of date.

B.pcm becomes out of date when we try to load module "A", because another instance overwrites "B.pcm"

Jul 21 2016, 11:36 AM

Jul 14 2016

benlangmuir committed rL275496: Remove the new module cache from the index-module test.
Remove the new module cache from the index-module test
Jul 14 2016, 4:00 PM