<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp, branch 1.80.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.80.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.80.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-04-19T09:09:26+00:00</updated>
<entry>
<title>coverage. Generate Mappings of decisions and conditions for MC/DC</title>
<updated>2024-04-19T09:09:26+00:00</updated>
<author>
<name>zhuyunxing</name>
<email>zhuyunxing.zyx@alibaba-inc.com</email>
</author>
<published>2024-04-19T02:53:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf6b6cb2b4d6e1d4b1d7ec9daa2debf075bd7ed6'/>
<id>urn:sha1:cf6b6cb2b4d6e1d4b1d7ec9daa2debf075bd7ed6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #123437 - Zalathar:clang-format, r=cuviper</title>
<updated>2024-04-05T01:16:57+00:00</updated>
<author>
<name>Jacob Pratt</name>
<email>jacob@jhpratt.dev</email>
</author>
<published>2024-04-05T01:16:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=daef0fd87829dc063201828f591c70ac47beffd9'/>
<id>urn:sha1:daef0fd87829dc063201828f591c70ac47beffd9</id>
<content type='text'>
Manually run `clang-format` on `CoverageMappingWrapper.cpp`

In the current version of #123409, there are several unrelated changes to `CoverageMappingWrapper.cpp` that seem to be the result of running `clang-format` on that file.

Instead of asking for those changes to be undone, I figure it's easier to just make them myself as a separate PR, since I was vaguely intending to do that at some point anyway.

In a few cases I've strategically added comments to make the grouping of parameters a little nicer, but mostly it doesn't matter much.
</content>
</entry>
<entry>
<title>Manually run `clang-format` on `CoverageMappingWrapper.cpp`</title>
<updated>2024-04-03T23:55:20+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2024-04-03T23:55:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f6b97ef5e567f9893cd58b6fd00fee033593bd59'/>
<id>urn:sha1:f6b97ef5e567f9893cd58b6fd00fee033593bd59</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Correctly report and check LLVM's coverage mapping version</title>
<updated>2024-04-02T22:53:49+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2024-02-13T12:00:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8289dadfbc5af6af9b7995e3d41b7cbda3a1139c'/>
<id>urn:sha1:8289dadfbc5af6af9b7995e3d41b7cbda3a1139c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Explicitly assign constructed C++ classes</title>
<updated>2024-03-06T05:15:56+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2024-03-06T04:04:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=23623a08d6a181864a7b8609682eee27534b12f4'/>
<id>urn:sha1:23623a08d6a181864a7b8609682eee27534b12f4</id>
<content type='text'>
C++ style guides I am aware of recommend specifically preferring = syntax
for any classes with fairly obvious constructors[^0] that do not perform
any complicated logic in their constructor. I contend that all constructors
that the `rustc_llvm` code uses qualify. This has only become more common
since C++ 17 guaranteed many cases of copy initialization elision.

The other detail is that I tried to ask another contributor with
infinitely more C++ experience than me (i.e. any) what this constructor
syntax was, and they thought it was a macro. I know of no other language
that has adopted this same syntax. As the rustc codebase features many
contributors experienced in many other languages, using a less...
unique... style has many other benefits in making this code more
lucid and maintainable, which is something it direly needs.

[^0]: e.g. https://abseil.io/tips/88
</content>
</entry>
<entry>
<title>RustWrapper: adapt for coverage mapping API changes</title>
<updated>2024-02-13T14:15:14+00:00</updated>
<author>
<name>Tim Neumann</name>
<email>timnn@google.com</email>
</author>
<published>2024-02-13T14:15:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=14ec3b6c91cd470513dcbbda8293f093c54d30db'/>
<id>urn:sha1:14ec3b6c91cd470513dcbbda8293f093c54d30db</id>
<content type='text'>
</content>
</entry>
<entry>
<title>llvm-wrapper: adapt for LLVM API changes</title>
<updated>2023-12-18T11:25:31+00:00</updated>
<author>
<name>Krasimir Georgiev</name>
<email>krasimir@google.com</email>
</author>
<published>2023-12-14T15:02:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a285e8de7eec36e1de68c83764d23f2522a4274'/>
<id>urn:sha1:0a285e8de7eec36e1de68c83764d23f2522a4274</id>
<content type='text'>
Adapt for https://github.com/llvm/llvm-project/commit/8ecbb0404d740d1ab173554e47cef39cd5e3ef8c.
</content>
</entry>
<entry>
<title>coverage: Don't convert symbol names to `CString` for FFI</title>
<updated>2023-08-04T00:48:05+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2023-07-24T07:47:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4b154bc8e2bed4c69ae46dd761780a452073f771'/>
<id>urn:sha1:4b154bc8e2bed4c69ae46dd761780a452073f771</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Don't convert filenames to `CString` for FFI</title>
<updated>2023-08-04T00:48:05+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2023-07-24T07:27:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e1841186834fa53abccacc8742025986bfaf5f9e'/>
<id>urn:sha1:e1841186834fa53abccacc8742025986bfaf5f9e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove `LLVMRustCoverageHashCString`</title>
<updated>2023-07-13T01:31:15+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2023-07-07T07:07:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=352d0315998c3691e811d8406ae7931143cf7a16'/>
<id>urn:sha1:352d0315998c3691e811d8406ae7931143cf7a16</id>
<content type='text'>
Coverage has two FFI functions for computing the hash of a byte string. One
takes a ptr/len pair, and the other takes a NUL-terminated C string.

But on closer inspection, the C string version is unnecessary. The calling-side
code converts a Rust `&amp;str` into a C string, and the C++ code then immediately
turns it back into a ptr/len string before actually hashing it.
</content>
</entry>
</feed>
