Skip to content

Merge in Rust 1.38.0 #9

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 108 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
2bd94a0
The xtensa triples are recognized by the compiler. Need to implement …
MabezDev Mar 5, 2019
4ea0e93
Preliminary call abi for xtensa, it almost certainly has mistakes/ mi…
MabezDev Mar 5, 2019
3007287
Tweaks to the xtensa call abi, small arrays arguments still need to b…
MabezDev Mar 7, 2019
29de921
Add built in target, based on msp430. This uses external gcc to gener…
MabezDev Mar 12, 2019
ad570c5
Add xtensa-esp32-none-elf, xtensa-esp8266-none-elf targets. Remove xt…
MabezDev May 27, 2019
bba6c06
Update README.md
MabezDev May 31, 2019
0723506
Switch to beta channel
Mark-Simulacrum Jul 3, 2019
2ddaaa1
Amend release notes with compat-notes for stdsimd
Mark-Simulacrum Jul 2, 2019
421160e
HashMap is UnwindSafe
SimonSapin Jul 2, 2019
178aa66
Auto merge of #62332 - Mark-Simulacrum:beta-next, r=pietroalbini
bors Jul 4, 2019
a787575
Swap to stable release
Mark-Simulacrum Jul 4, 2019
74e5a0d
Auto merge of #62374 - Mark-Simulacrum:beta-next, r=pietroalbini
bors Jul 8, 2019
095f8e8
Permit unwinding through FFI by default
Mark-Simulacrum Feb 28, 2019
c284078
Revert "Allow a dirty MirBuilt for make_extern and make_method_extern"
cuviper Apr 2, 2019
f56bb3f
Force #[unwind(aborts)] in test/codegen/c-variadic.rs
cuviper May 10, 2019
2ba6de7
Auto merge of #62505 - cuviper:beta-1.37-no-unwind-abort, r=joshtriplett
bors Jul 12, 2019
decd7f2
Don't drop DiagnosticBuilder if parsing fails
goodmanjonathan Jul 18, 2019
d380987
Only error about MSVC + PGO + unwind if we're generating code
wesleywiser Jul 12, 2019
1320cb7
rustc_target: avoid negative register counts in the SysV x86_64 ABI.
eddyb Jul 4, 2019
4dd5baa
Fixed up a few comments.
alexreg Jul 5, 2019
dd0bba8
Fixed ICEs.
alexreg Jul 5, 2019
eeb4e0a
Added tests for issues.
alexreg Jul 6, 2019
587e468
Blessed tests.
alexreg Jul 6, 2019
6a8b495
Raise the default recursion limit to 128
nagisa Jul 6, 2019
dc925be
Handle errors during error recovery gracefully
estebank Jul 11, 2019
bc8f0dd
Correctly break out of recovery loop
estebank Jul 12, 2019
620ed3a
add test case
estebank Jul 12, 2019
2c3f8b8
Cancel unemitted diagnostics during error recovery
estebank Jul 13, 2019
76b34f4
ci: pin awscli dependencies
pietroalbini Jul 21, 2019
f1d8d32
Ensure that checkout is with \n line endings
Mark-Simulacrum Jul 9, 2019
2c14d3a
Rollup merge of #62792 - goodmanjonathan:beta, r=estebank
pietroalbini Jul 22, 2019
1d5b47d
Rollup merge of #62793 - wesleywiser:pgo_error_backport, r=zackmdavis
pietroalbini Jul 22, 2019
61d1607
Auto merge of #62866 - pietroalbini:beta-rollup, r=Centril
bors Jul 22, 2019
1f53815
Add missing bracers in classify_arg_ty().
0ndorio Jul 25, 2019
28f3d6f
Pass big aggregated arguments indirectly.
0ndorio Jul 25, 2019
8b4a5a9
Merge pull request #3 from 0ndorio/fix/register_calculation
MabezDev Jul 25, 2019
501f828
[BETA] Update cargo
ehuss Jul 23, 2019
d86bab4
Updated RELEASES.md for 1.37.0
XAMPPRocky Jul 13, 2019
5310736
Require a value for configure --debuginfo-level
cuviper Jul 23, 2019
16a69ed
Make the parser TokenStream more resilient after mismatched delimiter…
estebank Jul 23, 2019
d8c0748
Fix another case
estebank Jul 23, 2019
639cb88
review comments
estebank Jul 23, 2019
6db3310
ci: move .azure-pipelines to src/ci/azure-pipelines
pietroalbini Aug 3, 2019
8effd53
Rollup merge of #62911 - ehuss:update-beta-cargo, r=alexcrichton
pietroalbini Aug 3, 2019
7a75a66
Allow lifetime elision in `Pin<&(mut) Self>`
taiki-e May 26, 2019
ee53d9a
Remove query for `.pin_type()`
taiki-e May 27, 2019
07903fe
Make is_self_ty a method on SelfVisitor
taiki-e May 29, 2019
a2b4ec2
Use Set1<Region> instead of Option<Region>
taiki-e May 29, 2019
bdc8b93
add a bevy of new test cases
nikomatsakis Jun 28, 2019
3f55d29
Update src/test/ui/self/elision/README.md
taiki-e Jul 15, 2019
857a8dd
Add main functions and check-pass annotations
taiki-e Jul 15, 2019
dc04a4e
Minor clean up
taiki-e Jul 15, 2019
f916aa9
Add test for multiple ref-self
taiki-e Jul 15, 2019
fdf1cc4
Add tests for `self: (&)AssocType`
taiki-e Jul 26, 2019
62a1c11
Fix typo
taiki-e Jul 26, 2019
d27529f
arbitrary_self_types lifetime elision: --bless --compare-mode=nll
taiki-e Jul 27, 2019
b23bbd8
Rollup merge of #63254 - taiki-e:arbitrary_self_types-lifetime-elisio…
pietroalbini Aug 4, 2019
775ffd9
bless ui tests
pietroalbini Aug 5, 2019
3f55461
Auto merge of #63262 - pietroalbini:beta-rollup, r=pietroalbini
bors Aug 5, 2019
c24cb35
Switch to stable channel
Mark-Simulacrum Aug 12, 2019
2c0bc3d
Avoid ICE when referencing desugared local binding in borrow error
estebank Jul 27, 2019
0a2bd28
fix cycle when looking up size and align of a static
RalfJung Aug 12, 2019
c9be294
Add date debug to CI
Mark-Simulacrum Aug 13, 2019
eae3437
Auto merge of #63498 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
bors Aug 13, 2019
211c04d
prepare beta for rust 1.38.0
pietroalbini Aug 13, 2019
e450539
Auto merge of #63524 - pietroalbini:beta-next, r=Mark-Simulacrum
bors Aug 13, 2019
539db81
RELEASES.md: ? is one of three Kleene operators
andersk Aug 13, 2019
10d6521
Do not ICE when synthesizing spans falling inside unicode chars
estebank Aug 13, 2019
bcd353c
review comment: remove unecessary error in test
estebank Aug 13, 2019
2d2448b
review comments
estebank Aug 13, 2019
3288766
ci: move mirrors to their standalone bucket
pietroalbini Aug 12, 2019
641586c
Auto merge of #63771 - pietroalbini:beta-rollup, r=pietroalbini
bors Aug 21, 2019
2f7efef
[BETA] Update cargo
ehuss Aug 27, 2019
72bfc37
Auto merge of #63957 - ehuss:beta-update-cargo, r=alexcrichton
bors Aug 27, 2019
15a07a8
Use released stable for beta
Mark-Simulacrum Aug 31, 2019
a06cba2
Update rust-installer to limit memory use
cuviper Aug 28, 2019
7014774
debuginfo: give unique names to closure and generator types
philipc Aug 25, 2019
981dea5
debuginfo: always include disambiguator in type names
philipc Aug 27, 2019
57f845c
ci: move libc mirrors to the rust-lang-ci-mirrors bucket
pietroalbini Aug 21, 2019
29fe076
Add a test for an opaque macro eagerly expanding its arguments
petrochenkov Aug 19, 2019
1e77ef8
Add a regression test for issue #63460
petrochenkov Aug 21, 2019
3d95d17
expand: Keep the correct current expansion ID for eager expansions
petrochenkov Aug 19, 2019
f2e3031
expand: Do not do questionable span adjustment before eagerly expandi…
petrochenkov Aug 24, 2019
02c4da1
Rollup merge of #64046 - Mark-Simulacrum:beta-next, r=pietroalbini
pietroalbini Sep 2, 2019
5f51210
bump clippy
pietroalbini Sep 3, 2019
d097af1
Auto merge of #64097 - pietroalbini:beta-rollup, r=pietroalbini
bors Sep 3, 2019
946fb89
Permit unwinding through FFI by default
Mark-Simulacrum Feb 28, 2019
ceaf4dd
Revert "Allow a dirty MirBuilt for make_extern and make_method_extern"
cuviper Apr 2, 2019
46049e7
Force #[unwind(aborts)] in test/codegen/c-variadic.rs
cuviper May 10, 2019
31b4b77
pprust: Do not print spaces before some tokens
petrochenkov Aug 25, 2019
3a93713
Account for doc comments coming from proc macros without spans
estebank Aug 27, 2019
ee6de6c
add regression test
estebank Aug 27, 2019
852014a
Support "soft" feature-gating using a lint
petrochenkov Sep 1, 2019
0c04419
Turn `soft_unstable` into a future-compatibility lint
petrochenkov Sep 7, 2019
2fe39b6
Update xLTO compatibility table in rustc book.
michaelwoerister Sep 2, 2019
29e4a42
Include compiler-rt in the source tarball
maurer Sep 6, 2019
e086278
Update LLVM submodule
nikic Sep 9, 2019
fdd4856
Auto merge of #64438 - cuviper:beta-rollup, r=Mark-Simulacrum
bors Sep 14, 2019
2eb6447
Merge remote-tracking branch 'upstream/stable' into rebase
MabezDev Sep 17, 2019
b365cff
Merge pull request #8 from MabezDev/rebase
MabezDev Sep 18, 2019
d8052d8
Updated RELEASES.md for 1.38.0
XAMPPRocky Sep 8, 2019
f3ebfab
Make fn ptr always structural match, regardless of whether formal typ…
pnkfelix Sep 13, 2019
73c70ca
Regression tests for fn ptr and `#[structural_match]` as discussed in…
pnkfelix Sep 13, 2019
e8d2957
ci: split aws credentials in two separate users with scoped perms
pietroalbini Sep 18, 2019
1c65325
Auto merge of #64661 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
bors Sep 21, 2019
e67a223
[stable] 1.38.0 release
Mark-Simulacrum Sep 23, 2019
625451e
Auto merge of #64709 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
bors Sep 23, 2019
d7b76db
Merge tag '1.38.0' into mc-xtensa-target
mattcaron Oct 17, 2019
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
Prev Previous commit
Next Next commit
Add xtensa-esp32-none-elf, xtensa-esp8266-none-elf targets. Remove xt…
…ensa-none-elf
  • Loading branch information
MabezDev committed May 27, 2019
commit ad570c5cb999f62a03156286fdb5d3d1bbd0fb8b
3 changes: 2 additions & 1 deletion src/librustc_target/spec/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,8 @@ supported_targets! {
("thumbv8m.main-none-eabihf", thumbv8m_main_none_eabihf),

("msp430-none-elf", msp430_none_elf),
("xtensa-none-elf", xtensa_none_elf),
("xtensa-esp32-none-elf", xtensa_esp32_none_elf),
("xtensa-esp8266-none-elf", xtensa_esp8266_none_elf),

("aarch64-unknown-cloudabi", aarch64_unknown_cloudabi),
("armv7-unknown-cloudabi-eabihf", armv7_unknown_cloudabi_eabihf),
Expand Down
66 changes: 66 additions & 0 deletions src/librustc_target/spec/xtensa_esp32_none_elf.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
use crate::spec::{LinkerFlavor, PanicStrategy, Target, TargetOptions, TargetResult, abi::Abi};
// use crate::spec::abi::Abi;

pub fn target() -> TargetResult {
Ok(Target {
llvm_target: "xtensa-none-elf".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
target_c_int_width: "32".to_string(),
data_layout: "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-f64:64-a:0:32-n32".to_string(),
arch: "xtensa".to_string(),
target_os: "none".to_string(),
target_env: String::new(),
target_vendor: String::new(),
linker_flavor: LinkerFlavor::Gcc,

options: TargetOptions {
executables: true,
cpu: "esp32".to_string(),
// The LLVM backend currently can't generate object files. To
// workaround this LLVM generates assembly files which then we feed
// to gcc to get object files. For this reason we have a hard
// dependency on this specific gcc.
// asm_args: vec!["-mcpu=esp32".to_string()],
linker: Some("xtensa-esp32-elf-gcc".to_string()),
no_integrated_as: true,

max_atomic_width: Some(32),
atomic_cas: true,

// Because these devices have very little resources having an
// unwinder is too onerous so we default to "abort" because the
// "unwind" strategy is very rare.
panic_strategy: PanicStrategy::Abort,

// Similarly, one almost always never wants to use relocatable
// code because of the extra costs it involves.
relocation_model: "static".to_string(),

// Right now we invoke an external assembler and this isn't
// compatible with multiple codegen units, and plus we probably
// don't want to invoke that many gcc instances.
default_codegen_units: Some(1),

// Since MSP430 doesn't meaningfully support faulting on illegal
// instructions, LLVM generates a call to abort() function instead
// of a trap instruction. Such calls are 4 bytes long, and that is
// too much overhead for such small target.
trap_unreachable: false,

// See the thumb_base.rs file for an explanation of this value
emit_debug_gdb_scripts: false,

abi_blacklist: vec![
Abi::Stdcall,
Abi::Fastcall,
Abi::Vectorcall,
Abi::Thiscall,
Abi::Win64,
Abi::SysV64,
],

.. Default::default( )
}
})
}
66 changes: 66 additions & 0 deletions src/librustc_target/spec/xtensa_esp8266_none_elf.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
use crate::spec::{LinkerFlavor, PanicStrategy, Target, TargetOptions, TargetResult, abi::Abi};
// use crate::spec::abi::Abi;

pub fn target() -> TargetResult {
Ok(Target {
llvm_target: "xtensa-none-elf".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
target_c_int_width: "32".to_string(),
data_layout: "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-f64:64-a:0:32-n32".to_string(),
arch: "xtensa".to_string(),
target_os: "none".to_string(),
target_env: String::new(),
target_vendor: String::new(),
linker_flavor: LinkerFlavor::Gcc,

options: TargetOptions {
executables: true,
cpu: "esp8266".to_string(),
// The LLVM backend currently can't generate object files. To
// workaround this LLVM generates assembly files which then we feed
// to gcc to get object files. For this reason we have a hard
// dependency on this specific gcc.
// asm_args: vec!["-mcpu=esp8266".to_string()],
linker: Some("xtensa-esp32-elf-gcc".to_string()),
no_integrated_as: true,

max_atomic_width: Some(32),
atomic_cas: true,

// Because these devices have very little resources having an
// unwinder is too onerous so we default to "abort" because the
// "unwind" strategy is very rare.
panic_strategy: PanicStrategy::Abort,

// Similarly, one almost always never wants to use relocatable
// code because of the extra costs it involves.
relocation_model: "static".to_string(),

// Right now we invoke an external assembler and this isn't
// compatible with multiple codegen units, and plus we probably
// don't want to invoke that many gcc instances.
default_codegen_units: Some(1),

// Since MSP430 doesn't meaningfully support faulting on illegal
// instructions, LLVM generates a call to abort() function instead
// of a trap instruction. Such calls are 4 bytes long, and that is
// too much overhead for such small target.
trap_unreachable: false,

// See the thumb_base.rs file for an explanation of this value
emit_debug_gdb_scripts: false,

abi_blacklist: vec![
Abi::Stdcall,
Abi::Fastcall,
Abi::Vectorcall,
Abi::Thiscall,
Abi::Win64,
Abi::SysV64,
],

.. Default::default( )
}
})
}