Page MenuHomePhabricator

[TSan][libdispatch] Port to C++

Authored by yln on Apr 12 2019, 3:34 PM.



Apparently, it makes a difference on where a block lives depending on if
it's passed "inline" versus assigned and then passed via a variable.
Both tests in this commit now give a signal, if Block_copy is used in

Since these tests use different mechanisms (Objective-C retain versus
C++ copy constructor) as proxies to observe if the block was copied, we
should keep both of them.

Commit, that first avoided the unnecessary copy:

Event Timeline

yln created this revision.Apr 12 2019, 3:34 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptApr 12 2019, 3:34 PM
Herald added subscribers: llvm-commits, Restricted Project, kubamracek. · View Herald Transcript
kubamracek added inline comments.Apr 15 2019, 10:25 AM

What is this change doing?

yln marked an inline comment as done.Apr 15 2019, 10:34 AM
yln added inline comments.

It's just changing to compile both binaries first, (instead of compile, check, compile, check) so that it is easier to debug/compare outputs in case the FileCheck fails. Also reformat line, so it's obvious that the only difference between those two line is -fno-sanitize=thread.

kubamracek accepted this revision.Apr 15 2019, 4:33 PM
This revision is now accepted and ready to land.Apr 15 2019, 4:33 PM
This revision was automatically updated to reflect the committed changes.