Page MenuHomePhabricator
Feed Advanced Search

Yesterday

davide added a comment to D68480: Implementation of C++20's P1135R6 for libcxx.

This is the second time something like this happened. When you make such large scale changes -- make sure to run the lldb testsuite, or be ready to revert. We already had this discussion in the past, but clearly it didn't prevent the problem from happening again.

Last time's discussion didn't get anywhere, as running the LLDB test suite on each commit we make to libc++ isn't a viable option.

Libc++'s test matrix is insanely large, and actually we can't even see all of it cause some uses are behind closed doors. Whenever we make a non-trivial change (and BTW this is a purely additive change), it breaks someone somewhere. And you can rest assured that we do run a lot of testing locally to make sure we don't break people before committing, but it can't catch everything. That's just the way it is, and we try to fix it as quickly as possible -- I've spent all day so far trying to fix the consequences of applying this patch. This is not a lack of diligence, it's just that the nature of libc++ makes it difficult to test comprehensively.

I don't know what this commit broke in LLDB, if anything, but instead it's more useful to comment here with a link to the failure so we can help fix it. Being combative is no help, as we're all in the same boat.

Mon, Feb 24, 12:57 PM · Restricted Project
davide added a comment to D68480: Implementation of C++20's P1135R6 for libcxx.

This is the second time something like this happened. When you make such large scale changes -- make sure to run the lldb testsuite, or be ready to revert. We already had this discussion in the past, but clearly it didn't prevent the problem from happening again.

Mon, Feb 24, 11:07 AM · Restricted Project

Tue, Feb 18

davide committed rG2560a93b7062: [TestTargetCommand] `target var` without a process doesn't work on arm64e. (authored by davide).
[TestTargetCommand] `target var` without a process doesn't work on arm64e.
Tue, Feb 18, 1:40 PM
davide committed rG42cab985fd95: [TestTargetCommand] Remove another reference to a stale rdar. (authored by davide).
[TestTargetCommand] Remove another reference to a stale rdar.
Tue, Feb 18, 1:40 PM
davide committed rG3f5e0501b5e2: [TestGlobalVariables] Remove a reference to a stale rdar. (authored by davide).
[TestGlobalVariables] Remove a reference to a stale rdar.
Tue, Feb 18, 1:31 PM
davide committed rG0159c21119ed: [TestGlobalVariables] `target var` without a process doesn't work on arm64e. (authored by davide).
[TestGlobalVariables] `target var` without a process doesn't work on arm64e.
Tue, Feb 18, 1:31 PM

Tue, Feb 11

davide committed rGd797e33cc083: [TestConstVariable] Clean-up XFAIL lists. (authored by davide).
[TestConstVariable] Clean-up XFAIL lists.
Tue, Feb 11, 8:31 PM

Mon, Feb 10

davide added a comment to D73921: Assert that a subprogram should have a name when parsing DWARF.

DWARFASTParserClang looks to me the wrong layer to fix this. Why can't this be caught in the generic DWARF Parser?
I also believe that it's better if dwarfdump -verify crashes on this, rather than lldb.

Many

Given that this error is non-actionable, I don't see any value in diagnosing this LLDB. It is important to have this in dwarfdump, which does not detect this right now.

It might be interesting to have LLDB run in a sort of "pedantic" mode which verifies all the DWARF it consumes with the dwarf verifier in LLVM. We have something similar in dsymutil which runs the verifier over the generated dSYM.

Note that many OS X developers never debug a dSYM build of their project. They debug with .o files, then make a dSYM when they do their release builds. And they probably don't look at the output of dsymutil amidst all the noise of a build. So if we only do this in dsymutil, we are greatly narrowing the range of folks who might see & report this error to us.

I think you misunderstood my suggestion. I'm not saying that we should limit this to dsymutil. I'm saying that dsymutil has a mode where it verifies the dSYM it just created. It's entirely optional and you have to pass --verify to enable it. I suggest we have something similar in LLDB, where we have a pedantic mode that, when enabled, checks all the DWARF it reads with the DWARF verifier.

As discussed offline with Shafik, I prefer this over the current approach for a few reasons:

  • It would make this behavior opt-in. Verifying the DWARF can be expensive and not every user has control over the debug info it reads. It should be possible to silence these warnings if they don't change LLDB's behavior.
  • It would provide much better coverage than some ad-hoc checks. Currently, not getting these kind of errors form LLDB doesn't tell you much. We may or may not have a check for a particular kind of invalid DWARF, so to be sure you'd still have to run it through dwarfdump -verify.
  • It would mean we only have to maintain a single DWARF verifier, which is already tested extensively.
  • It fits with our long-term goal of moving to LLVM's DWARF parser.
Mon, Feb 10, 4:42 PM
davide committed rGb7bd35a8f13f: [TestKernVerStrLCNOTE] Check the *right* architecture. (authored by davide).
[TestKernVerStrLCNOTE] Check the *right* architecture.
Mon, Feb 10, 3:19 PM
davide committed rG6b2979c12300: Revert "[lldb] Fix+re-enable Assert StackFrame Recognizer on Linux" (authored by davide).
Revert "[lldb] Fix+re-enable Assert StackFrame Recognizer on Linux"
Mon, Feb 10, 1:31 PM
davide added a reverting change for rG1a39f1b966a8: [lldb] Fix+re-enable Assert StackFrame Recognizer on Linux: rG6b2979c12300: Revert "[lldb] Fix+re-enable Assert StackFrame Recognizer on Linux".
Mon, Feb 10, 1:31 PM
davide accepted D73938: [Host.mm] Check for the right macro instead of inlining it.

LGTM =)

Mon, Feb 10, 10:00 AM · Restricted Project

Fri, Feb 7

davide committed rG5858c9d69f5e: Revert "[TestConvienceVariable] Clean the directory before running the test." (authored by davide).
Revert "[TestConvienceVariable] Clean the directory before running the test."
Fri, Feb 7, 2:34 PM
davide added a reverting change for rG9bce9d2d65e2: [TestConvienceVariable] Clean the directory before running the test.: rG5858c9d69f5e: Revert "[TestConvienceVariable] Clean the directory before running the test.".
Fri, Feb 7, 2:34 PM
davide committed rG9bce9d2d65e2: [TestConvienceVariable] Clean the directory before running the test. (authored by davide).
[TestConvienceVariable] Clean the directory before running the test.
Fri, Feb 7, 1:58 PM
davide added a reviewer for D74252: Fix+re-enable Assert StackFrame Recognizer on Linux: friss.
Fri, Feb 7, 12:54 PM · Restricted Project

Wed, Feb 5

davide added a comment to D73952: [lldb] Ignore type sugar in TypeSystemClang::GetPointerType.

Good catch.

Wed, Feb 5, 9:36 AM · Restricted Project

Tue, Feb 4

davide closed D71316: [FormatManager] Upstream and test swift bits for GetCandidateLanguages()..

Not relevant anymore.

Tue, Feb 4, 9:53 AM · Restricted Project

Mon, Feb 3

davide created D73938: [Host.mm] Check for the right macro instead of inlining it.
Mon, Feb 3, 5:45 PM · Restricted Project
davide committed rG246097a091bf: [TestKernVerStrLCNOTE] Strengthen a check. NFC. (authored by davide).
[TestKernVerStrLCNOTE] Strengthen a check. NFC.
Mon, Feb 3, 4:41 PM
davide added a comment to D73921: Assert that a subprogram should have a name when parsing DWARF.

DWARFASTParserClang looks to me the wrong layer to fix this. Why can't this be caught in the generic DWARF Parser?
I also believe that it's better if dwarfdump -verify crashes on this, rather than lldb.

Mon, Feb 3, 3:14 PM
davide added a comment to D73921: Assert that a subprogram should have a name when parsing DWARF.

DWARFASTParserClang looks to me the right layer to fix this. Why can't this be caught in the generic DWARF Parser?
I also believe that it's better if dwarfdump -verify crashes on this, rather than lldb.

Mon, Feb 3, 3:07 PM
davide accepted D73913: [lldb/DataExtractor] Fix UB shift in GetMaxS64Bitfield.

LGTM, thanks for taking care of this.

Mon, Feb 3, 12:07 PM · Restricted Project
davide added a comment to D73913: [lldb/DataExtractor] Fix UB shift in GetMaxS64Bitfield.

I wish I had caught that one when I did D70992, might be worth checking out more of the code for similar issues.

Mon, Feb 3, 12:07 PM · Restricted Project

Wed, Jan 29

davide accepted D73630: [InstCombine][DebugInfo] Fold constants wrapped in metadata.

LGTM with Vedant's comment addressed.

Wed, Jan 29, 9:30 AM · Restricted Project, debug-info

Jan 24 2020

davide accepted D73389: [lldb/Breakpoint] Include whether or not a breakpoint is a HW BP.

LGTM.

Jan 24 2020, 5:13 PM · Restricted Project

Jan 22 2020

davide committed rGf55b033c0280: [TestStdModuleSysroot] Only run locally. (authored by davide).
[TestStdModuleSysroot] Only run locally.
Jan 22 2020, 1:57 PM

Jan 17 2020

davide committed rGc1bc094f361b: [TestQuoting] Use the fully qualified path for remote platforms. (authored by davide).
[TestQuoting] Use the fully qualified path for remote platforms.
Jan 17 2020, 11:02 AM

Jan 16 2020

davide committed rG30a8865142ab: [FastISel] Lower `llvm.dbg.value(undef, ...` correctly. (authored by davide).
[FastISel] Lower `llvm.dbg.value(undef, ...` correctly.
Jan 16 2020, 4:23 PM
davide closed D72877: [FastISel] Lower `llvm.dbg.value(undef, ...` correctly..
Jan 16 2020, 4:23 PM · debug-info, Restricted Project
davide accepted D72879: Add testing for DW_OP_piece and fix a bug with small Scalar values..

Looks great! Thanks Adrian. My understanding is that DW_OP_piece is still incomplete, right?

Jan 16 2020, 3:24 PM · Restricted Project
davide added a comment to D72877: [FastISel] Lower `llvm.dbg.value(undef, ...` correctly..

@aprantl should be ready for another pass.

Jan 16 2020, 3:24 PM · debug-info, Restricted Project
davide updated the diff for D72877: [FastISel] Lower `llvm.dbg.value(undef, ...` correctly..
  • [FastIsel] Update comments to reflect reality.
Jan 16 2020, 3:15 PM · debug-info, Restricted Project
davide updated the diff for D72877: [FastISel] Lower `llvm.dbg.value(undef, ...` correctly..

Adrian's comments.

Jan 16 2020, 3:13 PM · debug-info, Restricted Project
davide added inline comments to D72877: [FastISel] Lower `llvm.dbg.value(undef, ...` correctly..
Jan 16 2020, 3:03 PM · debug-info, Restricted Project
davide created D72877: [FastISel] Lower `llvm.dbg.value(undef, ...` correctly..
Jan 16 2020, 2:15 PM · debug-info, Restricted Project

Jan 14 2020

davide added a comment to D72684: [lldb][NFC] Rename ClangASTContext to TypeSystemClang.

This is very good, go for it. Should we do the same for Swift? cc: @aprantl
For the future, please CC: me directly on these kind of changes if you want my review, as I might miss them otherwise.

Jan 14 2020, 11:04 AM · Restricted Project

Jan 13 2020

davide committed rGfb51ce10d7dc: [LanguageRuntime] Retire an unused member function. NFCI. (authored by davide).
[LanguageRuntime] Retire an unused member function. NFCI.
Jan 13 2020, 5:46 PM

Jan 10 2020

davide accepted D72495: [lldb] Make CompleteTagDeclsScope completion order deterministic.

LGTM

Jan 10 2020, 11:09 AM · Restricted Project
davide added a comment to D72413: Add missing nullptr checks..

The C++ expression parser will probably behave incredibly incorrectly without a persistent state but before this patch it just crashed, so I think this is good to go.

Jan 10 2020, 10:22 AM · Restricted Project

Jan 9 2020

davide added a comment to D72413: Add missing nullptr checks..

@teemperor what do you think?

Jan 9 2020, 2:47 PM · Restricted Project
davide added a comment to D72413: Add missing nullptr checks..

Should we merge this like that, or is there a better way of doing this?

Jan 9 2020, 2:37 PM · Restricted Project

Jan 8 2020

davide added a comment to D72413: Add missing nullptr checks..

Raphael and Jim should look at the expression evaluator bits.

Jan 8 2020, 1:55 PM · Restricted Project
davide added a reviewer for D72413: Add missing nullptr checks.: teemperor.
Jan 8 2020, 1:55 PM · Restricted Project

Jan 6 2020

davide committed rG59fadc14eeb1: [NSArray] Remove a very old and deprecated formatter. (authored by davide).
[NSArray] Remove a very old and deprecated formatter.
Jan 6 2020, 3:04 PM
davide accepted D71985: [NewPM] Fix -lto-debug-pass-manager in LLD..

LGTM.

Jan 6 2020, 1:20 PM · Restricted Project
davide abandoned D68679: [CMake] Add a cache for iOS..

We don't need this.

Jan 6 2020, 1:11 PM · Restricted Project
davide accepted D71379: lldbutil: Forward ASan launch info to test inferiors.

This looks good to me.

Jan 6 2020, 11:22 AM · Restricted Project

Jan 3 2020

davide committed rG6c87623615b3: [UserExpression] Clean up `return` after `else`. (authored by davide).
[UserExpression] Clean up `return` after `else`.
Jan 3 2020, 4:58 PM

Dec 13 2019

davide accepted D71311: LanguageRuntime: Simplify NSException::GetSummary() output.

LGTM!

Dec 13 2019, 11:28 AM · Restricted Project

Dec 12 2019

GitHub <noreply@github.com> committed rGcd159dbf2173: Merge pull request #351 from xiaobai/no-more-index-sequence (authored by davide).
Merge pull request #351 from xiaobai/no-more-index-sequence
Dec 12 2019, 2:33 PM
GitHub <noreply@github.com> committed rGae33e4b5e452: Merge pull request #322 from apple/fixbuild (authored by davide).
Merge pull request #322 from apple/fixbuild
Dec 12 2019, 1:46 PM
davide committed rGc237dfab6bd7: [DirectoryWatcher] Fix libclang build for upstream-with-swift. (authored by davide).
[DirectoryWatcher] Fix libclang build for upstream-with-swift.
Dec 12 2019, 1:46 PM

Dec 11 2019

davide requested changes to D71311: LanguageRuntime: Simplify NSException::GetSummary() output.

Did you test on swift?

Dec 11 2019, 10:13 AM · Restricted Project
davide added a comment to D71316: [FormatManager] Upstream and test swift bits for GetCandidateLanguages()..

This is not a bad idea after all. Let me see if I can cook something reasonable without getting burned.

Dec 11 2019, 9:52 AM · Restricted Project
davide added a comment to D71316: [FormatManager] Upstream and test swift bits for GetCandidateLanguages()..

Ideally -- if we're able to make this a callback in the language plugins, we don't need this patch at all.

Dec 11 2019, 9:52 AM · Restricted Project

Dec 10 2019

davide created D71316: [FormatManager] Upstream and test swift bits for GetCandidateLanguages()..
Dec 10 2019, 4:36 PM · Restricted Project
davide added inline comments to D71311: LanguageRuntime: Simplify NSException::GetSummary() output.
Dec 10 2019, 4:27 PM · Restricted Project
davide added a comment to D71310: RFC: Remove "Validators".

Adrian and I talked about this some more. Apparently the idea was that you have some type Foo and you want to look for some error state in instances of that type (Foo::a + Foo::b < 10). So you add a Type Validator for Foo that does this check, and every time lldb prints a variable of type Foo, it will run the Validator on it, and if it fails validation, then the printer will print an ! at the beginning of the printing, and also there's an SB API to get whether the Value passed the validator.

So then you could just debug along, and either look for the ! in the printing, or add a stop hook that checks the Validator result on all locals, and if you ever saw the error state, you would know to investigate further. That's actually a pretty neat idea.

The current state of the code is that there is actually no way to add a Type Validator. To be really useful, there would need to be a way to create a scripted validator, so the Python bindings and some command/SB API to register the validator.

The implementation is a little cut-and-paste too. It shares all the same options with the Synthetic child provider & Summaries (skips pointers, cascade, etc.) but I don't think you would ever want a type validator that would only validate references to a type, but not the type itself. And then the implementation is very cut & paste. So I'm fine with deleting this for now, but maybe adding it as an interesting project idea to the Projects page - with a reference to the hash of this commit as a starting point?

It's a neat idea but it's also been 5 years now and it was never made useful...

Dec 10 2019, 4:08 PM · Restricted Project
davide accepted D71296: Replace redundant code in LanguageCategory with templates (NFC).

LGTM, in the same vein as D71231.

Dec 10 2019, 4:08 PM · Restricted Project
davide accepted D71297: Remove unsound caching in LanguageCategory.

LGTM.

Dec 10 2019, 3:57 PM · Restricted Project
davide added a comment to D71311: LanguageRuntime: Simplify NSException::GetSummary() output.

This one looks fine -- can you please check that this patch applied on swift still produces something reasonable for mixed obj-C/swift formatters?
My guess is that it will, and you probably just need to update some tests.

Dec 10 2019, 3:57 PM · Restricted Project
davide committed rGf387b9974510: [DataFormatters] Change the Get() method to take a LanguageType. (authored by davide).
[DataFormatters] Change the Get() method to take a LanguageType.
Dec 10 2019, 3:23 PM
davide committed rGbbcdcea4bf84: [TypeCategory] IsApplicable gets a LanguageType, not a ValueObject. (authored by davide).
[TypeCategory] IsApplicable gets a LanguageType, not a ValueObject.
Dec 10 2019, 2:59 PM
davide closed D71305: [TypeCategory] IsApplicable gets a LanguageType, not a ValueObject..
Dec 10 2019, 2:59 PM · Restricted Project
davide created D71305: [TypeCategory] IsApplicable gets a LanguageType, not a ValueObject..
Dec 10 2019, 2:46 PM · Restricted Project
davide committed rGe8d955f29de7: [FormatManager] Add a unittest for GetCandidateLanguages() (authored by davide).
[FormatManager] Add a unittest for GetCandidateLanguages()
Dec 10 2019, 1:44 PM
davide closed D71299: [FormatManager] Add a unittest for GetCandidateLanguages().
Dec 10 2019, 1:43 PM · Restricted Project
davide created D71299: [FormatManager] Add a unittest for GetCandidateLanguages().
Dec 10 2019, 1:42 PM · Restricted Project

Dec 9 2019

davide committed rGbc69dd2cfae3: [FormatManager] GetCandidateLanguages shouldn't know about ValueObject. (authored by davide).
[FormatManager] GetCandidateLanguages shouldn't know about ValueObject.
Dec 9 2019, 5:17 PM
davide closed D71236: [FormatManager] GetCandidateLanguages shouldn't know about ValueObject..
Dec 9 2019, 5:17 PM · Restricted Project
davide created D71236: [FormatManager] GetCandidateLanguages shouldn't know about ValueObject..
Dec 9 2019, 5:07 PM · Restricted Project
davide committed rG295db41ce230: [FormatManager] Provide a single entrypoint for GetCandidateLanguages(). (authored by davide).
[FormatManager] Provide a single entrypoint for GetCandidateLanguages().
Dec 9 2019, 2:54 PM

Dec 5 2019

davide added a comment to D71093: [InstCombine] Insert instructions before adding them to worklist.

This looks fine, I wonder whether it's worth testing [how easy it's to test, that is]

Dec 5 2019, 3:17 PM · Restricted Project

Dec 3 2019

davide committed rGcec82634a403: [Process] GetLanguageRuntimes() takes an argument that's always constant. (authored by davide).
[Process] GetLanguageRuntimes() takes an argument that's always constant.
Dec 3 2019, 4:56 PM
davide committed rG11ae9dd6576e: [ClangASTContext] Remove a very old hack. (authored by davide).
[ClangASTContext] Remove a very old hack.
Dec 3 2019, 4:38 PM
davide committed rG2bb19f93f6a8: [TypeCategory] HasLanguage() is now unused. (authored by davide).
[TypeCategory] HasLanguage() is now unused.
Dec 3 2019, 3:51 PM
davide abandoned D70989: [TypeCategory] IsApplicable doesn't seem to apply..

Nevermind, I found a better way.

Dec 3 2019, 3:51 PM · Restricted Project
davide added a comment to D70989: [TypeCategory] IsApplicable doesn't seem to apply..

Please don't merge this yet. I'm mostly trying to understand if this is dead code or not.

Dec 3 2019, 3:33 PM · Restricted Project
davide created D70989: [TypeCategory] IsApplicable doesn't seem to apply..
Dec 3 2019, 3:23 PM · Restricted Project
davide committed rG89618a7ce1c1: [DataVisualization] Simplify. NFCI. (authored by davide).
[DataVisualization] Simplify. NFCI.
Dec 3 2019, 3:05 PM
davide committed rG0cfb4a6b3d95: [FormatManager] Provide only one variant of EnableCategory. (authored by davide).
[FormatManager] Provide only one variant of EnableCategory.
Dec 3 2019, 3:05 PM
davide accepted D70979: [lldb][NFC] Migrate to raw_ostream in ArchSpec::DumpTriple.

LGTM.

Dec 3 2019, 2:08 PM · Restricted Project
davide committed rG15a172bebbc5: [TypeCategory] Nothing passes down a list of languages. (authored by davide).
[TypeCategory] Nothing passes down a list of languages.
Dec 3 2019, 1:58 PM
davide closed D70983: [TypeCategory] Nothing passes down a list of languages..
Dec 3 2019, 1:58 PM · Restricted Project
davide created D70983: [TypeCategory] Nothing passes down a list of languages..
Dec 3 2019, 1:40 PM · Restricted Project

Dec 2 2019

davide added a comment to D69273: ValueObject: Fix a crash related to children address type computation.

We've been off all the past week. I'll circle back with Jim about this once I get to the office.

Dec 2 2019, 7:37 AM · Restricted Project

Nov 22 2019

davide committed rGc32f0ff92f02: [InstCombine] Fix call guard difference with dbg (authored by davide).
[InstCombine] Fix call guard difference with dbg
Nov 22 2019, 1:39 PM
davide closed D68004: [InstCombine] Fix call guard difference with dbg.
Nov 22 2019, 1:39 PM · Restricted Project
davide added a comment to D68004: [InstCombine] Fix call guard difference with dbg.
commit c32f0ff92f024a8af438fc8d85906e441b5a2682 (HEAD -> master, origin/master, origin/HEAD)
Author: Davide Italiano <ditaliano@apple.com>
Date:   Fri Nov 22 13:02:18 2019 -0800
Nov 22 2019, 1:38 PM · Restricted Project
davide added a comment to D68004: [InstCombine] Fix call guard difference with dbg.

I'm committing this for you.

Nov 22 2019, 11:02 AM · Restricted Project

Nov 21 2019

davide added a comment to D70324: [lldb][test] Prevent \n in calls to lldb's expect() test helper..

[This is probably not the right patch, as the last run on that bot still doesn't have this commit.]

My understanding is that all pexpect tests are failing on that bot and are skipped with @skipIfAsan. Probably this one needs to be skipped too. @teemperor was trying to reproduce some of those failures locally and failed... Maybe that bot is cursed...

Nov 21 2019, 1:17 PM · Restricted Project
davide added a comment to D70324: [lldb][test] Prevent \n in calls to lldb's expect() test helper..

Hey Jordan, it looks like some of the changes to TestEditLine [or adjacent to it] broke the sanitized build on macOS.
Can I ask you to take a look? Thanks

Nov 21 2019, 11:00 AM · Restricted Project

Nov 20 2019

davide committed rG6f4398d1b995: [lldb] Fix NSURL data formatter truncation issue (authored by davide).
[lldb] Fix NSURL data formatter truncation issue
Nov 20 2019, 12:29 PM
davide added a comment to D70393: [lldb] Fix NSURL data formatter truncation issue in Swift.
commit 6f4398d1b9950d48ead91b2b550792f2bbe4778e (HEAD -> master, origin/master, origin/HEAD)
Author: Davide Italiano <ditaliano@apple.com>
Date:   Wed Nov 20 12:27:26 2019 -0800
Nov 20 2019, 12:29 PM · Restricted Project
davide accepted D70393: [lldb] Fix NSURL data formatter truncation issue in Swift.

LGTM

Nov 20 2019, 12:29 PM · Restricted Project

Nov 18 2019

davide accepted D70409: [Docs] Add reproducer documentation..

Thanks for writing this up!

Nov 18 2019, 1:52 PM · Restricted Project
davide added a comment to D70393: [lldb] Fix NSURL data formatter truncation issue in Swift.

Thanks again for your contribution!

Nov 18 2019, 1:15 PM · Restricted Project
davide accepted D70388: [lldb] Remove ClangExpressionDeclMap::ResolveUnknownTypes.
Nov 18 2019, 9:47 AM · Restricted Project
davide added a comment to D70393: [lldb] Fix NSURL data formatter truncation issue in Swift.

While I review this, can you create a corresponding change to swift.org which tests this? [I don't think we have a way of triggering this from pure Obj-C, but I may be wrong].

Nov 18 2019, 9:29 AM · Restricted Project