Page MenuHomePhabricator

arphaman (Alex Lorenz)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 25 2014, 4:17 PM (237 w, 6 d)

Recent Activity

Yesterday

arphaman accepted D54428: [clangd] XPC transport layer, framework, test-client.

LGTM

Tue, Jan 15, 11:20 AM

Mon, Jan 14

arphaman accepted D56523: Improve a -Wunguarded-availability note.

LGTM

Mon, Jan 14, 11:00 AM

Fri, Jan 11

arphaman accepted D56608: [Darwin][Driver] Don't pass a file as object_path_lto during ThinLTO.

LGTM

Fri, Jan 11, 11:29 AM
arphaman added inline comments to D56608: [Darwin][Driver] Don't pass a file as object_path_lto during ThinLTO.
Fri, Jan 11, 10:57 AM

Wed, Jan 9

arphaman committed rL350768: [ObjC] Allow the use of implemented unavailable methods from within.
[ObjC] Allow the use of implemented unavailable methods from within
Wed, Jan 9, 2:35 PM
arphaman committed rC350768: [ObjC] Allow the use of implemented unavailable methods from within.
[ObjC] Allow the use of implemented unavailable methods from within
Wed, Jan 9, 2:35 PM
arphaman closed D56469: [ObjC] Allow the use of implemented unavailable methods from within the @implementation context .
Wed, Jan 9, 2:35 PM
arphaman updated the diff for D56469: [ObjC] Allow the use of implemented unavailable methods from within the @implementation context .

Address review comments.

Wed, Jan 9, 12:24 PM
arphaman added inline comments to D56469: [ObjC] Allow the use of implemented unavailable methods from within the @implementation context .
Wed, Jan 9, 11:00 AM

Tue, Jan 8

arphaman created D56469: [ObjC] Allow the use of implemented unavailable methods from within the @implementation context .
Tue, Jan 8, 6:08 PM
arphaman committed rC350680: [libclang] Fix the mismatched delete operator for ExprEvalResult.
[libclang] Fix the mismatched delete operator for ExprEvalResult
Tue, Jan 8, 3:32 PM
arphaman committed rL350680: [libclang] Fix the mismatched delete operator for ExprEvalResult.
[libclang] Fix the mismatched delete operator for ExprEvalResult
Tue, Jan 8, 3:32 PM
arphaman committed rC350666: [libclang] Recommit r336590 with a fix for the memory leak in the test.
[libclang] Recommit r336590 with a fix for the memory leak in the test
Tue, Jan 8, 2:36 PM
arphaman committed rL350666: [libclang] Recommit r336590 with a fix for the memory leak in the test.
[libclang] Recommit r336590 with a fix for the memory leak in the test
Tue, Jan 8, 2:36 PM
arphaman accepted D56446: [Driver] Fix libcxx detection on Darwin with clang run as ./clang.

That makes sense, LGTM. Thanks!

Tue, Jan 8, 10:33 AM

Thu, Jan 3

arphaman updated the diff for D56226: [clang-format] square parens that are followed by '=' are not Objective-C message sends.

Do not annotate one token [ .... ] expressions as Objective-C message sends as suggested by Duncan.

Thu, Jan 3, 11:24 AM

Wed, Jan 2

arphaman committed rL350283: Fix incorrect column numbers in test from r350282..
Fix incorrect column numbers in test from r350282.
Wed, Jan 2, 5:34 PM
arphaman committed rC350283: Fix incorrect column numbers in test from r350282..
Fix incorrect column numbers in test from r350282.
Wed, Jan 2, 5:34 PM
arphaman committed rL350282: [libclang] CoroutineBody/Coreturn statements are UnexposedStmts and not Exprs.
[libclang] CoroutineBody/Coreturn statements are UnexposedStmts and not Exprs
Wed, Jan 2, 5:17 PM
arphaman committed rC350282: [libclang] CoroutineBody/Coreturn statements are UnexposedStmts and not Exprs.
[libclang] CoroutineBody/Coreturn statements are UnexposedStmts and not Exprs
Wed, Jan 2, 5:17 PM
arphaman created D56226: [clang-format] square parens that are followed by '=' are not Objective-C message sends.
Wed, Jan 2, 3:24 PM
arphaman accepted D56067: Make test/Driver/darwin-sdk-version.c pass if the host triple is 32-bit.

LGTM

Wed, Jan 2, 1:23 PM

Fri, Dec 21

arphaman committed rC349942: Remove stat cache chaining as it's no longer needed after PTH support has been.
Remove stat cache chaining as it's no longer needed after PTH support has been
Fri, Dec 21, 11:36 AM
arphaman committed rL349942: Remove stat cache chaining as it's no longer needed after PTH support has been.
Remove stat cache chaining as it's no longer needed after PTH support has been
Fri, Dec 21, 11:36 AM
arphaman closed D55455: Remove stat cache chaining as it's no longer needed after PTH support has been removed.
Fri, Dec 21, 11:36 AM

Thu, Dec 20

arphaman added a comment to D55823: [analyzer] Fix backward compatibility issue after D53280 'Emit an error for invalid -analyzer-config inputs'.

I think Args.getArgString might return nullptr so that's why you could crash.

Thu, Dec 20, 3:36 PM
arphaman committed rL349841: [ObjC] Messages to 'self' in class methods that return 'instancetype' should.
[ObjC] Messages to 'self' in class methods that return 'instancetype' should
Thu, Dec 20, 2:14 PM
arphaman committed rC349841: [ObjC] Messages to 'self' in class methods that return 'instancetype' should.
[ObjC] Messages to 'self' in class methods that return 'instancetype' should
Thu, Dec 20, 2:14 PM
arphaman closed D36790: [ObjC] Messages to 'self' in class methods that return 'instancetype' should use the pointer to the class as the result type of the message.
Thu, Dec 20, 2:14 PM
arphaman added a comment to D36790: [ObjC] Messages to 'self' in class methods that return 'instancetype' should use the pointer to the class as the result type of the message.

Fixed comment, will commit.

Thu, Dec 20, 2:14 PM

Wed, Dec 19

arphaman added a comment to D55895: NFC: simplify Darwin environment handling.

I think we might need to run it past the internal builds to see if anything breaks.

Wed, Dec 19, 1:21 PM

Mon, Dec 17

arphaman committed rL349393: Make test/Driver/darwin-sdk-version.c pass on hosts < macOS10.14.
Make test/Driver/darwin-sdk-version.c pass on hosts < macOS10.14
Mon, Dec 17, 1:04 PM
arphaman committed rC349393: Make test/Driver/darwin-sdk-version.c pass on hosts < macOS10.14.
Make test/Driver/darwin-sdk-version.c pass on hosts < macOS10.14
Mon, Dec 17, 1:04 PM
arphaman committed rC349388: Fix build after r349380.
Fix build after r349380
Mon, Dec 17, 12:29 PM
arphaman committed rL349388: Fix build after r349380.
Fix build after r349380
Mon, Dec 17, 12:28 PM
arphaman committed rL349382: [darwin][arm64] use the "cyclone" CPU for Darwin even when `-arch`.
[darwin][arm64] use the "cyclone" CPU for Darwin even when `-arch`
Mon, Dec 17, 11:34 AM
arphaman committed rC349382: [darwin][arm64] use the "cyclone" CPU for Darwin even when `-arch`.
[darwin][arm64] use the "cyclone" CPU for Darwin even when `-arch`
Mon, Dec 17, 11:34 AM
arphaman closed D55731: [darwin][arm64] use the "cyclone" CPU for Darwin even when `-arch` is not specified.
Mon, Dec 17, 11:33 AM
arphaman accepted D55775: [Driver] Don't override '-march' when using '-arch x86_64h'.

LGTM

Mon, Dec 17, 11:25 AM
arphaman committed rC349380: [darwin] parse the SDK settings from SDKSettings.json if it exists and.
[darwin] parse the SDK settings from SDKSettings.json if it exists and
Mon, Dec 17, 11:22 AM
arphaman committed rL349380: [darwin] parse the SDK settings from SDKSettings.json if it exists and.
[darwin] parse the SDK settings from SDKSettings.json if it exists and
Mon, Dec 17, 11:22 AM
arphaman closed D55673: [darwin] parse the SDK settings from SDKSettings.json if it exists and pass in the -target-sdk-version to the compiler and backend.
Mon, Dec 17, 11:22 AM
arphaman added inline comments to D55673: [darwin] parse the SDK settings from SDKSettings.json if it exists and pass in the -target-sdk-version to the compiler and backend.
Mon, Dec 17, 10:33 AM

Dec 14 2018

arphaman created D55731: [darwin][arm64] use the "cyclone" CPU for Darwin even when `-arch` is not specified.
Dec 14 2018, 6:45 PM
arphaman updated the diff for D55673: [darwin] parse the SDK settings from SDKSettings.json if it exists and pass in the -target-sdk-version to the compiler and backend.

Ensure test will pass on non-darwin.

Dec 14 2018, 3:48 PM
arphaman added inline comments to D55673: [darwin] parse the SDK settings from SDKSettings.json if it exists and pass in the -target-sdk-version to the compiler and backend.
Dec 14 2018, 3:42 PM
arphaman updated the diff for D55673: [darwin] parse the SDK settings from SDKSettings.json if it exists and pass in the -target-sdk-version to the compiler and backend.

Updated to infer deployment target version from SDK versions specified in the JSON file and to allow inferring the SDK version from the SDK path.

Dec 14 2018, 3:42 PM

Dec 13 2018

arphaman committed rL349119: [macho] save the SDK version stored in module metadata into the version min and.
[macho] save the SDK version stored in module metadata into the version min and
Dec 13 2018, 5:17 PM
arphaman closed D55612: [macho] save the SDK version stored in module metadata into the version min and build version load commands in the object file.
Dec 13 2018, 5:17 PM
arphaman added inline comments to D55673: [darwin] parse the SDK settings from SDKSettings.json if it exists and pass in the -target-sdk-version to the compiler and backend.
Dec 13 2018, 2:50 PM
arphaman added inline comments to D55673: [darwin] parse the SDK settings from SDKSettings.json if it exists and pass in the -target-sdk-version to the compiler and backend.
Dec 13 2018, 2:49 PM
arphaman created D55673: [darwin] parse the SDK settings from SDKSettings.json if it exists and pass in the -target-sdk-version to the compiler and backend.
Dec 13 2018, 2:15 PM

Dec 12 2018

arphaman added a comment to D55612: [macho] save the SDK version stored in module metadata into the version min and build version load commands in the object file.

Don't we need IR support for this as well? sdk version is not in the triple so it is going to get lost when building from IR. Maybe use a metadata node?

Dec 12 2018, 3:11 PM
arphaman added a reviewer for D55612: [macho] save the SDK version stored in module metadata into the version min and build version load commands in the object file: ab.
Dec 12 2018, 1:27 PM
arphaman created D55612: [macho] save the SDK version stored in module metadata into the version min and build version load commands in the object file.
Dec 12 2018, 1:11 PM

Dec 11 2018

arphaman added a comment to D55544: Warning: objc-encodings-larger-than=.

Thanks for working on this! Could you please post a patch with full context (git diff -U9999)?

Dec 11 2018, 11:03 AM · Restricted Project
arphaman added reviewers for D55544: Warning: objc-encodings-larger-than=: ahatanak, rjmccall, erik.pilkington.
Dec 11 2018, 11:01 AM · Restricted Project

Dec 7 2018

arphaman added a comment to D55455: Remove stat cache chaining as it's no longer needed after PTH support has been removed.

This patch LGTM, but before committing I suggest sending an RFC to cfe-dev and waiting a few days.

Dec 7 2018, 4:54 PM
arphaman created D55463: Introduce a source minimizer that reduces source to directives that might affect the dependency list for a compilation.
Dec 7 2018, 4:38 PM
arphaman created D55455: Remove stat cache chaining as it's no longer needed after PTH support has been removed.
Dec 7 2018, 1:11 PM

Dec 6 2018

arphaman committed rL348540: [frontend][darwin] warn_stdlibcxx_not_found: supress warning for preprocessed….
[frontend][darwin] warn_stdlibcxx_not_found: supress warning for preprocessed…
Dec 6 2018, 2:49 PM
arphaman committed rC348540: [frontend][darwin] warn_stdlibcxx_not_found: supress warning for preprocessed….
[frontend][darwin] warn_stdlibcxx_not_found: supress warning for preprocessed…
Dec 6 2018, 2:49 PM
arphaman updated subscribers of D55150: Emit warnings from the driver for use of -mllvm or -Xclang options..
Dec 6 2018, 11:12 AM
arphaman requested changes to D55150: Emit warnings from the driver for use of -mllvm or -Xclang options..

Swift uses -Xclang to pass in build settings to its own build and to pass in custom options through its Clang importer that we intentionally don't want to expose to Clang's users. We don't want to warn for those uses for sure.

Dec 6 2018, 11:09 AM

Dec 5 2018

arphaman committed rL348448: [darwin] remove version number check when enabling -fobjc-subscripting-legacy….
[darwin] remove version number check when enabling -fobjc-subscripting-legacy…
Dec 5 2018, 6:47 PM
arphaman committed rC348448: [darwin] remove version number check when enabling -fobjc-subscripting-legacy….
[darwin] remove version number check when enabling -fobjc-subscripting-legacy…
Dec 5 2018, 6:47 PM
arphaman accepted D55322: Mention changes to libc++ include dir lookup in release notes..

LGTM.

Dec 5 2018, 9:40 AM

Dec 3 2018

arphaman added a comment to D54630: Move detection of libc++ include dirs to Driver on MacOS.

Please mention this change in the release notes though.

Dec 3 2018, 1:41 PM
arphaman accepted D54630: Move detection of libc++ include dirs to Driver on MacOS.

LGTM

Dec 3 2018, 1:40 PM

Nov 30 2018

arphaman added a comment to D54630: Move detection of libc++ include dirs to Driver on MacOS.

So far everything looks fine, but I have to rerun a couple of things due to infrastructural issues. I should have the final results next Monday.

Nov 30 2018, 1:22 PM

Nov 26 2018

arphaman accepted D54799: [clangd] textDocument/SymbolInfo method.
Nov 26 2018, 6:59 PM
arphaman added a comment to D54799: [clangd] textDocument/SymbolInfo method.

LGTM, we can optimize later. It looks like you also moved SymbolID to a new file, this should be an NFC precommit.

Nov 26 2018, 6:59 PM
arphaman added a comment to D54630: Move detection of libc++ include dirs to Driver on MacOS.

I don't think we want to move the logic to add a libc++ path to the driver. -cc1 with -resource-dir and -stdlib=libc++ should still work as before. In this case the previous patch is better, except it should not set InstalledDir except when needed (e.g. for tooling when working with a CDB that has an absolute path to the compiler), so when InstalledDir is empty it should fallback to the current logic in InitHeaderSearch.cpp. That should solve the issues we had.

Why not?
@ldionne made a good point: there is value in keeping the frontend separate from the logic to detect system libraries and other toolchain-specific things.

This is how other toolchains do it (Linux, etc.). It's more straightforward to the user (one can inspect the -cc1 args produced by the driver), this is where the logic to detect linker dependencies is. It seems that was also the plan of some developers looking in that area: the test I've edited suggests this should be moved to the driver (darwin-stdlib.cpp, it says: If and when we change to finding them in the driver ...), there's a bug corresponding bug to do this: http://llvm.org/PR30548.
I might not have full information, but my understanding is that -resource-dir has a pretty well-defined semantics: it should be used to find the compiler resources, i.e. only the buit-in headers and not the C++ standard library.

What are the reasons we need to keep the old behavior?

Nov 26 2018, 1:07 PM

Nov 16 2018

arphaman added a comment to D49736: [Basic] Emit warning flag suggestion only in case there's existing flag *similar* to the unknown one.

Thanks for working on this, some minor comments:

Nov 16 2018, 10:42 AM
arphaman updated subscribers of D54630: Move detection of libc++ include dirs to Driver on MacOS.
Nov 16 2018, 10:29 AM
arphaman added a comment to D54630: Move detection of libc++ include dirs to Driver on MacOS.

I don't think we want to move the logic to add a libc++ path to the driver. -cc1 with -resource-dir and -stdlib=libc++ should still work as before. In this case the previous patch is better, except it should not set InstalledDir except when needed (e.g. for tooling when working with a CDB that has an absolute path to the compiler), so when InstalledDir is empty it should fallback to the current logic in InitHeaderSearch.cpp. That should solve the issues we had.

Nov 16 2018, 10:27 AM
arphaman added a comment to D54547: PTH-- Remove feature entirely-.

Would it be better to deprecate the use of PTH right now for the current release, so that the users will be aware that we will remove PTH support in LLVM 9 once they upgrade to LLVM 8? Then we can remove it right after LLVM 8 branch is created.

Nov 16 2018, 10:11 AM

Nov 14 2018

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

I don't think we should be using textDocument/definition here, and I agree with Sam that a new method would be better. We don't actually need the semantic guarantees/constrains imposed by LSP's description of textDocument/definition, as we want to find any declaration that corresponds to the reference at the location, so we don't need to guarantee that we return some definition. This would also avoid any confusion about USRs returned in textDocument/definition/textDocument/references.

Nov 14 2018, 5:30 PM · Restricted Project

Nov 13 2018

arphaman committed rC346822: [HeaderSearch] loadSubdirectoryModuleMaps should respect -working-directory.
[HeaderSearch] loadSubdirectoryModuleMaps should respect -working-directory
Nov 13 2018, 5:10 PM
arphaman committed rL346822: [HeaderSearch] loadSubdirectoryModuleMaps should respect -working-directory.
[HeaderSearch] loadSubdirectoryModuleMaps should respect -working-directory
Nov 13 2018, 5:10 PM
arphaman closed D54503: [HeaderSearch] loadSubdirectoryModuleMaps should respect -working-directory.
Nov 13 2018, 5:10 PM
arphaman created D54503: [HeaderSearch] loadSubdirectoryModuleMaps should respect -working-directory.
Nov 13 2018, 4:28 PM
arphaman added a comment to D54455: [vfs] add 'Status::copyWithNewSize'.

Sorry for joining in the middle of the conversation without the full context, but what is the use-case for status that were created with the wrong size that needs to be patched up?
It's clear what the function is doing operationally, but it's hard to see why would we want to change the size of the file, while leaving other things (like modification time, etc.) the same?

Nov 13 2018, 11:11 AM
arphaman abandoned D54455: [vfs] add 'Status::copyWithNewSize'.

The change itself is fine but I wonder if we really need these helper methods and can't just use the copy constructor?

Nov 13 2018, 11:07 AM

Nov 12 2018

arphaman created D54455: [vfs] add 'Status::copyWithNewSize'.
Nov 12 2018, 3:47 PM
arphaman added a comment to D54310: Make clang-based tools find libc++ on MacOS.

Apologies for not seeing this earlier.
I agree with George, this behavior doesn't seem right to me.

Nov 12 2018, 1:33 PM

Oct 26 2018

arphaman accepted D53621: Support for groups of attributes in #pragma clang attribute.

LGTM too when Aaron's comments are addressed

Oct 26 2018, 2:11 PM

Oct 25 2018

arphaman added a comment to D53621: Support for groups of attributes in #pragma clang attribute.

Thanks! It looks pretty good, just minor nit. could you also update the language extension doc and release notes?

Oct 25 2018, 3:42 PM

Oct 18 2018

arphaman added a comment to D53354: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.

With regards to D53352: you can change the diff related to a patch whilst keeping discuccion and metadata of the diff.

Oct 18 2018, 4:11 PM
arphaman updated the summary of D53354: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.
Oct 18 2018, 11:38 AM
arphaman added inline comments to D53354: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.
Oct 18 2018, 11:03 AM
arphaman added inline comments to D53354: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.
Oct 18 2018, 10:54 AM
arphaman added inline comments to D53354: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.
Oct 18 2018, 10:40 AM

Oct 16 2018

arphaman created D53354: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.
Oct 16 2018, 6:48 PM
arphaman abandoned D53352: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.

Oops, this is a wrong patch. Sorry for the noise.

Oct 16 2018, 6:47 PM
arphaman created D53352: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.
Oct 16 2018, 6:46 PM

Sep 10 2018

arphaman accepted D51189: [Sema][ObjC] Infer availability of +new from availability of -init.

LGTM

Sep 10 2018, 1:49 PM
arphaman added a comment to D50814: [clangd] transfer the fixits with the notes instead of adding them to the main diagnostic if request by the client.

Sorry for the delayed response. It seems we absolutely need this if mirroring libclang is an absolute requirement.
We seem to have multiple implementation options:

Which classes to use for representing diagnostics? We can:

  1. Reuse existing hierarchy for diagnostics. (current option)
  2. Have separate hierarchies for "flat" (fixits with notes) and "grouped" (fix-its are always attached to main diag). "flat" diagnostics can be stored exactly as they come from clang, with notes and main diags in the same vector, main diag should lack the "notes" field. I.e. if we choose to go with "raw" clang mode, we can as well avoid grouping the notes altogether instead of having code that does something in between the classical libclang and new clangd approach.

    I think the added separation is worth it for code clarity, but also realize it's a bunch of boilerplate, so others may disagree. WDYT?
Sep 10 2018, 1:47 PM
arphaman added inline comments to D50926: [SourceManager] Extract 'findFileIDsForFile' from 'translateFile' to allow mapping from one file entry to multiple FileIDs.
Sep 10 2018, 12:59 PM
arphaman updated the diff for D50926: [SourceManager] Extract 'findFileIDsForFile' from 'translateFile' to allow mapping from one file entry to multiple FileIDs.

Remove dead code for filesystem update fileID matching.

Sep 10 2018, 12:59 PM