<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp, branch 1.49.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.49.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.49.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-11-03T18:32:26+00:00</updated>
<entry>
<title>Rollup merge of #77950 - arlosi:sha256, r=eddyb</title>
<updated>2020-11-03T18:32:26+00:00</updated>
<author>
<name>Mara Bos</name>
<email>m-ou.se@m-ou.se</email>
</author>
<published>2020-11-03T18:32:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=52405f7c0cc3e8cc52293ea19b78da88eb79af2d'/>
<id>urn:sha1:52405f7c0cc3e8cc52293ea19b78da88eb79af2d</id>
<content type='text'>
Add support for SHA256 source file hashing

Adds support for `-Z src-hash-algorithm sha256`, which became available in LLVM 11.

Using an older version of LLVM will cause an error `invalid checksum kind` if the hash algorithm is set to sha256.

r? `@eddyb`
cc #70401 `@est31`
</content>
</entry>
<entry>
<title>Auto merge of #78531 - cuviper:unwrap-metadata, r=tmandry</title>
<updated>2020-11-01T09:30:11+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-11-01T09:30:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1e37ba76d47280fa867c3863aa6d22376535637a'/>
<id>urn:sha1:1e37ba76d47280fa867c3863aa6d22376535637a</id>
<content type='text'>
rustc_llvm: unwrap LLVMMetadataRef before casting

Directly casting the opaque pointer was [reported] to cause an
"incomplete type" error with GCC 9.3:

```
llvm-wrapper/RustWrapper.cpp:939:31:   required from here
/usr/include/c++/9.3/type_traits:1301:12: error: invalid use of incomplete type 'struct LLVMOpaqueMetadata'
 1301 |     struct is_base_of
      |            ^~~~~~~~~~
In file included from [...]/rust/src/llvm-project/llvm/include/llvm-c/BitReader.h:23,
                 from llvm-wrapper/LLVMWrapper.h:1,
                 from llvm-wrapper/RustWrapper.cpp:1:
[...]/rust/src/llvm-project/llvm/include/llvm-c/Types.h:89:16: note: forward declaration of 'struct LLVMOpaqueMetadata'
   89 | typedef struct LLVMOpaqueMetadata *LLVMMetadataRef;
      |                ^~~~~~~~~~~~~~~~~~
```

[reported]: https://zulip-archive.rust-lang.org/182449tcompilerhelp/12215halprustcllvmbuildfail.html#214915124

A simple `unwrap` fixes the issue.

r? `@eddyb`
</content>
</entry>
<entry>
<title>rustc_llvm: unwrap LLVMMetadataRef before casting</title>
<updated>2020-10-29T16:45:15+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2020-10-29T16:45:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dcbf2f324f3e3c116b3a7f45b501e2382e89510d'/>
<id>urn:sha1:dcbf2f324f3e3c116b3a7f45b501e2382e89510d</id>
<content type='text'>
Directly casting the opaque pointer was [reported] to cause an
"incomplete type" error with GCC 9.3:

```
llvm-wrapper/RustWrapper.cpp:939:31:   required from here
/usr/include/c++/9.3/type_traits:1301:12: error: invalid use of incomplete type 'struct LLVMOpaqueMetadata'
 1301 |     struct is_base_of
      |            ^~~~~~~~~~
In file included from [...]/rust/src/llvm-project/llvm/include/llvm-c/BitReader.h:23,
                 from llvm-wrapper/LLVMWrapper.h:1,
                 from llvm-wrapper/RustWrapper.cpp:1:
[...]/rust/src/llvm-project/llvm/include/llvm-c/Types.h:89:16: note: forward declaration of 'struct LLVMOpaqueMetadata'
   89 | typedef struct LLVMOpaqueMetadata *LLVMMetadataRef;
      |                ^~~~~~~~~~~~~~~~~~
```

[reported]: https://zulip-archive.rust-lang.org/182449tcompilerhelp/12215halprustcllvmbuildfail.html#214915124

A simple `unwrap` fixes the issue.
</content>
</entry>
<entry>
<title>Rollup merge of #78462 - danielframpton:fixnullisa, r=nagisa</title>
<updated>2020-10-29T16:05:23+00:00</updated>
<author>
<name>Jonas Schievink</name>
<email>jonasschievink@gmail.com</email>
</author>
<published>2020-10-29T16:05:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=38c34098b10a6311b63db96c3542664843232148'/>
<id>urn:sha1:38c34098b10a6311b63db96c3542664843232148</id>
<content type='text'>
Use unwrapDIPtr because the Scope may be null.

I ran into an assertion when using debug information on Windows with LLVM assertions enabled.

It seems like we are using unwrap here (which in turn calls isa and requires the pointer to be non-null) but we expect the value to be null because that is what we are passing from rustc.

This change uses unwrapDIPtr which explicitly allows nullptr.

The FFI prototype for this method on the rust side has the `LLVMMetadataRef` parameter as `Scope: Option&lt;&amp;'a DIScope&gt;`, and we always pass `None` when `msvc_like_names` is true.
</content>
</entry>
<entry>
<title>Use unwrapDIPtr because the Scope may be passed as None</title>
<updated>2020-10-28T01:05:16+00:00</updated>
<author>
<name>Daniel Frampton</name>
<email>dframpto@microsoft.com</email>
</author>
<published>2020-10-28T01:05:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a3bff691344ed94ca5ebab8a043141a0e56931d2'/>
<id>urn:sha1:a3bff691344ed94ca5ebab8a043141a0e56931d2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustc_codegen_llvm: avoid converting between DILocation and Value.</title>
<updated>2020-10-21T01:43:57+00:00</updated>
<author>
<name>Eduard-Mihai Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2020-02-10T20:52:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=88d874de6395a5422caad1f61783dadd395d49d0'/>
<id>urn:sha1:88d874de6395a5422caad1f61783dadd395d49d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustc_codegen_llvm: move DISubprogram creation to a dbg_scope_fn method.</title>
<updated>2020-10-21T01:43:57+00:00</updated>
<author>
<name>Eduard-Mihai Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2020-02-10T20:30:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fa2b381ec83556111a99750bcc7688521d7e8b0d'/>
<id>urn:sha1:fa2b381ec83556111a99750bcc7688521d7e8b0d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add support for SHA256 source file hashing for LLVM 11+.</title>
<updated>2020-10-14T22:09:51+00:00</updated>
<author>
<name>Arlo Siemsen</name>
<email>arsiem@microsoft.com</email>
</author>
<published>2020-10-13T15:41:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3296d5ca7b41154359eaec76d9f77310816c9913'/>
<id>urn:sha1:3296d5ca7b41154359eaec76d9f77310816c9913</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update LLVM and add Unsupported diagnostic</title>
<updated>2020-09-30T13:57:37+00:00</updated>
<author>
<name>Hugues de Valon</name>
<email>hugues.devalon@arm.com</email>
</author>
<published>2020-09-29T11:20:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d255d70e7a6a84c82cc74f968f529f42dd40b8ce'/>
<id>urn:sha1:d255d70e7a6a84c82cc74f968f529f42dd40b8ce</id>
<content type='text'>
Secure entry functions do not support if arguments are passed on the
stack. An "unsupported" diagnostic will be emitted by LLVM if that is
the case.
This commits adds support in Rust for that diagnostic so that an error
will be output if that is the case!

Signed-off-by: Hugues de Valon &lt;hugues.devalon@arm.com&gt;
</content>
</entry>
<entry>
<title>Move `rustllvm` into `rustc_llvm`</title>
<updated>2020-09-09T20:05:43+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2020-07-26T17:11:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=10d3f8a484a812db995198f17b17462718f477bc'/>
<id>urn:sha1:10d3f8a484a812db995198f17b17462718f477bc</id>
<content type='text'>
</content>
</entry>
</feed>
