<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/rustc/std_shim/Cargo.lock, branch 1.10.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.10.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.10.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-05-09T15:22:36+00:00</updated>
<entry>
<title>rustc: Implement custom panic runtimes</title>
<updated>2016-05-09T15:22:36+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-04-08T23:18:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0ec321f7b541fcbfbf20286beb497e6d9d3352b2'/>
<id>urn:sha1:0ec321f7b541fcbfbf20286beb497e6d9d3352b2</id>
<content type='text'>
This commit is an implementation of [RFC 1513] which allows applications to
alter the behavior of panics at compile time. A new compiler flag, `-C panic`,
is added and accepts the values `unwind` or `panic`, with the default being
`unwind`. This model affects how code is generated for the local crate, skipping
generation of landing pads with `-C panic=abort`.

[RFC 1513]: https://github.com/rust-lang/rfcs/blob/master/text/1513-less-unwinding.md

Panic implementations are then provided by crates tagged with
`#![panic_runtime]` and lazily required by crates with
`#![needs_panic_runtime]`. The panic strategy (`-C panic` value) of the panic
runtime must match the final product, and if the panic strategy is not `abort`
then the entire DAG must have the same panic strategy.

With the `-C panic=abort` strategy, users can expect a stable method to disable
generation of landing pads, improving optimization in niche scenarios,
decreasing compile time, and decreasing output binary size. With the `-C
panic=unwind` strategy users can expect the existing ability to isolate failure
in Rust code from the outside world.

Organizationally, this commit dismantles the `sys_common::unwind` module in
favor of some bits moving part of it to `libpanic_unwind` and the rest into the
`panicking` module in libstd. The custom panic runtime support is pretty similar
to the custom allocator support with the only major difference being how the
panic runtime is injected (takes the `-C panic` flag into account).
</content>
</entry>
<entry>
<title>rustbuild: Sync changes to Cargo.lock</title>
<updated>2016-02-28T18:50:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-02-24T22:17:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=52ec682776cbf66fee16609405eb03d672eb52c2'/>
<id>urn:sha1:52ec682776cbf66fee16609405eb03d672eb52c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustbuild: Sync some Cargo.toml/lib.rs dependencies</title>
<updated>2016-02-21T17:49:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-02-21T17:49:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=95761417c397f161d93e4df26ef1d1fc6da8cd69'/>
<id>urn:sha1:95761417c397f161d93e4df26ef1d1fc6da8cd69</id>
<content type='text'>
The standard library doesn't depend on rustc_bitflags, so move it to explicit
dependencies on all other crates. Additionally, the arena/fmt_macros deps could
be dropped from libsyntax.
</content>
</entry>
<entry>
<title>Add a Cargo-based build system</title>
<updated>2016-02-11T18:42:28+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-11-19T23:20:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=046e6874c47ec55e23b7a566bca51d2920562485'/>
<id>urn:sha1:046e6874c47ec55e23b7a566bca51d2920562485</id>
<content type='text'>
This commit is the start of a series of commits which start to replace the
makefiles with a Cargo-based build system. The aim is not to remove the
makefiles entirely just yet but rather just replace the portions that invoke the
compiler to do the bootstrap. This commit specifically adds enough support to
perform the bootstrap (and all the cross compilation within) along with
generating documentation.

More commits will follow up in this series to actually wire up the makefiles to
call this build system, so stay tuned!
</content>
</entry>
</feed>
