<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/rustllvm/RustWrapper.cpp, branch 1.13.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.13.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.13.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-09-26T17:40:29+00:00</updated>
<entry>
<title>Extend preprocessor LLVM version checks to support LLVM 4.x</title>
<updated>2016-09-26T17:40:29+00:00</updated>
<author>
<name>Jake Goulding</name>
<email>jake.goulding@gmail.com</email>
</author>
<published>2016-09-24T14:44:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e6e117c33ac16d2dc0a852bbc8809e5b23fa8c7b'/>
<id>urn:sha1:e6e117c33ac16d2dc0a852bbc8809e5b23fa8c7b</id>
<content type='text'>
This doesn't actually do anything for LLVM 4.x yet, but sets the stage.
</content>
</entry>
<entry>
<title>Fix incorrect LLVM Linkage enum</title>
<updated>2016-09-04T21:12:01+00:00</updated>
<author>
<name>Matt Ickstadt</name>
<email>mattico8@gmail.com</email>
</author>
<published>2016-09-01T18:52:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b9a8c1a06300c4d042b5455d83cacd689bad6283'/>
<id>urn:sha1:b9a8c1a06300c4d042b5455d83cacd689bad6283</id>
<content type='text'>
The `Linkage` enum in librustc_llvm got out of sync with the version in LLVM and it caused two variants of the #[linkage=""] attribute to break.

This adds the functions `LLVMRustGetLinkage` and `LLVMRustSetLinkage` which convert between the Rust Linkage enum and the LLVM one, which should stop this from breaking every time LLVM changes it.

Fixes #33992
</content>
</entry>
<entry>
<title>Fix debug line info for macro expansions. </title>
<updated>2016-08-25T07:40:42+00:00</updated>
<author>
<name>Vadim Chugunov</name>
<email>vadimcn@gmail.com</email>
</author>
<published>2016-08-25T02:34:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf6461168f5a784c996ffd6618d23f33113d2819'/>
<id>urn:sha1:cf6461168f5a784c996ffd6618d23f33113d2819</id>
<content type='text'>
Macro expansions produce code tagged with debug locations that are completely different from the surrounding expressions.  This wrecks havoc on debugger's ability the step over source lines.

In order to have a good line stepping behavior in debugger, we overwrite debug locations of macro expansions with that of the outermost expansion site.</content>
</entry>
<entry>
<title>finish type-auditing rustllvm</title>
<updated>2016-08-03T12:08:47+00:00</updated>
<author>
<name>Ariel Ben-Yehuda</name>
<email>ariel.byd@gmail.com</email>
</author>
<published>2016-08-02T21:25:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3041a97b1acef4f8549d9e297db8deaf571341f2'/>
<id>urn:sha1:3041a97b1acef4f8549d9e297db8deaf571341f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>begin auditing the C++ types in RustWrapper</title>
<updated>2016-08-03T12:08:47+00:00</updated>
<author>
<name>Ariel Ben-Yehuda</name>
<email>ariel.byd@gmail.com</email>
</author>
<published>2016-08-01T23:35:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d091ef802f5aa6d5b81e711ecd7e5f66a76b01a9'/>
<id>urn:sha1:d091ef802f5aa6d5b81e711ecd7e5f66a76b01a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[LLVM-3.9] Rename custom methods to Rust-specific ones</title>
<updated>2016-07-29T08:29:44+00:00</updated>
<author>
<name>Jan-Erik Rediger</name>
<email>janerik@fnordig.de</email>
</author>
<published>2016-07-12T22:38:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7420874a97a268d1c75dbc0e95231e4c8a1d513a'/>
<id>urn:sha1:7420874a97a268d1c75dbc0e95231e4c8a1d513a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reflect supporting only LLVM 3.7+ in the LLVM wrappers</title>
<updated>2016-06-09T19:59:26+00:00</updated>
<author>
<name>Jake Goulding</name>
<email>jake.goulding@gmail.com</email>
</author>
<published>2016-06-09T13:41:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4f01329e0eb48c9481e91ff1749367a4c0048d70'/>
<id>urn:sha1:4f01329e0eb48c9481e91ff1749367a4c0048d70</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use weak_odr linkage when reusing definitions across codegen units</title>
<updated>2016-03-29T14:44:54+00:00</updated>
<author>
<name>Björn Steinbrink</name>
<email>bsteinbr@gmail.com</email>
</author>
<published>2016-03-28T15:57:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=22f458758652d309b7c65fa904d44f090214456c'/>
<id>urn:sha1:22f458758652d309b7c65fa904d44f090214456c</id>
<content type='text'>
When reuing a definition across codegen units, we obviously cannot use
internal linkage, but using external linkage means that we can end up
with multiple conflicting definitions of a single symbol across
multiple crates. Since the definitions should all be equal
semantically, we can use weak_odr linkage to resolve the situation.

Fixes #32518
</content>
</entry>
<entry>
<title>Fix removal of function attributes on ARM</title>
<updated>2016-03-26T12:02:54+00:00</updated>
<author>
<name>Björn Steinbrink</name>
<email>bsteinbr@gmail.com</email>
</author>
<published>2016-03-26T11:27:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=95697a83955c03d42eaaac6ecedcae04bd6986c9'/>
<id>urn:sha1:95697a83955c03d42eaaac6ecedcae04bd6986c9</id>
<content type='text'>
We use a 64bit integer to pass the set of attributes that is to be
removed, but the called C function expects a 32bit integer. On most
platforms this doesn't cause any problems other than being unable to
unset some attributes, but on  ARM even the lower 32bit aren't handled
correctly because the 64bit value is passed in different registers, so
the C function actually sees random garbage.

So we need to fix the relevant functions to use 32bit integers instead.
Additionally we need an implementation that actually accepts 64bit
integers because some attributes can only be unset that way.

Fixes #32360
</content>
</entry>
<entry>
<title>Fix LLVMRustSetHasUnsafeAlgebra to only have effect on instructions</title>
<updated>2016-03-19T21:35:28+00:00</updated>
<author>
<name>Ulrik Sverdrup</name>
<email>bluss@users.noreply.github.com</email>
</author>
<published>2016-03-19T21:02:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e22d6d569fcbcf960261d71f67d554a7859fdfeb'/>
<id>urn:sha1:e22d6d569fcbcf960261d71f67d554a7859fdfeb</id>
<content type='text'>
</content>
</entry>
</feed>
