Page MenuHomePhabricator

froydnj (Nathan Froyd)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 6 2019, 11:04 AM (102 w, 3 d)

Recent Activity

Sep 24 2020

froydnj added a comment to D81865: [clang] Use string tables for static diagnostic descriptions.

@froydnj The committed version rG31a3c5fb45b78bdaa78d94ffcc9258e839002016 appears to be very different from the review. I guess next time your probably can upload the diff again if it is very diffierent

Judging by a cursory glance at Phab's view of the delta ( https://reviews.llvm.org/rG4b64ce7428b66cacfe74dbd9dbc29aff6dfb84af ) it /looks/ like it wasn't too different. Mostly picking up upstream changes that added "DEFERRABLE"? (I think Phab uses light green for "this changed, but only because of upstream changes" and dark green is the actual patch changes?)

Sorry for the noise. What I saw previously was a mere difference in the DIAG macro and the new isDeferable... Maybe Phab presented the diff between two Diffs to me. The updated view seems good.

Sep 24 2020, 10:20 AM · Restricted Project
froydnj committed rG31a3c5fb45b7: [clang] use string tables for static diagnostic descriptions (authored by froydnj).
[clang] use string tables for static diagnostic descriptions
Sep 24 2020, 7:59 AM
froydnj closed D81865: [clang] Use string tables for static diagnostic descriptions.
Sep 24 2020, 7:58 AM · Restricted Project

Aug 28 2020

froydnj requested review of D81865: [clang] Use string tables for static diagnostic descriptions.

Throwing this back into the review queue.

Aug 28 2020, 9:10 AM · Restricted Project
froydnj updated the diff for D81865: [clang] Use string tables for static diagnostic descriptions.

Updated to use a struct instead of a union for the actual table in an effort to avoid UB.

Aug 28 2020, 9:10 AM · Restricted Project

Aug 12 2020

froydnj added a comment to D81865: [clang] Use string tables for static diagnostic descriptions.

Ping for an opinion on the recent discussion of how to move forward with this patch.

Aug 12 2020, 8:09 AM · Restricted Project

Aug 3 2020

froydnj added a comment to D81865: [clang] Use string tables for static diagnostic descriptions.

Ping for an opinion on the recent discussion of how to move forward with this patch.

Aug 3 2020, 9:08 AM · Restricted Project

Jul 28 2020

froydnj added a comment to D81865: [clang] Use string tables for static diagnostic descriptions.

I believe this falls under the (using cppreference ( https://en.cppreference.com/w/cpp/language/union ) , since it's a bit easier to read) UB clause: " It's undefined behavior to read from the member of the union that wasn't most recently written. Many compilers implement, as a non-standard language extension, the ability to read inactive members of a union."

Last member written to was the "StringTable" member, but then it's read from the "String" member, so that'd be UB. Commonly supported, but UB - not sure if we have a general statement that we depend on this behavior in LLVM, even though it's non-standard (but it's possible that we do make such an assumption about the compiler that's building LLVM). It'd be nice to avoid that, though - and not too difficult, I think - I /believe/ it's valid to take a pointer to an object, cast it to char*, compute a pointer to some specific member and then cast it back to the right type and access. But I could be wrong there. @rsmith would be the person to give an authoritative answer.

Jul 28 2020, 6:13 AM · Restricted Project

Jul 27 2020

froydnj added a comment to D81865: [clang] Use string tables for static diagnostic descriptions.

Nice, those relocations have annoyed me for years. I'm worried about whether the way you're accessing StaticDiagInfoDescriptionStringTable might be undefined behavior. I won't block this change on that though.

Jul 27 2020, 9:17 AM · Restricted Project
froydnj added a comment to D81865: [clang] Use string tables for static diagnostic descriptions.

Ping.

Jul 27 2020, 6:53 AM · Restricted Project

Jul 23 2020

froydnj added a comment to D75243: [libc++] Build the dylib with C++17 to allow aligned new/delete.

In our builds with the 10.12 SDK and MACOSX_DEPLOYMENT_TARGET of 10.11, this is producing

Hmmm. There's a few interesting things here. First, I'd like to understand why you're building the dylib with a deployment target of 10.11 -- we usually make the assumption that people building libc++ are vendors, and we take for granted that they're building for new-ish platforms. For example, at Apple, we only build the dylib for the latest OS because that's what the dylib is going into, so using an older deployment target just doesn't make sense. If you have another use case, it might be useful to know about it for the future.

Jul 23 2020, 7:07 AM · Restricted Project

Jul 1 2020

froydnj added a comment to D82388: move "basic" builtins to TableGen.

FWIW, an in-progress tree for the proposed move for all the architecture-specific builtins is:

Jul 1 2020, 9:09 AM · Restricted Project, Restricted Project

Jun 30 2020

froydnj added a comment to D82389: update the phabricator docs to reflect the monorepo.

Cool, thank you! Could you also land this for me? I do not have commit privileges. Thanks!

Jun 30 2020, 10:49 AM · Restricted Project
froydnj updated the diff for D82388: move "basic" builtins to TableGen.

Thanks for the pointer @craig.topper ! I've updated the patch to use LessRecordByID. I've also made some small changes to how the code selects the correct macro to output and done a better job converting the builtins by using an automated script, available at https://gist.github.com/froydnj/1192911af46661fb62e724957099d4e8 . I did have to touch up the comments a bit, but the more-automated conversion pointed out several errors that my attempt to use the preprocessor had run into.

Jun 30 2020, 10:18 AM · Restricted Project, Restricted Project
froydnj added a reviewer for D82389: update the phabricator docs to reflect the monorepo: echristo.

Not sure who needs to review this; picking a familiar face. ;)

Jun 30 2020, 9:44 AM · Restricted Project

Jun 23 2020

froydnj created D82389: update the phabricator docs to reflect the monorepo.
Jun 23 2020, 9:04 AM · Restricted Project
froydnj created D82388: move "basic" builtins to TableGen.
Jun 23 2020, 8:31 AM · Restricted Project, Restricted Project
froydnj changed the repository for D81865: [clang] Use string tables for static diagnostic descriptions from rC Clang to rG LLVM Github Monorepo.
Jun 23 2020, 8:31 AM · Restricted Project

Jun 15 2020

froydnj added a comment to D81865: [clang] Use string tables for static diagnostic descriptions.

I'd like to apply the same sort of techniques to the builtin tables, which are enormous, but this is baby steps.

Jun 15 2020, 12:37 PM · Restricted Project
froydnj created D81865: [clang] Use string tables for static diagnostic descriptions.
Jun 15 2020, 12:37 PM · Restricted Project

Dec 2 2019

froydnj resigned from D70910: [compiler-rt] Add a critical section when flushing gcov counters.

Also, I am the farthest thing from the owner of this code (I don't even have commit access!), so I don't think I'm the right person to review this.

Dec 2 2019, 11:12 AM · Restricted Project, Restricted Project
froydnj added a comment to D70910: [compiler-rt] Add a critical section when flushing gcov counters.

The extra setup/teardown work for Windows relative to Linux is unfortunate. How would you feel about using an SRWLock instead?

Dec 2 2019, 11:03 AM · Restricted Project, Restricted Project

May 15 2019

froydnj added a comment to D61960: [AArch64] only indicate CFI on Windows if we emitted CFI.

Wow, thanks for the fast review! @rnk , could you please commit this for me? I do not have commit access. Thanks!

May 15 2019, 1:49 PM · Restricted Project
froydnj created D61960: [AArch64] only indicate CFI on Windows if we emitted CFI.
May 15 2019, 1:29 PM · Restricted Project

Feb 7 2019

froydnj added a comment to D57838: [clang-cl] support /Oy- on aarch64.

Thanks for the review, @mstorsjo. Would you please land this for me? I don't have commit access.

Feb 7 2019, 3:54 AM · Restricted Project

Feb 6 2019

froydnj created D57838: [clang-cl] support /Oy- on aarch64.
Feb 6 2019, 12:31 PM · Restricted Project