Page MenuHomePhabricator

urnathan (Nathan Sidwell)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 6 2021, 8:14 AM (58 w, 6 d)

Recent Activity

Today

urnathan committed rGa1dcfb75ea8c: [clang] Module global init mangling (authored by urnathan).
[clang] Module global init mangling
Mon, May 23, 9:03 AM · Restricted Project, Restricted Project
urnathan closed D122741: [clang] Module global init mangling.
Mon, May 23, 9:03 AM · Restricted Project, Restricted Project
urnathan added inline comments to D126189: [C++20][Modules] Build module static initializers per P1874R1..
Mon, May 23, 5:53 AM · Restricted Project, Restricted Project

Wed, May 18

urnathan resigned from D121497: Lex: add support for `{,u}i128` Microsoft extension.
Wed, May 18, 5:38 AM · Restricted Project, Restricted Project
urnathan abandoned D125825: [clang][NFC] Augment CoreturnStmt.
Wed, May 18, 5:37 AM · Restricted Project
urnathan requested review of D125880: [clang][NFC] Augment CoreturnStmt.
Wed, May 18, 5:36 AM · Restricted Project
urnathan abandoned D125541: [clang][PR55406] co_return CFG fix.
Wed, May 18, 4:56 AM · Restricted Project
urnathan added inline comments to D125540: [clang] dependent co_return fix.
Wed, May 18, 4:12 AM · Restricted Project

Tue, May 17

urnathan requested review of D125825: [clang][NFC] Augment CoreturnStmt.
Tue, May 17, 12:01 PM · Restricted Project
urnathan updated the summary of D125542: [clang] co_return cleanup.
Tue, May 17, 12:00 PM · Restricted Project
urnathan added inline comments to D125540: [clang] dependent co_return fix.
Tue, May 17, 10:33 AM · Restricted Project
urnathan updated the diff for D125540: [clang] dependent co_return fix.

update

Tue, May 17, 10:33 AM · Restricted Project
urnathan removed a reviewer for D125540: [clang] dependent co_return fix: ChuanqiXu.
Tue, May 17, 4:31 AM · Restricted Project
urnathan added a comment to D125541: [clang][PR55406] co_return CFG fix.

Please clarify. This is fixing a bug where the CFG was being incorrectly constructed.

Tue, May 17, 4:28 AM · Restricted Project

Mon, May 16

urnathan added a reviewer for D125541: [clang][PR55406] co_return CFG fix: ChuanqiXu.
Mon, May 16, 7:11 AM · Restricted Project
urnathan added a reviewer for D125540: [clang] dependent co_return fix: ChuanqiXu.
Mon, May 16, 7:10 AM · Restricted Project
urnathan updated the diff for D122604: [demangler] Simplify OutputBuffer initialization.

ah, thanks for the clue!

Mon, May 16, 5:45 AM · Restricted Project, Restricted Project, Restricted Project
urnathan committed rG80bebbc7cb77: [clang][NFC] Cleanup some coroutine tests (authored by urnathan).
[clang][NFC] Cleanup some coroutine tests
Mon, May 16, 5:15 AM · Restricted Project, Restricted Project
urnathan closed D125535: [clang][NFC] Cleanup some coroutine tests.
Mon, May 16, 5:15 AM · Restricted Project, Restricted Project

Fri, May 13

urnathan updated the diff for D122604: [demangler] Simplify OutputBuffer initialization.

hm, let's try that rebase again

Fri, May 13, 6:17 AM · Restricted Project, Restricted Project, Restricted Project
urnathan accepted D125476: [libc++abi][NFCI] Refactor demangling_terminate_handler to reduce nesting.

LGTM,

Fri, May 13, 6:12 AM · Restricted Project, Restricted Project
urnathan requested review of D125542: [clang] co_return cleanup.
Fri, May 13, 6:07 AM · Restricted Project
urnathan requested review of D125541: [clang][PR55406] co_return CFG fix.
Fri, May 13, 6:05 AM · Restricted Project
urnathan requested review of D125540: [clang] dependent co_return fix.
Fri, May 13, 6:04 AM · Restricted Project
urnathan committed rG562ce1592456: [demangler] Avoid special-subst code duplication (authored by urnathan).
[demangler] Avoid special-subst code duplication
Fri, May 13, 4:36 AM · Restricted Project, Restricted Project
urnathan closed D125257: [demangler] Avoid special-subst code duplication.
Fri, May 13, 4:35 AM · Restricted Project, Restricted Project, Restricted Project
urnathan requested review of D125535: [clang][NFC] Cleanup some coroutine tests.
Fri, May 13, 3:58 AM · Restricted Project, Restricted Project

Thu, May 12

urnathan added inline comments to D125268: [libc++abi] Refactor exception type demangling into a separate function.
Thu, May 12, 8:37 AM · Restricted Project, Restricted Project
urnathan updated the diff for D125257: [demangler] Avoid special-subst code duplication.

Address CI issue

Thu, May 12, 5:18 AM · Restricted Project, Restricted Project, Restricted Project
urnathan updated the diff for D122604: [demangler] Simplify OutputBuffer initialization.

rebase

Thu, May 12, 4:22 AM · Restricted Project, Restricted Project, Restricted Project
urnathan accepted D124946: [clang] serialize ORIGINAL_PCH_DIR relative to BaseDirectory.

good to go, thanks!

Thu, May 12, 4:20 AM · Restricted Project, Restricted Project

Wed, May 11

urnathan added inline comments to D125268: [libc++abi] Refactor exception type demangling into a separate function.
Wed, May 11, 8:13 AM · Restricted Project, Restricted Project
urnathan accepted D124874: [clang] add -fmodule-file-home-is-cwd.

thanks!

Wed, May 11, 6:11 AM · Restricted Project, Restricted Project
urnathan added inline comments to D125268: [libc++abi] Refactor exception type demangling into a separate function.
Wed, May 11, 6:09 AM · Restricted Project, Restricted Project

Tue, May 10

urnathan accepted D124938: [clang] serialize SUBMODULE_TOPHEADER relative to BaseDirectory.

lgtm

Tue, May 10, 7:13 AM · Restricted Project, Restricted Project
urnathan added inline comments to D125268: [libc++abi] Refactor exception type demangling into a separate function.
Tue, May 10, 7:07 AM · Restricted Project, Restricted Project
urnathan added inline comments to D125272: [clang] Add -fcheck-new support.
Tue, May 10, 6:51 AM · Restricted Project, Restricted Project
urnathan added inline comments to D124874: [clang] add -fmodule-file-home-is-cwd.
Tue, May 10, 6:12 AM · Restricted Project, Restricted Project
urnathan added inline comments to D125268: [libc++abi] Refactor exception type demangling into a separate function.
Tue, May 10, 6:07 AM · Restricted Project, Restricted Project

Mon, May 9

urnathan requested review of D125257: [demangler] Avoid special-subst code duplication.
Mon, May 9, 12:13 PM · Restricted Project, Restricted Project, Restricted Project
urnathan committed rGbc150a07f1a1: [demangler] No need to space adjacent template closings (authored by urnathan).
[demangler] No need to space adjacent template closings
Mon, May 9, 6:15 AM · Restricted Project, Restricted Project
urnathan closed D123134: [demangler] No need to space adjacent template closings.
Mon, May 9, 6:15 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added inline comments to D124874: [clang] add -fmodule-file-home-is-cwd.
Mon, May 9, 5:35 AM · Restricted Project, Restricted Project
urnathan added a comment to D124946: [clang] serialize ORIGINAL_PCH_DIR relative to BaseDirectory.

Looks good to me, but perhaps leave it a few days for others to comment (my familiarity with this code is low). I do know people want relocatable outputs though.

Mon, May 9, 5:31 AM · Restricted Project, Restricted Project
urnathan committed rGe48cd7088b73: [demangler] Buffer peeking needs buffer (authored by urnathan).
[demangler] Buffer peeking needs buffer
Mon, May 9, 4:55 AM · Restricted Project, Restricted Project
urnathan closed D123201: [demangler] Buffer peeking needs buffer.
Mon, May 9, 4:55 AM · Restricted Project, Restricted Project, Restricted Project

Fri, May 6

urnathan updated the diff for D123134: [demangler] No need to space adjacent template closings.

Added special subst tests

Fri, May 6, 9:55 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D123134: [demangler] No need to space adjacent template closings.

Here's the earlier comment https://reviews.llvm.org/D122474#3409394

Fri, May 6, 4:49 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D125085: [clang-format] Correctly handle SpaceBeforeParens for builtins..

cool

Fri, May 6, 4:07 AM · Restricted Project, Restricted Project

Wed, May 4

urnathan updated the diff for D122604: [demangler] Simplify OutputBuffer initialization.

rebase, hopefully fix the CI tester

Wed, May 4, 7:09 AM · Restricted Project, Restricted Project, Restricted Project

Tue, May 3

urnathan added inline comments to D122663: Mark identifier prefixes as substitutable.
Tue, May 3, 8:12 AM · Restricted Project, Restricted Project
urnathan committed rGed2d4da73200: [demangler] Fold expressions of .* and ->* (authored by urnathan).
[demangler] Fold expressions of .* and ->*
Tue, May 3, 6:46 AM · Restricted Project, Restricted Project
urnathan closed D123305: [demangler] Fold expressions of .* and ->*.
Tue, May 3, 6:46 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D122604: [demangler] Simplify OutputBuffer initialization.

Removed the OutputBufferTest change. I had thought iterators could never be null, but I see I was mistaken.

Tue, May 3, 4:46 AM · Restricted Project, Restricted Project, Restricted Project
urnathan updated the diff for D122604: [demangler] Simplify OutputBuffer initialization.
Tue, May 3, 4:45 AM · Restricted Project, Restricted Project, Restricted Project
urnathan updated the diff for D122604: [demangler] Simplify OutputBuffer initialization.
Tue, May 3, 4:44 AM · Restricted Project, Restricted Project, Restricted Project
urnathan abandoned D124524: [demangler] Avoid nullptr UB.
Tue, May 3, 4:39 AM · Restricted Project, Restricted Project
urnathan added a comment to D124524: [demangler] Avoid nullptr UB.

Yeah, I'd go with the fix at memcpy in D122604 instead.

I appreciate the argument from string_view's API design - though even string_view can be over nullptr, but can't be constructed with a null pointer (its default constructor creates a {nullptr, 0} string_view) so arguably the caller should be able to handle a null string_view.

Tue, May 3, 4:39 AM · Restricted Project, Restricted Project
urnathan added inline comments to D122663: Mark identifier prefixes as substitutable.
Tue, May 3, 4:36 AM · Restricted Project, Restricted Project

Mon, May 2

urnathan added a comment to D124633: [SimplifyLibCalls] Pointers passed to libcalls must point to valid objects.

I don't have anything to add to review, but thanks for picking this up.

Mon, May 2, 6:29 AM · Restricted Project, Restricted Project
urnathan updated the diff for D122604: [demangler] Simplify OutputBuffer initialization.

rebased an updated to avoid the UB discovered in the earlier version.

Mon, May 2, 6:23 AM · Restricted Project, Restricted Project, Restricted Project
urnathan reopened D122604: [demangler] Simplify OutputBuffer initialization.
Mon, May 2, 4:49 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Apr 28

urnathan added a comment to D124524: [demangler] Avoid nullptr UB.

Can you show some C++ rule why you think that

memcpy(nullptr, nullptr, 0) is UB?

cc @rjmccall

Some time ago I was told this usage is perfectly fine and LLVM cannot assume that dst and src are nonnull pointers.

Thu, Apr 28, 5:37 AM · Restricted Project, Restricted Project
urnathan added a comment to D124524: [demangler] Avoid nullptr UB.

alternatively could punt on the whole nullptr thing and just special case the zero-length memcpy and test comparison. thoughts?
(For amusement value, I do know MIPS' memcpy routines segfault on memcpy (dst, nullptr, 0))

Thu, Apr 28, 4:20 AM · Restricted Project, Restricted Project
urnathan accepted D124010: [llvm-cxxfilt] Unable to demangle a template argument which happens to be a null pointer.

Thanks! Do you want to file a PR about the mangling difference between GCC & clang -- I've not looked sufficiently carefully to determine who is wrong[*] here, but we can work with GCC to figure that out. [*] wrong may mean 'pragmatically incorrect' rather than 'technically incorrect', I mean no blame, it's just unfortunate.

Thu, Apr 28, 4:00 AM · Restricted Project, Restricted Project, Restricted Project

Wed, Apr 27

urnathan added a comment to D124524: [demangler] Avoid nullptr UB.

Hmm - why does this need an allocation, though? A StringPiece(nullptr, nullptr) sounds valid to me? Is something using a distinction between StringPiece that's zero-length but non-null and StringPiece that's null?

Wed, Apr 27, 12:51 PM · Restricted Project, Restricted Project
urnathan requested review of D124524: [demangler] Avoid nullptr UB.
Wed, Apr 27, 5:59 AM · Restricted Project, Restricted Project
urnathan added a comment to D122604: [demangler] Simplify OutputBuffer initialization.

Looks like it night have broken a sanitizer build: https://lab.llvm.org/buildbot/#/builders/5/builds/22738

Wed, Apr 27, 4:44 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Apr 26

urnathan updated the diff for D123201: [demangler] Buffer peeking needs buffer.

rebase & ping?

Tue, Apr 26, 4:44 AM · Restricted Project, Restricted Project, Restricted Project
urnathan updated the diff for D123305: [demangler] Fold expressions of .* and ->*.

rebase & ping?

Tue, Apr 26, 4:43 AM · Restricted Project, Restricted Project, Restricted Project
urnathan committed rG5b3ca24a35e9: [demangler] Simplify OutputBuffer initialization (authored by urnathan).
[demangler] Simplify OutputBuffer initialization
Tue, Apr 26, 4:23 AM · Restricted Project, Restricted Project
urnathan closed D122604: [demangler] Simplify OutputBuffer initialization.
Tue, Apr 26, 4:23 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Apr 25

urnathan committed rGc47bcf9af6fc: [demangler][NFC] OperatorInfo table unit test (authored by urnathan).
[demangler][NFC] OperatorInfo table unit test
Mon, Apr 25, 10:02 AM · Restricted Project, Restricted Project
urnathan closed D123390: [demangler][NFC] OperatorInfo table unit test.
Mon, Apr 25, 10:02 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D122663: Mark identifier prefixes as substitutable.

[was out last week] It seems the demangler already gets this right, probably because it just looks like a regular nested name

Mon, Apr 25, 7:18 AM · Restricted Project, Restricted Project
urnathan added a comment to D124010: [llvm-cxxfilt] Unable to demangle a template argument which happens to be a null pointer.

Should Clang be changing to not use this mangling, so it uses a mangling that matches GCC?

Mon, Apr 25, 7:13 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D122741: [clang] Module global init mangling.

Do we know if there's a plan to implement the MS-specific mangling? (for now, I've hacked around this with a nonsensical implementation for MS in order to make progress on testing the initialiser code).

I'll ask Microsoft what that mangling is.

Mon, Apr 25, 6:28 AM · Restricted Project, Restricted Project
urnathan requested changes to D124010: [llvm-cxxfilt] Unable to demangle a template argument which happens to be a null pointer.

You need to modify libcxxabi/src/demangle/ItaniumDemangle.h and deploy the cp-to-llvm.sh script therein.

Mon, Apr 25, 5:59 AM · Restricted Project, Restricted Project, Restricted Project

Apr 13 2022

urnathan updated the diff for D122604: [demangler] Simplify OutputBuffer initialization.

Rebased ontop of D123420

Apr 13 2022, 11:15 AM · Restricted Project, Restricted Project, Restricted Project
urnathan committed rG201c4b9cc4a6: [demangler] Rust demangler buffer return (authored by urnathan).
[demangler] Rust demangler buffer return
Apr 13 2022, 8:51 AM · Restricted Project, Restricted Project
urnathan closed D123420: [demangler] Rust demangler buffer reuse.
Apr 13 2022, 8:50 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D123420: [demangler] Rust demangler buffer reuse.

Sounds good. At that point we might remove N and Buf parameters altogether? This functionality is not used anywhere in LLVM.

Apr 13 2022, 4:01 AM · Restricted Project, Restricted Project, Restricted Project
urnathan updated the diff for D123420: [demangler] Rust demangler buffer reuse.
Apr 13 2022, 4:01 AM · Restricted Project, Restricted Project, Restricted Project

Apr 12 2022

urnathan added a comment to D123390: [demangler][NFC] OperatorInfo table unit test.

To clarify: I think this change looks perfectly fine. The only reason I didn't want to accept this is because I'm not at all familiar with libc++. Case in point: I accepted D123158 which turned out not to be the right thing :-)

Apr 12 2022, 5:30 AM · Restricted Project, Restricted Project, Restricted Project

Apr 11 2022

urnathan added a comment to D122604: [demangler] Simplify OutputBuffer initialization.

Tomasz, your comments on the rust demangler were most helpful. Perhaps you have bandwidth to look at this?

Apr 11 2022, 11:37 AM · Restricted Project, Restricted Project, Restricted Project
urnathan edited reviewers for D122604: [demangler] Simplify OutputBuffer initialization, added: tmiasko; removed: bruno.
Apr 11 2022, 11:35 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D123420: [demangler] Rust demangler buffer reuse.

The API thus far was intended to match that of __cxa_demangle, where the caller retains the ownership of the provided buffer when demangling fails. This is no longer the case in the new implementation. I would rather avoid diverging from __cxa_demangle in such a subtle way.

Apr 11 2022, 4:56 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D123390: [demangler][NFC] OperatorInfo table unit test.

um, it seems that although both @JDevlieghere and @dblaikie like the direction of this patch, neither wishes to commit. pretty please?

Apr 11 2022, 4:28 AM · Restricted Project, Restricted Project, Restricted Project

Apr 8 2022

urnathan requested review of D123420: [demangler] Rust demangler buffer reuse.
Apr 8 2022, 12:13 PM · Restricted Project, Restricted Project, Restricted Project
urnathan added a reviewer for D123390: [demangler][NFC] OperatorInfo table unit test: llunak.
Apr 8 2022, 10:53 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added reviewers for D123390: [demangler][NFC] OperatorInfo table unit test: dblaikie, bruno.
Apr 8 2022, 9:01 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D123158: make a debug check thread-safe.

D123390 is available for review.

Apr 8 2022, 7:02 AM · Restricted Project, Restricted Project
urnathan requested review of D123390: [demangler][NFC] OperatorInfo table unit test.
Apr 8 2022, 7:02 AM · Restricted Project, Restricted Project, Restricted Project
urnathan added a comment to D123158: make a debug check thread-safe.

ETA:but it doesn't matter whether this check runs multiple times, in racing threads? I guess one wants an atomic set though.

AFAICT the problem is only that it causes warnings from thread-sanitizer, there is no actual problem as such. I don't know if an atomic set would help (@JDevlieghere can you try please?). But even if, I presume it's not available in libcxxabi either if once isn't?

Apr 8 2022, 4:02 AM · Restricted Project, Restricted Project

Apr 7 2022

urnathan requested review of D123305: [demangler] Fold expressions of .* and ->*.
Apr 7 2022, 6:10 AM · Restricted Project, Restricted Project, Restricted Project
urnathan committed rG9eda5fc0c6ea: [clang] Verify internal entity module mangling (authored by urnathan).
[clang] Verify internal entity module mangling
Apr 7 2022, 5:41 AM · Restricted Project, Restricted Project
urnathan closed D123220: [clang] Verify internal entity module mangling.
Apr 7 2022, 5:41 AM · Restricted Project, Restricted Project

Apr 6 2022

urnathan committed rG4a4d0985d4f0: [demangler] Node precision dumper (authored by urnathan).
[demangler] Node precision dumper
Apr 6 2022, 2:07 PM · Restricted Project, Restricted Project
urnathan closed D122740: [demangler] Node precision dumper.
Apr 6 2022, 2:06 PM · Restricted Project, Restricted Project, Restricted Project
urnathan committed rG51f6caf2fbb5: [demangler][NFC] Rename SwapAndRestore to ScopedOverride (authored by urnathan).
[demangler][NFC] Rename SwapAndRestore to ScopedOverride
Apr 6 2022, 12:56 PM · Restricted Project, Restricted Project