<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_llvm/src/debuginfo, branch 1.54.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.54.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.54.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2021-06-02T14:23:12+00:00</updated>
<entry>
<title>Respond to review feedback</title>
<updated>2021-06-02T14:23:12+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-05-26T16:02:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3127419e2b2cb4ad2e44a06d30af6a015daf4557'/>
<id>urn:sha1:3127419e2b2cb4ad2e44a06d30af6a015daf4557</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change the type name from `_enum&lt;..&gt;` to `enum$&lt;..&gt;`</title>
<updated>2021-06-02T14:23:12+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-05-20T17:58:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ef053fd6f0faa848097ff8b924ac859c667c8d15'/>
<id>urn:sha1:ef053fd6f0faa848097ff8b924ac859c667c8d15</id>
<content type='text'>
This makes the type name inline with the proposed standard in #85269.
</content>
</entry>
<entry>
<title>Respond to review feedback</title>
<updated>2021-06-02T14:23:11+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-05-17T15:09:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d2d6fa852d22eb4e9259cd708e33e7afaa9211d0'/>
<id>urn:sha1:d2d6fa852d22eb4e9259cd708e33e7afaa9211d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make tidy happy</title>
<updated>2021-06-02T14:23:11+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-05-14T15:17:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d65009111734c2a4d89cad5d2fb7bbf08c813b7c'/>
<id>urn:sha1:d65009111734c2a4d89cad5d2fb7bbf08c813b7c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Generate better debuginfo for niche-layout enums</title>
<updated>2021-06-02T14:23:10+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-05-13T20:39:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=141546c355f2de7501c1df75dd97229ed350eeb3'/>
<id>urn:sha1:141546c355f2de7501c1df75dd97229ed350eeb3</id>
<content type='text'>
Previously, we would generate a single struct with the layout of the
dataful variant plus an extra field whose name contained the value of
the niche (this would only really work for things like `Option&lt;&amp;_&gt;`
where we can determine that the `None` case maps to `0` but for enums
that have multiple tag only variants, this doesn't work).

Now, we generate a union of two structs, one which is the layout of the
dataful variant and one which just has a way of reading the
discriminant. We also generate an enum which maps the discriminant value
to the tag only variants.

We also encode information about the range of values which correspond to
the dataful variant in the type name and then use natvis to determine
which union field we should display to the user.

As a result of this change, all niche-layout enums render correctly in
WinDbg and Visual Studio!
</content>
</entry>
<entry>
<title>Remove fallback for containing scopes</title>
<updated>2021-06-02T14:23:10+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-04-28T20:32:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2a025c1a765a593030fc6e80a45f4f1053f15aae'/>
<id>urn:sha1:2a025c1a765a593030fc6e80a45f4f1053f15aae</id>
<content type='text'>
This wasn't necessary for msvc and caused issues where different types
with the same name such as different instantiations of `Option&lt;T&gt;` would
have colliding debuginfo. This confused the debugger which would pick
one of the type definitions and use for all types with that name even
though they had different layout.
</content>
</entry>
<entry>
<title>Resolve EnumTagInfo FIXME</title>
<updated>2021-06-02T14:23:10+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-04-27T14:42:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b644f06326577e0926ddf9896fd702befc7bd43e'/>
<id>urn:sha1:b644f06326577e0926ddf9896fd702befc7bd43e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Generate better debuginfo for directly tagged enums</title>
<updated>2021-06-02T14:23:09+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-04-26T18:39:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f353cbf1a145603e1f69c2aaaef171dd60ca4c65'/>
<id>urn:sha1:f353cbf1a145603e1f69c2aaaef171dd60ca4c65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #85178 - cjgillot:local-crate, r=oli-obk</title>
<updated>2021-05-17T01:42:03+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-05-17T01:42:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3396a383bb1d1fdad8ceeb74f16cf08e0bd62a1b'/>
<id>urn:sha1:3396a383bb1d1fdad8ceeb74f16cf08e0bd62a1b</id>
<content type='text'>
Remove CrateNum parameter for queries that only work on local crate

The pervasive `CrateNum` parameter is a remnant of the multi-crate rustc idea.

Using `()` as query key in those cases avoids having to worry about the validity of the query key.
</content>
</entry>
<entry>
<title>Use () for codegen queries.</title>
<updated>2021-05-12T11:58:46+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2021-05-11T12:39:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0bde3b1f80f642831d8de5cd76e90fc468dd3ab5'/>
<id>urn:sha1:0bde3b1f80f642831d8de5cd76e90fc468dd3ab5</id>
<content type='text'>
</content>
</entry>
</feed>
