arphaman (Alex Lorenz)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 25 2014, 4:17 PM (207 w, 5 d)

Recent Activity

Today

arphaman added inline comments to D48297: [Darwin] Add a warning for missing include path for libstdc++.
Mon, Jun 18, 2:40 PM
arphaman created D48297: [Darwin] Add a warning for missing include path for libstdc++.
Mon, Jun 18, 2:03 PM

Fri, May 25

arphaman accepted D47225: Add nonnull; use it for atomics.

(FYI, Please use a weekly frequency for Pings).

Fri, May 25, 2:34 PM
arphaman accepted D46918: [Coverage] Discard the last uncompleted deferred region in a decl.

LGTM

Fri, May 25, 2:22 PM

Thu, May 24

arphaman added inline comments to D47341: [Sema] Fix infinite typo correction loop..
Thu, May 24, 3:50 PM

Wed, May 23

arphaman added inline comments to D47229: Make atomic non-member functions as nonnull.
Wed, May 23, 6:15 PM
arphaman accepted D47280: [Sema][ObjC] Do not DiagnoseUseOfDecl in LookupMemberExpr.

LGTM.

Wed, May 23, 6:03 PM

Tue, May 22

arphaman committed rC333046: [AST][ObjC] Print implicit property expression that only has a setter without….
[AST][ObjC] Print implicit property expression that only has a setter without…
Tue, May 22, 5:56 PM
arphaman committed rL333046: [AST][ObjC] Print implicit property expression that only has a setter without….
[AST][ObjC] Print implicit property expression that only has a setter without…
Tue, May 22, 5:56 PM

May 17 2018

arphaman committed rCRT332647: [builtins][macos] bump up the the macOS version min in os_version_check tests.
[builtins][macos] bump up the the macOS version min in os_version_check tests
May 17 2018, 11:46 AM
arphaman committed rL332647: [builtins][macos] bump up the the macOS version min in os_version_check tests.
[builtins][macos] bump up the the macOS version min in os_version_check tests
May 17 2018, 11:45 AM

May 11 2018

arphaman accepted D46778: Remove the fixit for the diagnostics regarding capturing autoreleasing variables in a block.

LGTM.

May 11 2018, 5:10 PM

May 2 2018

arphaman committed rL331421: [ObjC] Supress the 'implementing unavailable method' warning when.
[ObjC] Supress the 'implementing unavailable method' warning when
May 2 2018, 6:17 PM
arphaman committed rC331421: [ObjC] Supress the 'implementing unavailable method' warning when.
[ObjC] Supress the 'implementing unavailable method' warning when
May 2 2018, 6:17 PM
arphaman committed rL331409: [ObjC] The absence of ownership qualifiers on an ambiguous property leads.
[ObjC] The absence of ownership qualifiers on an ambiguous property leads
May 2 2018, 3:46 PM
arphaman committed rC331409: [ObjC] The absence of ownership qualifiers on an ambiguous property leads.
[ObjC] The absence of ownership qualifiers on an ambiguous property leads
May 2 2018, 3:46 PM

Apr 25 2018

arphaman committed rC330878: [driver][darwin] Do not infer -simulator environment for OS version env vars.
[driver][darwin] Do not infer -simulator environment for OS version env vars
Apr 25 2018, 3:26 PM
arphaman committed rL330878: [driver][darwin] Do not infer -simulator environment for OS version env vars.
[driver][darwin] Do not infer -simulator environment for OS version env vars
Apr 25 2018, 3:26 PM

Apr 6 2018

arphaman committed rC329465: Recommit r329442: Generate Libclang invocation reproducers using a new.
Recommit r329442: Generate Libclang invocation reproducers using a new
Apr 6 2018, 5:06 PM
arphaman committed rL329465: Recommit r329442: Generate Libclang invocation reproducers using a new.
Recommit r329442: Generate Libclang invocation reproducers using a new
Apr 6 2018, 5:06 PM
arphaman committed rL329447: Revert r329442 "Generate Libclang invocation reproducers using a new.
Revert r329442 "Generate Libclang invocation reproducers using a new
Apr 6 2018, 12:48 PM
arphaman committed rC329447: Revert r329442 "Generate Libclang invocation reproducers using a new.
Revert r329442 "Generate Libclang invocation reproducers using a new
Apr 6 2018, 12:48 PM
arphaman committed rC329442: Generate Libclang invocation reproducers using a new -cc1gen-reproducer.
Generate Libclang invocation reproducers using a new -cc1gen-reproducer
Apr 6 2018, 11:33 AM
arphaman committed rL329442: Generate Libclang invocation reproducers using a new -cc1gen-reproducer.
Generate Libclang invocation reproducers using a new -cc1gen-reproducer
Apr 6 2018, 11:33 AM
arphaman closed D40983: Generate Libclang invocation reproducers using a new -cc1gen-reproducer option.
Apr 6 2018, 11:33 AM

Apr 5 2018

arphaman added a comment to D40983: Generate Libclang invocation reproducers using a new -cc1gen-reproducer option.

Makes sense, LGTM.

Should we add documentation explaining how to use this? I'm fine if it comes in a follow up commit.

Sorry, just got time to get back to this now. Thanks for the review! I'll add a document for this new functionality tomorrow.

Apr 5 2018, 4:26 PM
arphaman added a comment to D40983: Generate Libclang invocation reproducers using a new -cc1gen-reproducer option.

Makes sense, LGTM.

Should we add documentation explaining how to use this? I'm fine if it comes in a follow up commit.

Apr 5 2018, 4:26 PM
arphaman committed rL329324: Remove the temporary availability checking workaround for.
Remove the temporary availability checking workaround for
Apr 5 2018, 11:15 AM
arphaman committed rC329324: Remove the temporary availability checking workaround for.
Remove the temporary availability checking workaround for
Apr 5 2018, 11:15 AM

Apr 4 2018

arphaman updated the diff for D29768: [TargetInfo] Set 'UseSignedCharForObjCBool' to false by default.

Only make the change for the Darwin platforms to avoid ObjC ABI breakage for non-Darwin platforms.

Apr 4 2018, 3:14 PM
arphaman updated the diff for D29768: [TargetInfo] Set 'UseSignedCharForObjCBool' to false by default.

Sorry, missed the comments last year. Updated.

Apr 4 2018, 1:49 PM

Apr 3 2018

arphaman committed rL329141: Split test/Driver/darwin-sdkroot.c into two tests.
Split test/Driver/darwin-sdkroot.c into two tests
Apr 3 2018, 7:14 PM
arphaman committed rC329141: Split test/Driver/darwin-sdkroot.c into two tests.
Split test/Driver/darwin-sdkroot.c into two tests
Apr 3 2018, 7:14 PM
arphaman committed rC329113: Add REQUIRES: darwin-system to test/Driver/darwin-sdkroot.c.
Add REQUIRES: darwin-system to test/Driver/darwin-sdkroot.c
Apr 3 2018, 2:14 PM
arphaman committed rL329113: Add REQUIRES: darwin-system to test/Driver/darwin-sdkroot.c.
Add REQUIRES: darwin-system to test/Driver/darwin-sdkroot.c
Apr 3 2018, 2:14 PM
arphaman committed rL329110: [driver][darwin] Do not infer -simulator environment for non-simulator SDKs.
[driver][darwin] Do not infer -simulator environment for non-simulator SDKs
Apr 3 2018, 1:55 PM
arphaman committed rC329110: [driver][darwin] Do not infer -simulator environment for non-simulator SDKs.
[driver][darwin] Do not infer -simulator environment for non-simulator SDKs
Apr 3 2018, 1:55 PM

Mar 23 2018

arphaman added inline comments to D44844: [PR36880] Avoid -Wunused-lambda-capture false positive for explicit this capture used in an unresolved member in a generic lambda.
Mar 23 2018, 4:09 PM
arphaman created D44844: [PR36880] Avoid -Wunused-lambda-capture false positive for explicit this capture used in an unresolved member in a generic lambda.
Mar 23 2018, 1:26 PM

Mar 22 2018

arphaman accepted D44317: Delete the copy constructor for llvm::yaml::Node.

LG, go for it

Mar 22 2018, 10:28 PM

Mar 14 2018

arphaman added a comment to D25820: [Sema][Objective-C] Formatting warnings should see through Objective-C message sends.

@benhamilton We're planning to use the new attribute in https://reviews.llvm.org/D27165 to address this issue. I'll get back to that patch in the near future.

Mar 14 2018, 2:08 PM

Mar 12 2018

arphaman committed rC327322: [Tooling] Clear the PreambleSrcLocCache when preamble is discarded during….
[Tooling] Clear the PreambleSrcLocCache when preamble is discarded during…
Mar 12 2018, 12:40 PM
arphaman committed rL327322: [Tooling] Clear the PreambleSrcLocCache when preamble is discarded during….
[Tooling] Clear the PreambleSrcLocCache when preamble is discarded during…
Mar 12 2018, 12:40 PM

Feb 23 2018

arphaman committed rC325994: [Sema][ObjC] Process category attributes before checking protocol uses.
[Sema][ObjC] Process category attributes before checking protocol uses
Feb 23 2018, 3:54 PM
arphaman committed rL325994: [Sema][ObjC] Process category attributes before checking protocol uses.
[Sema][ObjC] Process category attributes before checking protocol uses
Feb 23 2018, 3:54 PM

Feb 12 2018

arphaman accepted D36918: [Sema] Take into account the current context when checking the accessibility of a member function pointer.

LGTM, I didn't find any issues

Feb 12 2018, 5:28 PM

Feb 8 2018

arphaman committed rC324651: PR36307: Consume the #pragma options align annotation token after.
PR36307: Consume the #pragma options align annotation token after
Feb 8 2018, 1:22 PM
arphaman committed rL324651: PR36307: Consume the #pragma options align annotation token after.
PR36307: Consume the #pragma options align annotation token after
Feb 8 2018, 1:22 PM

Feb 7 2018

arphaman abandoned D42933: [Sema] Avoid -Wformat warning for NSInteger/NSUInteger 'int' values with %zu/%zi long specifiers.

Thanks for your input. You're right, this warning is quite correct (even though it seems like too much).

Feb 7 2018, 2:10 PM
arphaman committed rC324514: [PR36008] Avoid -Wsign-compare warning for enum constants in.
[PR36008] Avoid -Wsign-compare warning for enum constants in
Feb 7 2018, 12:49 PM
arphaman committed rL324514: [PR36008] Avoid -Wsign-compare warning for enum constants in.
[PR36008] Avoid -Wsign-compare warning for enum constants in
Feb 7 2018, 12:49 PM
arphaman closed D42561: [PR36008] Avoid -Wsign-compare warning for enum constants in typeof expressions.
Feb 7 2018, 12:49 PM · Restricted Project

Feb 5 2018

arphaman updated the diff for D42561: [PR36008] Avoid -Wsign-compare warning for enum constants in typeof expressions.

Address review comments and fix the inverted check case.

Feb 5 2018, 3:58 PM · Restricted Project
arphaman created D42933: [Sema] Avoid -Wformat warning for NSInteger/NSUInteger 'int' values with %zu/%zi long specifiers.
Feb 5 2018, 3:00 PM

Jan 31 2018

arphaman committed rL323921: [PR32482] Fix bitfield layout for -mms-bitfield and pragma pack.
[PR32482] Fix bitfield layout for -mms-bitfield and pragma pack
Jan 31 2018, 2:02 PM
arphaman committed rC323921: [PR32482] Fix bitfield layout for -mms-bitfield and pragma pack.
[PR32482] Fix bitfield layout for -mms-bitfield and pragma pack
Jan 31 2018, 2:02 PM
arphaman closed D42660: [PR32482] Fix bitfield layout for -mms-bitfield and pragma pack.
Jan 31 2018, 2:02 PM

Jan 30 2018

arphaman added a comment to D42660: [PR32482] Fix bitfield layout for -mms-bitfield and pragma pack.

Oops, that logic turned out to be incorrect. We simply have to start a new storage unit when the new bitfield's size is wider than the available bits.

Jan 30 2018, 1:17 PM
arphaman updated the diff for D42660: [PR32482] Fix bitfield layout for -mms-bitfield and pragma pack.

Fix packing logic.

Jan 30 2018, 1:17 PM

Jan 29 2018

arphaman created D42660: [PR32482] Fix bitfield layout for -mms-bitfield and pragma pack.
Jan 29 2018, 2:20 PM

Jan 25 2018

arphaman created D42561: [PR36008] Avoid -Wsign-compare warning for enum constants in typeof expressions.
Jan 25 2018, 4:32 PM · Restricted Project

Jan 19 2018

arphaman accepted D41688: [Lex] Fix crash on code completion in comment in included file..

I think that's a sensible fix, thanks!

Jan 19 2018, 3:14 PM

Jan 4 2018

arphaman accepted D41750: Fix TLS support check for Darwin 32-bit simulator targets..

LGTM, thanks

Jan 4 2018, 6:25 PM

Jan 3 2018

arphaman committed rL321775: PR35815: Separate out the ns-consumed diagnostic into an error and.
PR35815: Separate out the ns-consumed diagnostic into an error and
Jan 3 2018, 3:54 PM
arphaman committed rC321775: PR35815: Separate out the ns-consumed diagnostic into an error and.
PR35815: Separate out the ns-consumed diagnostic into an error and
Jan 3 2018, 3:53 PM

Dec 29 2017

arphaman committed rL321559: [driver][darwin] Take the OS version from -m<os>-version-min argument when.
[driver][darwin] Take the OS version from -m<os>-version-min argument when
Dec 29 2017, 9:43 AM
arphaman committed rC321559: [driver][darwin] Take the OS version from -m<os>-version-min argument when.
[driver][darwin] Take the OS version from -m<os>-version-min argument when
Dec 29 2017, 9:43 AM

Dec 21 2017

arphaman abandoned D41526: [libclang] Avoid builtin trap for __debug parser_crash pragma.

It turns out there's already something that works much better: #pragma clang __debug handle_crash. Sorry about the redundant patch!

Dec 21 2017, 4:23 PM
arphaman accepted D41528: [Sema] Don't emit the -Wstrict-prototypes warning for variadic functions..

LGTM, thank you

Dec 21 2017, 4:06 PM
arphaman created D41526: [libclang] Avoid builtin trap for __debug parser_crash pragma.
Dec 21 2017, 3:16 PM
arphaman updated the diff for D40983: Generate Libclang invocation reproducers using a new -cc1gen-reproducer option.

Address review comments

Dec 21 2017, 1:22 PM
arphaman added a comment to D40983: Generate Libclang invocation reproducers using a new -cc1gen-reproducer option.

Hi Alex,

Thanks for improving this.

  • Instead of adding -cc1gen-reproducer, why can't you run that through -cc1 and have a flag similar to -###, which just prints the reproducer line?
Dec 21 2017, 1:22 PM

Dec 20 2017

arphaman committed rL321222: Fix an assertion failure regression in isDesignatorAtObjectEnd for.
Fix an assertion failure regression in isDesignatorAtObjectEnd for
Dec 20 2017, 1:04 PM
arphaman committed rC321222: Fix an assertion failure regression in isDesignatorAtObjectEnd for.
Fix an assertion failure regression in isDesignatorAtObjectEnd for
Dec 20 2017, 1:04 PM
arphaman closed D41405: Fix an assertion failure regression in isDesignatorAtObjectEnd for __builtin_object_size with incomplete array type in struct .
Dec 20 2017, 1:04 PM
arphaman added a comment to D41405: Fix an assertion failure regression in isDesignatorAtObjectEnd for __builtin_object_size with incomplete array type in struct .

LGTM assuming my nit gets addressed.

Thank you!

Maybe someone who's more familiar with this builtin could point to the cause of this discrepancy

Yeah, the documentation for this builtin is pretty sparse. My guess: clang assumes that the array's size is unknown because it's both an array and at the end of a struct. This exists because code will do clever things like

struct string {
  size_t len;
  char buf[1]; // actual string is accessed from here; `string` just gets overallocated to hold it all.
};

in FreeBSD-land, they also recommend overallocation with sockaddrs, which have a 14-length trailing element: https://www.freebsd.org/doc/en/books/developers-handbook/sockets-essential-functions.html

...So, the best compatible heuristic we've been able to settle on here, sadly, is "are we touching the final element in a struct, and is that element an array?" On the bright side, clang failing just means LLVM gets to try to figure it out, so only some hope of getting a useful answer is lost. :)

It's interesting that GCC tries to do better here, since AIUI it has a similar heuristic meant to cope with code like the above.

Dec 20 2017, 12:53 PM

Dec 19 2017

arphaman committed rC321145: [darwin][driver] Warn about mismatching -<os>-version-min rather than.
[darwin][driver] Warn about mismatching -<os>-version-min rather than
Dec 19 2017, 6:32 PM
arphaman committed rL321145: [darwin][driver] Warn about mismatching -<os>-version-min rather than.
[darwin][driver] Warn about mismatching -<os>-version-min rather than
Dec 19 2017, 6:32 PM
arphaman closed D41425: [darwin][driver] Warn about mismatching -<os>-version-min rather than superfluous -<os>-version-min compiler option.
Dec 19 2017, 6:32 PM
arphaman added inline comments to D41425: [darwin][driver] Warn about mismatching -<os>-version-min rather than superfluous -<os>-version-min compiler option.
Dec 19 2017, 6:30 PM
arphaman added inline comments to D41425: [darwin][driver] Warn about mismatching -<os>-version-min rather than superfluous -<os>-version-min compiler option.
Dec 19 2017, 6:10 PM
arphaman created D41425: [darwin][driver] Warn about mismatching -<os>-version-min rather than superfluous -<os>-version-min compiler option.
Dec 19 2017, 5:40 PM
arphaman abandoned D41424: [darwin][driver] Warn about mismatching -<os>-version-min rather than superfl.
Dec 19 2017, 5:37 PM
arphaman created D41424: [darwin][driver] Warn about mismatching -<os>-version-min rather than superfl.
Dec 19 2017, 5:37 PM
arphaman committed rC321102: [driver][darwin] Set the 'simulator' environment when it's specified.
[driver][darwin] Set the 'simulator' environment when it's specified
Dec 19 2017, 11:57 AM
arphaman committed rL321102: [driver][darwin] Set the 'simulator' environment when it's specified.
[driver][darwin] Set the 'simulator' environment when it's specified
Dec 19 2017, 11:57 AM
arphaman closed D41076: [driver][darwin] Set the 'simulator' environment when it's specified in '-target'.
Dec 19 2017, 11:57 AM
arphaman committed rL321099: [driver][darwin] Take the OS version specified in "-target" as the target.
[driver][darwin] Take the OS version specified in "-target" as the target
Dec 19 2017, 11:06 AM
arphaman committed rC321099: [driver][darwin] Take the OS version specified in "-target" as the target.
[driver][darwin] Take the OS version specified in "-target" as the target
Dec 19 2017, 11:05 AM
This revision was not accepted when it landed; it landed in state Needs Review.
Dec 19 2017, 11:05 AM
arphaman added a comment to D41405: Fix an assertion failure regression in isDesignatorAtObjectEnd for __builtin_object_size with incomplete array type in struct .

Note that even though there is a discrepancy between GCC and Clang, this patch does not change Clang's behavior in this instance as it emitted -1 previously as well

Dec 19 2017, 11:03 AM
arphaman created D41405: Fix an assertion failure regression in isDesignatorAtObjectEnd for __builtin_object_size with incomplete array type in struct .
Dec 19 2017, 11:01 AM

Dec 15 2017

arphaman added inline comments 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.
Dec 15 2017, 2:16 PM
arphaman updated the diff for 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.
  • Remove redundant checks.
  • Remove the ARC-specific check.
Dec 15 2017, 2:16 PM
arphaman added a comment to D41087: [Preprocessor] Implement __is_target_{arch|vendor|os|environment} function-like builtin macros.

I'm concerned here about the check for the names as written vs. the canonical names. @compnerd pointed out one specific case with armv7, and I see that you've got special handling for "darwin", but I think there are more. What about "arm64" vs. the canonical "aarch64"? Look through the triple parsing code in Triple.cpp and I'm pretty sure you'll find more. I had been thinking about using the canonical names. However, that's not ideal either because the canonical names intentionally exclude suffixes that some users may want to distinguish (e.g., armv7 vs armv7k).

Dec 15 2017, 12:09 PM
arphaman committed rL320854: __is_target_environment: Check the environment after parsing it.
__is_target_environment: Check the environment after parsing it
Dec 15 2017, 12:08 PM
arphaman committed rC320854: __is_target_environment: Check the environment after parsing it.
__is_target_environment: Check the environment after parsing it
Dec 15 2017, 12:08 PM
arphaman committed rC320853: __is_target_arch: Check the arch and subarch instead of the arch name.
__is_target_arch: Check the arch and subarch instead of the arch name
Dec 15 2017, 11:59 AM
arphaman committed rL320853: __is_target_arch: Check the arch and subarch instead of the arch name.
__is_target_arch: Check the arch and subarch instead of the arch name
Dec 15 2017, 11:59 AM

Dec 14 2017

arphaman added a comment to D36952: [libclang] Add support for checking abstractness of records.

Fixed in r320766. Sorry about that!

Dec 14 2017, 3:41 PM · Restricted Project