Skip to content

Changes for the new 9.x llvm fork #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 66 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
3887b33
[beta] 1.39 is now beta
Mark-Simulacrum Sep 24, 2019
9689670
Auto merge of #64740 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
bors Sep 24, 2019
f0f6d31
Bootstrap from released rust
Mark-Simulacrum Sep 26, 2019
ab71728
Fix #64744 -- handle zero sub-pats case.
Centril Sep 24, 2019
1a5c963
relnotes: make compatibility section more sterile and fix rustc version
pietroalbini Sep 24, 2019
2ff6c65
Backport #64599 to beta: rustdoc render async function re-export
csmoe Sep 19, 2019
75f6517
[BETA] Update cargo
alexcrichton Sep 25, 2019
5752b63
Auto merge of #64814 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
bors Sep 27, 2019
0e22a3f
[BETA] Update cargo
alexcrichton Oct 1, 2019
0f89371
update rtpSpawn's parameters type(It's prototype has been updated in …
bpangWR Sep 26, 2019
3449c45
Fix div_duration() marked as stable by mistake
JMS55 Sep 26, 2019
4ba72ad
Use https for curl when building for linux
tmandry Sep 28, 2019
f36b555
remove rtp.rs, and move rtpSpawn and RTP_ID_ERROR to libc
bpangWR Sep 23, 2019
845f486
Rollup merge of #64956 - alexcrichton:update-beta-cargo, r=ehuss
tmandry Oct 2, 2019
6d9465a
Rollup merge of #64982 - tmandry:beta-backport, r=tmandry
tmandry Oct 2, 2019
fa5c2f3
Auto merge of #64983 - tmandry:rollup-28hyqet, r=tmandry
bors Oct 2, 2019
8aacf98
Backport rust-lang/rust-clippy#4590 to rustc beta
flip1995 Oct 11, 2019
224f0bc
Auto merge of #65305 - flip1995:clippy-beta-backport, r=pietroalbini
bors Oct 15, 2019
d45ca22
Add troubleshooting section to PGO chapter in rustc book.
michaelwoerister Oct 14, 2019
edcc7af
Auto merge of #65302 - msizanoen1:fix-armv7-segfault, r=alexcrichton
bors Oct 20, 2019
36ef9d7
Add expanded type cache to OpaqueTypeExpander
tmandry Oct 10, 2019
e9978cf
Only expand types that contain projections
tmandry Oct 10, 2019
cf05730
use precalculated dominators in explain_borrow
tanriol Oct 6, 2019
42c5024
Ensure that associated `async fn`s have unique fresh param names
matthewjasper Oct 5, 2019
2b88722
Account for macro invocation in `let mut $pat` diagnostic.
Centril Oct 5, 2019
8bf21c1
Auto merge of #65020 - pnkfelix:targetted-fix-for-always-marking-rust…
bors Oct 12, 2019
da27cc9
typeck: silence unreachable code from await
davidtwco Sep 30, 2019
3455abb
async/await: improve obligation errors
davidtwco Sep 25, 2019
22694dc
syntax: fix #64682.
Centril Sep 29, 2019
e31afd3
Upgrade async/await to "used" keywords.
ehuss Sep 28, 2019
db3b85c
Filter out stmts made for the redundant_semicolon lint when pretty-pr…
nathanwhit Sep 12, 2019
c2bf2ca
Add test for redundant_semicolon lint interaction with proc macro attrs
nathanwhit Sep 28, 2019
6031a8a
Fix async/await ICE #64964
sinkuu Oct 2, 2019
f7b45be
Do not collect to vec for debug output
sinkuu Oct 2, 2019
de58c33
Pacify tidy
Mark-Simulacrum Oct 24, 2019
336464a
workaround msys2 bug
mati865 Oct 24, 2019
ba9b8be
Revert "Auto merge of #62948 - matklad:failable-file-loading, r=petro…
matklad Oct 10, 2019
6bd9305
Use empty typeck tables when nesting on items without those
Xanewok Oct 4, 2019
f17c36e
Test an assoc. type in struct member def inside fn
Xanewok Oct 12, 2019
6b753f6
Nest typeck tables when processing struct member types
Xanewok Oct 12, 2019
b561cd1
save-analysis: Nest tables when processing impl items
Xanewok Oct 17, 2019
da12236
save-analysis: Add a relevant test case
Xanewok Oct 17, 2019
4377d2e
Avoid ICE when checking `Destination` of `break` inside a closure
estebank Oct 17, 2019
4aa1e7a
Avoid ICE when adjusting bad self ty
estebank Oct 24, 2019
23f8f65
Auto merge of #65708 - Mark-Simulacrum:beta-backports, r=pietroalbini
bors Oct 26, 2019
b606402
ci: revert msys2 ca-certificates hack
pietroalbini Oct 30, 2019
f6404c5
Auto merge of #65956 - pietroalbini:beta-revert-msys2-hack, r=Mark-Si…
bors Oct 30, 2019
43ceeb2
save-analysis: Account for async desugaring in async fn return types
Xanewok Oct 29, 2019
a541c36
changing non-empty glob must import something to a lint
traxys Oct 27, 2019
559ebaf
Updated RELEASES.md for 1.39.0
XAMPPRocky Sep 28, 2019
710e468
This disables the asmjs builder for beta
Mark-Simulacrum Nov 2, 2019
5242afe
Auto merge of #66011 - Mark-Simulacrum:beta-backport, r=pietroalbini
bors Nov 2, 2019
4810c25
1.39.0 release
Mark-Simulacrum Nov 4, 2019
4560ea7
Auto merge of #66089 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
bors Nov 4, 2019
37c2a66
The xtensa triples are recognized by the compiler. Need to implement …
MabezDev Mar 5, 2019
9eca2e2
Preliminary call abi for xtensa, it almost certainly has mistakes/ mi…
MabezDev Mar 5, 2019
4e8903b
Tweaks to the xtensa call abi, small arrays arguments still need to b…
MabezDev Mar 7, 2019
b401dfc
Add built in target, based on msp430. This uses external gcc to gener…
MabezDev Mar 12, 2019
aa441cb
Add xtensa-esp32-none-elf, xtensa-esp8266-none-elf targets. Remove xt…
MabezDev May 27, 2019
76041e3
Update README.md
MabezDev May 31, 2019
8e18ddb
Merge pull request #3 from 0ndorio/fix/register_calculation
MabezDev Jul 25, 2019
dd8b6ad
Merge pull request #10 from chocol4te/tidy_fix
MabezDev Nov 11, 2019
4d9271c
Merge pull request #12 from chocol4te/xtensa_1.39
MabezDev Dec 7, 2019
728fd70
Fix ESP8266 linker.
reitermarkus Dec 4, 2019
cf75e7f
Merge pull request #15 from reitermarkus/esp8266-linker
MabezDev Dec 7, 2019
f130b0a
Changes for the new 9.x llvm fork
MabezDev Jan 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# The Rust Programming Language
# The Rust Programming Language For Xtensa processors

This fork enables projects to be built for the ESP32 and ESP8266 using [espressif's llvm fork](https://github.com/espressif/llvm-xtensa). The [esp-rs](https://github.com/esp-rs) organization has been formed to develop runtime, pac and hal crates for the esp32 and eventually esp8266.

## Using this fork

The [quickstart repo](https://github.com/MabezDev/xtensa-rust-quickstart) has more information on how to build this fork and use it to build xtensa compatible code.

This is the main source code repository for [Rust]. It contains the compiler,
standard library, and documentation.
Expand Down
136 changes: 128 additions & 8 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,127 @@
Version 1.39.0 (2019-11-07)
===========================

Language
--------
- [You can now create `async` functions and blocks with `async fn`, `async move {}`, and
`async {}` respectively, and you can now call `.await` on async expressions.][63209]
- [You can now use certain attributes on function, closure, and function pointer
parameters.][64010] These attributes include `cfg`, `cfg_attr`, `allow`, `warn`,
`deny`, `forbid` as well as inert helper attributes used by procedural macro
attributes applied to items. e.g.
```rust
fn len(
#[cfg(windows)] slice: &[u16],
#[cfg(not(windows))] slice: &[u8],
) -> usize {
slice.len()
}
```
- [You can now take shared references to bind-by-move patterns in the `if` guards
of `match` arms.][63118] e.g.
```rust
fn main() {
let array: Box<[u8; 4]> = Box::new([1, 2, 3, 4]);

match array {
nums
// ---- `nums` is bound by move.
if nums.iter().sum::<u8>() == 10
// ^------ `.iter()` implicitly takes a reference to `nums`.
=> {
drop(nums);
// ----------- Legal as `nums` was bound by move and so we have ownership.
}
_ => unreachable!(),
}
}
```



Compiler
--------
- [Added tier 3\* support for the `i686-unknown-uefi` target.][64334]
- [Added tier 3 support for the `sparc64-unknown-openbsd` target.][63595]
- [rustc will now trim code snippets in diagnostics to fit in your terminal.][63402]
**Note** Cargo currently doesn't use this feature. Refer to
[cargo#7315][cargo/7315] to track this feature's progress.
- [You can now pass `--show-output` argument to test binaries to print the
output of successful tests.][62600]


\* Refer to Rust's [platform support page][forge-platform-support] for more
information on Rust's tiered platform support.

Libraries
---------
- [`Vec::new` and `String::new` are now `const` functions.][64028]
- [`LinkedList::new` is now a `const` function.][63684]
- [`str::len`, `[T]::len` and `str::as_bytes` are now `const` functions.][63770]
- [The `abs`, `wrapping_abs`, and `overflowing_abs` numeric functions are
now `const`.][63786]

Stabilized APIs
---------------
- [`Pin::into_inner`]
- [`Instant::checked_duration_since`]
- [`Instant::saturating_duration_since`]

Cargo
-----
- [You can now publish git dependencies if supplied with a `version`.][cargo/7237]
- [The `--all` flag has been renamed to `--workspace`.][cargo/7241] Using
`--all` is now deprecated.

Misc
----
- [You can now pass `-Clinker` to rustdoc to control the linker used
for compiling doctests.][63834]

Compatibility Notes
-------------------
- [Code that was previously accepted by the old borrow checker, but rejected by
the NLL borrow checker is now a hard error in Rust 2018.][63565] This was
previously a warning, and will also become a hard error in the Rust 2015
edition in the 1.40.0 release.
- [`rustdoc` now requires `rustc` to be installed and in the same directory to
run tests.][63827] This should improve performance when running a large
amount of doctests.
- [The `try!` macro will now issue a deprecation warning.][62672] It is
recommended to use the `?` operator instead.
- [`asinh(-0.0)` now correctly returns `-0.0`.][63698] Previously this
returned `0.0`.

[62600]: https://github.com/rust-lang/rust/pull/62600/
[62672]: https://github.com/rust-lang/rust/pull/62672/
[63118]: https://github.com/rust-lang/rust/pull/63118/
[63209]: https://github.com/rust-lang/rust/pull/63209/
[63402]: https://github.com/rust-lang/rust/pull/63402/
[63565]: https://github.com/rust-lang/rust/pull/63565/
[63595]: https://github.com/rust-lang/rust/pull/63595/
[63684]: https://github.com/rust-lang/rust/pull/63684/
[63698]: https://github.com/rust-lang/rust/pull/63698/
[63770]: https://github.com/rust-lang/rust/pull/63770/
[63786]: https://github.com/rust-lang/rust/pull/63786/
[63827]: https://github.com/rust-lang/rust/pull/63827/
[63834]: https://github.com/rust-lang/rust/pull/63834/
[63927]: https://github.com/rust-lang/rust/pull/63927/
[63933]: https://github.com/rust-lang/rust/pull/63933/
[63934]: https://github.com/rust-lang/rust/pull/63934/
[63938]: https://github.com/rust-lang/rust/pull/63938/
[63940]: https://github.com/rust-lang/rust/pull/63940/
[63941]: https://github.com/rust-lang/rust/pull/63941/
[63945]: https://github.com/rust-lang/rust/pull/63945/
[64010]: https://github.com/rust-lang/rust/pull/64010/
[64028]: https://github.com/rust-lang/rust/pull/64028/
[64334]: https://github.com/rust-lang/rust/pull/64334/
[cargo/7237]: https://github.com/rust-lang/cargo/pull/7237/
[cargo/7241]: https://github.com/rust-lang/cargo/pull/7241/
[cargo/7315]: https://github.com/rust-lang/cargo/pull/7315/
[`Pin::into_inner`]: https://doc.rust-lang.org/std/pin/struct.Pin.html#method.into_inner
[`Instant::checked_duration_since`]: https://doc.rust-lang.org/std/time/struct.Instant.html#method.checked_duration_since
[`Instant::saturating_duration_since`]: https://doc.rust-lang.org/std/time/struct.Instant.html#method.saturating_duration_since

Version 1.38.0 (2019-09-26)
==========================

Expand Down Expand Up @@ -47,8 +171,6 @@ Stabilized APIs
- [`<*mut T>::cast`]
- [`Duration::as_secs_f32`]
- [`Duration::as_secs_f64`]
- [`Duration::div_duration_f32`]
- [`Duration::div_duration_f64`]
- [`Duration::div_f32`]
- [`Duration::div_f64`]
- [`Duration::from_secs_f32`]
Expand All @@ -70,10 +192,10 @@ Misc

Compatibility Notes
-------------------
- Unfortunately the [`x86_64-unknown-uefi` platform can not be built][62785]
with rustc 1.39.0.
- The [`armv7-unknown-linux-gnueabihf` platform is also known to have
issues][62896] for certain crates such as libc.
- The [`x86_64-unknown-uefi` platform can not be built][62785] with rustc
1.38.0.
- The [`armv7-unknown-linux-gnueabihf` platform is known to have
issues][62896] with certain crates such as libc.

[60260]: https://github.com/rust-lang/rust/pull/60260/
[61457]: https://github.com/rust-lang/rust/pull/61457/
Expand All @@ -100,8 +222,6 @@ Compatibility Notes
[`<*mut T>::cast`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.cast
[`Duration::as_secs_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.as_secs_f32
[`Duration::as_secs_f64`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.as_secs_f64
[`Duration::div_duration_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.div_duration_f32
[`Duration::div_duration_f64`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.div_duration_f64
[`Duration::div_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.div_f32
[`Duration::div_f64`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.div_f64
[`Duration::from_secs_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.from_secs_f32
Expand Down
2 changes: 0 additions & 2 deletions src/ci/azure-pipelines/auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,6 @@ jobs:
IMAGE: dist-x86_64-netbsd
DEPLOY: 1

asmjs:
IMAGE: asmjs
i686-gnu:
IMAGE: i686-gnu
i686-gnu-nopt:
Expand Down
9 changes: 4 additions & 5 deletions src/ci/docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,18 +165,17 @@ For targets: `arm-unknown-linux-gnueabihf`
For targets: `armv7-unknown-linux-gnueabihf`
- Path and misc options > Prefix directory = /x-tools/${CT\_TARGET}
- Path and misc options > Patches origin = Bundled, then local
- Path and misc options > Local patch directory = /tmp/patches
- Path and misc options > Patches origin = Bundled only
- Target options > Target Architecture = arm
- Target options > Suffix to the arch-part = v7
- Target options > Architecture level = armv7-a -- (+)
- Target options > Use specific FPU = vfpv3-d16 -- (\*)
- Target options > Floating point = hardware (FPU) -- (\*)
- Target options > Default instruction set mode = thumb -- (\*)
- Operating System > Target OS = linux
- Operating System > Linux kernel version = 3.2.72 -- Precise kernel
- C-library > glibc version = 2.16.0
- C compiler > gcc version = 5.2.0
- Operating System > Linux kernel version = 3.2.101
- C-library > glibc version = 2.17.0
- C compiler > gcc version = 8.3.0
- C compiler > C++ = ENABLE -- to cross compile LLVM
(\*) These options have been selected to match the configuration of the arm
Expand Down
8 changes: 1 addition & 7 deletions src/ci/docker/dist-armv7-linux/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,14 @@ FROM ubuntu:16.04
COPY scripts/cross-apt-packages.sh /scripts/
RUN sh /scripts/cross-apt-packages.sh

# Ubuntu 16.04 (this container) ships with make 4, but something in the
# toolchains we build below chokes on that, so go back to make 3
COPY scripts/make3.sh /scripts/
RUN sh /scripts/make3.sh

COPY scripts/crosstool-ng.sh /scripts/
COPY dist-armv7-linux/crosstool-ng.sh /scripts/
RUN sh /scripts/crosstool-ng.sh

COPY scripts/rustbuild-setup.sh /scripts/
RUN sh /scripts/rustbuild-setup.sh
USER rustbuild
WORKDIR /tmp

COPY dist-armv7-linux/patches/ /tmp/patches/
COPY dist-armv7-linux/build-toolchains.sh dist-armv7-linux/armv7-linux-gnueabihf.config /tmp/
RUN ./build-toolchains.sh

Expand Down
Loading