<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/debuginfo, branch 1.37.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.37.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.37.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2019-05-20T09:44:26+00:00</updated>
<entry>
<title>Fix CDB support tidy check line length failures.</title>
<updated>2019-05-20T09:44:26+00:00</updated>
<author>
<name>MaulingMonkey</name>
<email>git@maulingmonkey.com</email>
</author>
<published>2019-05-20T09:44:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a423a70bb303195f09753dfdc5a7c4e149e29ff'/>
<id>urn:sha1:0a423a70bb303195f09753dfdc5a7c4e149e29ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add basic CDB support to debuginfo compiletest s, to help catch `*.natvis` regressions, like those fixed in #60687.</title>
<updated>2019-05-20T00:10:48+00:00</updated>
<author>
<name>MaulingMonkey</name>
<email>git@maulingmonkey.com</email>
</author>
<published>2019-05-20T00:10:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e33c4415b3a504bd723328a38bce0f14786db61b'/>
<id>urn:sha1:e33c4415b3a504bd723328a38bce0f14786db61b</id>
<content type='text'>
Several Microsoft debuggers (VS, VS Code, WinDbg, CDB, ...) consume the `*.natvis` files we embed into rust `*.pdb` files.
While this only tests CDB, that test coverage should help for all of them.

CHANGES

src\bootstrap
  - test.rs:  Run CDB debuginfo tests on MSVC targets

src\test\debuginfo
  - issue-13213.rs:  CDB has trouble with this, skip for now (newly discovered regression?)
  - pretty-std.rs:  Was ignored, re-enable for CDB only to start with, add CDB tests.
  - should-fail.rs:  Add CDB tests.

src\tools\compiletest:
  - Added "-cdb" option
  - Added Mode::DebugInfoCdb ("debuginfo-cdb")
  - Added run_debuginfo_cdb_test[_no_opt]
  - Renamed Mode::DebugInfoBoth -&gt; DebugInfoGdbLldb ("debuginfo-gdb+lldb") since it's no longer clear what "Both" means.
  - Find CDB at the default Win10 SDK install path "C:\Program Files (x86)\Windows Kits\10\Debugger\*\cdb.exe"
  - Ignore CDB tests if CDB not found.

ISSUES

  - `compute_stamp_hash`: not sure if there's any point in hashing `%ProgramFiles(x86)%`
  - `OsString` lacks any `*.natvis` entries (would be nice to add in a followup changelist)
  - DSTs (array/string slices) which work in VS &amp; VS Code fail in CDB.
  - I've avoided `Mode::DebugInfoAll` as 3 debuggers leads to pow(2,3)=8 possible combinations.

REFERENCE

CDB is not part of the base Visual Studio install, but can be added via the Windows 10 SDK:
  https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
Installing just "Debugging Tools for Windows" is sufficient.

CDB appears to already be installed on appveyor CI, where this changelist can find it, based on it's use here:
  https://github.com/rust-lang/rust/blob/0ffc57311030a1930edfa721fe57d0000a063af4/appveyor.yml#L227

CDB commands and command line reference:
  https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-reference
</content>
</entry>
<entry>
<title>Address review comments</title>
<updated>2019-05-04T02:25:35+00:00</updated>
<author>
<name>Tyler Mandry</name>
<email>tmandry@gmail.com</email>
</author>
<published>2019-05-03T23:11:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=77a6d29f483c6a1925a90f7e54b0d5721806d8fa'/>
<id>urn:sha1:77a6d29f483c6a1925a90f7e54b0d5721806d8fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Include generator locals as field names in debuginfo</title>
<updated>2019-04-25T17:28:09+00:00</updated>
<author>
<name>Tyler Mandry</name>
<email>tmandry@gmail.com</email>
</author>
<published>2019-04-18T22:36:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f772c39bf9fb3af982bb9a4728d4fdc7308a8bbd'/>
<id>urn:sha1:f772c39bf9fb3af982bb9a4728d4fdc7308a8bbd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make generator object debuginfo easier to read</title>
<updated>2019-04-25T17:28:09+00:00</updated>
<author>
<name>Tyler Mandry</name>
<email>tmandry@gmail.com</email>
</author>
<published>2019-04-18T00:46:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6e2e17d1152d46314b332ecaf11b80786386b919'/>
<id>urn:sha1:6e2e17d1152d46314b332ecaf11b80786386b919</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Describe generator variants in debuginfo</title>
<updated>2019-04-25T17:28:09+00:00</updated>
<author>
<name>Tyler Mandry</name>
<email>tmandry@gmail.com</email>
</author>
<published>2019-04-13T00:03:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=961ba95e5a89a101db38e120468be6224af3f8cc'/>
<id>urn:sha1:961ba95e5a89a101db38e120468be6224af3f8cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Test debuginfo of different var liveness in generators</title>
<updated>2019-04-25T17:12:57+00:00</updated>
<author>
<name>Tyler Mandry</name>
<email>tmandry@gmail.com</email>
</author>
<published>2019-03-21T21:35:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9e06f2520088a3ad77018f1f5d4c8d3b90497fb1'/>
<id>urn:sha1:9e06f2520088a3ad77018f1f5d4c8d3b90497fb1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unnecessary ignore-tidy-linelength</title>
<updated>2019-04-23T10:42:14+00:00</updated>
<author>
<name>varkor</name>
<email>github@varkor.com</email>
</author>
<published>2019-04-22T15:15:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=62838975d005b01c110a355a6e60cdedc08ecd48'/>
<id>urn:sha1:62838975d005b01c110a355a6e60cdedc08ecd48</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove double trailing newlines</title>
<updated>2019-04-22T15:57:01+00:00</updated>
<author>
<name>varkor</name>
<email>github@varkor.com</email>
</author>
<published>2019-04-22T15:55:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7f0f0e31ecceacfc627440216e559b9625378ecc'/>
<id>urn:sha1:7f0f0e31ecceacfc627440216e559b9625378ecc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #59380 - philipc:thinlto-variant, r=michaelwoerister</title>
<updated>2019-03-30T13:14:53+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-03-30T13:14:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ae2551825dbe5a688d00e1d1e7aa7dbaec274e50'/>
<id>urn:sha1:ae2551825dbe5a688d00e1d1e7aa7dbaec274e50</id>
<content type='text'>
Fix invalid DWARF for enums when using ThinLTO

We were setting the same identifier for both the DW_TAG_structure_type
and the DW_TAG_variant_part. This becomes a problem when using ThinLTO
becauses it uses the identifier as a key for a map of types that is used
to delete duplicates based on the ODR, so one of them is deleted as a
duplicate, resulting in invalid DWARF.

The DW_TAG_variant_part isn't a standalone type, so it doesn't need
an identifier. Fix by omitting its identifier.

ODR uniquing is [enabled here](https://github.com/rust-lang/rust/blob/f21dee2c6179276321a88a63300dce74ff707e92/src/rustllvm/PassWrapper.cpp#L1101).
</content>
</entry>
</feed>
