Skip to content
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

Rollup of 5 pull requests #24562

Merged
merged 25 commits into from
Apr 18, 2015
Merged

Rollup of 5 pull requests #24562

merged 25 commits into from
Apr 18, 2015

Conversation

steveklabnik and others added 24 commits April 14, 2015 15:01
…crichton

Link to the big chapter for now, and add move semantics.
Loading from and storing to small aggregates happens by casting the
aggregate pointer to an appropriately sized integer pointer to avoid
the usage of first class aggregates which would lead to less optimized
code.

But this means that, for example, a tuple of type (i16, i16) will be
loading through an i32 pointer and because we currently don't provide
alignment information LLVM assumes that the load should use the ABI
alignment for i32 which would usually be 4 byte alignment. But the
alignment requirement for the (i16, i16) tuple will usually be just 2
bytes, so we're overestimating alignment, which invokes undefined
behaviour.

Therefore we must emit appropriate alignment information for
stores/loads through such casted pointers.

Fixes rust-lang#23431
I did a manual merge of all the extended error PRs as we were getting merge conflicts yesterday. I think this is preferable to merging separately as I ended up having to manually merge @nham and @GuillaumeGomez's commits.

Rollup of rust-lang#24458, rust-lang#24482 and rust-lang#24488.

rust-lang#24482 and rust-lang#24488 were already re-approved, and would need to be cancelled if this is merged instead.
…labnik

This just deletes some egregious lies and obsolete terminology -- all of which I originally wrote -- from the reference. I expect the reference itself will be deleted soon enough, but I found myself gritting teeth over these bits too much to let them into a 1.0 release.
@rust-highfive
Copy link
Collaborator

r? @steveklabnik

(rust_highfive has picked a reviewer for you, use r? to override)

@Manishearth
Copy link
Member Author

@bors: r+ p=20 force

@bors
Copy link
Contributor

bors commented Apr 18, 2015

📌 Commit 695efb5 has been approved by Manishearth

@bors
Copy link
Contributor

bors commented Apr 18, 2015

⌛ Testing commit 695efb5 with merge 447c1c1...

@bors
Copy link
Contributor

bors commented Apr 18, 2015

💔 Test failed - auto-linux-64-nopt-t

@Manishearth
Copy link
Member Author

@bors: r+ p=20 force

@bors
Copy link
Contributor

bors commented Apr 18, 2015

📌 Commit 88601f8 has been approved by Manishearth

@bors
Copy link
Contributor

bors commented Apr 18, 2015

⌛ Testing commit 88601f8 with merge 49a94f2...

bors added a commit that referenced this pull request Apr 18, 2015
@bors bors merged commit 88601f8 into rust-lang:master Apr 18, 2015
@Centril Centril added the rollup A PR which is a rollup label Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants