]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoAdd x86_64-fortanix-unknown-sgx target to the compiler
Jethro Beekman [Mon, 19 Nov 2018 09:35:28 +0000 (15:05 +0530)]
Add x86_64-fortanix-unknown-sgx target to the compiler

5 years agoAdd `override_export_symbols` option to Rust target specification
Jethro Beekman [Mon, 19 Nov 2018 09:34:28 +0000 (15:04 +0530)]
Add `override_export_symbols` option to Rust target specification

5 years agoAuto merge of #56042 - petrochenkov:nuni, r=petrochenkov
bors [Mon, 19 Nov 2018 02:59:29 +0000 (02:59 +0000)]
Auto merge of #56042 - petrochenkov:nuni, r=petrochenkov

[nightly] resolve: Implement uniform paths 2.0

Forward-port of https://github.com/rust-lang/rust/pull/55884 to nightly.

r? @ghost

5 years agoAuto merge of #55672 - RalfJung:miri-extern-types, r=eddyb
bors [Sun, 18 Nov 2018 22:19:53 +0000 (22:19 +0000)]
Auto merge of #55672 - RalfJung:miri-extern-types, r=eddyb

miri: accept extern types in structs if they are the only field

Fixes https://github.com/rust-lang/rust/issues/55541

Cc @oli-obk @eddyb https://github.com/rust-lang/rust/issues/43467

5 years agoAuto merge of #56017 - alexcrichton:debug-test, r=alexcrichton
bors [Sun, 18 Nov 2018 17:27:45 +0000 (17:27 +0000)]
Auto merge of #56017 - alexcrichton:debug-test, r=alexcrichton

std: Add debugging for a failing test on appveyor

I'm not sure why this is failing, so let's hopefully get some more
information to help investigation!

5 years agoAuto merge of #55999 - alexcrichton:update-cargo, r=nrc
bors [Sun, 18 Nov 2018 14:33:03 +0000 (14:33 +0000)]
Auto merge of #55999 - alexcrichton:update-cargo, r=nrc

Update Cargo submodule

Brings in some fixes and stabilizations!

5 years agoFix rebase
Vadim Petrochenkov [Sun, 18 Nov 2018 11:41:06 +0000 (14:41 +0300)]
Fix rebase

5 years agoAdd a couple more tests + address review comments
Vadim Petrochenkov [Sat, 17 Nov 2018 17:34:25 +0000 (20:34 +0300)]
Add a couple more tests + address review comments

5 years agoresolve: Refactor away `DeterminacyExt`
Vadim Petrochenkov [Sat, 17 Nov 2018 17:13:25 +0000 (20:13 +0300)]
resolve: Refactor away `DeterminacyExt`

5 years agoresolve: Future-proof against imports referring to local variables and generic parameters
Vadim Petrochenkov [Sat, 17 Nov 2018 17:00:00 +0000 (20:00 +0300)]
resolve: Future-proof against imports referring to local variables and generic parameters

5 years agoresolve: Avoid sentence breaks in diagnostics
Vadim Petrochenkov [Tue, 13 Nov 2018 23:52:26 +0000 (02:52 +0300)]
resolve: Avoid sentence breaks in diagnostics

5 years agoresolve: Support resolving macros without leaving traces
Vadim Petrochenkov [Tue, 13 Nov 2018 23:20:59 +0000 (02:20 +0300)]
resolve: Support resolving macros without leaving traces

5 years agoresolve: Avoid marking `extern crate` items as used in certain cases
Vadim Petrochenkov [Tue, 13 Nov 2018 23:17:40 +0000 (02:17 +0300)]
resolve: Avoid marking `extern crate` items as used in certain cases

5 years agoresolve: Reintroduce feature gate for uniform paths in imports
Vadim Petrochenkov [Mon, 12 Nov 2018 00:58:39 +0000 (03:58 +0300)]
resolve: Reintroduce feature gate for uniform paths in imports

5 years agoFix ICEs from imports of items not defined in modules
Vadim Petrochenkov [Sun, 11 Nov 2018 17:28:56 +0000 (20:28 +0300)]
Fix ICEs from imports of items not defined in modules

5 years agoresolve: Tweak some articles in ambiguity diagnostics
Vadim Petrochenkov [Sun, 11 Nov 2018 16:46:04 +0000 (19:46 +0300)]
resolve: Tweak some articles in ambiguity diagnostics

5 years agoresolve: Recover "did you mean" suggestions in imports
Vadim Petrochenkov [Sun, 11 Nov 2018 14:35:23 +0000 (17:35 +0300)]
resolve: Recover "did you mean" suggestions in imports

5 years agoresolve: Check resolution consistency for import paths and multi-segment macro paths
Vadim Petrochenkov [Sat, 10 Nov 2018 15:58:37 +0000 (18:58 +0300)]
resolve: Check resolution consistency for import paths and multi-segment macro paths

5 years agoresolve: Resolve single-segment imports using in-scope resolution on 2018 edition
Vadim Petrochenkov [Thu, 8 Nov 2018 22:29:07 +0000 (01:29 +0300)]
resolve: Resolve single-segment imports using in-scope resolution on 2018 edition

5 years agoresolve: More precise determinacy tracking during import/macro resolution
Vadim Petrochenkov [Wed, 7 Nov 2018 21:39:07 +0000 (00:39 +0300)]
resolve: More precise determinacy tracking during import/macro resolution

5 years agoresolve: Improve diagnostics for resolution ambiguities
Vadim Petrochenkov [Sun, 4 Nov 2018 22:11:59 +0000 (01:11 +0300)]
resolve: Improve diagnostics for resolution ambiguities

5 years agoresolve: Simplify ambiguity checking for built-in attributes
Vadim Petrochenkov [Sun, 4 Nov 2018 22:00:31 +0000 (01:00 +0300)]
resolve: Simplify ambiguity checking for built-in attributes

5 years agoresolve: Resolve multi-segment imports using in-scope resolution on 2018 edition
Vadim Petrochenkov [Sat, 3 Nov 2018 19:02:36 +0000 (22:02 +0300)]
resolve: Resolve multi-segment imports using in-scope resolution on 2018 edition

5 years agoresolve: Stop generating uniform path canaries
Vadim Petrochenkov [Sat, 3 Nov 2018 16:41:44 +0000 (19:41 +0300)]
resolve: Stop generating uniform path canaries

5 years agostd: Add debugging for a failing test on appveyor
Alex Crichton [Sat, 17 Nov 2018 09:50:38 +0000 (01:50 -0800)]
std: Add debugging for a failing test on appveyor

I'm not sure why this is failing, so let's hopefully get some more
information to help investigation!

5 years agoAuto merge of #56003 - nikomatsakis:issue-54467-infer-outlives-bounds-and-trait-objec...
bors [Sat, 17 Nov 2018 13:19:42 +0000 (13:19 +0000)]
Auto merge of #56003 - nikomatsakis:issue-54467-infer-outlives-bounds-and-trait-objects, r=eddyb

do not propagate inferred bounds on trait objects if they involve `Self`

Fixes #54467, which is a Rust 2018 Release blocking issue.

r? @eddyb

5 years agoUpdate Cargo submodule
Alex Crichton [Fri, 16 Nov 2018 11:08:23 +0000 (03:08 -0800)]
Update Cargo submodule

Brings in some fixes and stabilizations!

5 years agoAuto merge of #55627 - sunfishcode:cg-llvm-gen, r=nikomatsakis
bors [Sat, 17 Nov 2018 04:10:52 +0000 (04:10 +0000)]
Auto merge of #55627 - sunfishcode:cg-llvm-gen, r=nikomatsakis

rustc_codegen_llvm: traitification of LLVM-specific CodegenCx and Builder methods

This PR is the continuation of #54012 and earlier PRs, in the grand plan of #45274 to allow for multiple codegen backends.

High-level summary: interpose a set of traits between Rust's codegen logic and the LLVM APIs, allowing another backend to implement the traits and share most of the codegen logic. These traits are currently somewhat LLVM-specific, but once this refactoring is in place, they can evolve to be more general.

See [this README](https://github.com/rust-lang/rust/blob/756f84d7cef90b7364ae88ca707e59670dde4c92/src/librustc_codegen_ssa/README.md) for a writeup on the current trait organization.

5 years agoAuto merge of #55936 - nrc:save-rename, r=eddyb
bors [Fri, 16 Nov 2018 21:11:24 +0000 (21:11 +0000)]
Auto merge of #55936 - nrc:save-rename, r=eddyb

save-analysis: be even more aggressive about ignorning macro-generated defs

r? @eddyb

5 years agohandle trait objects formed from traits with `Self::Foo: 'a` clauses
Niko Matsakis [Fri, 16 Nov 2018 13:58:55 +0000 (08:58 -0500)]
handle trait objects formed from traits with `Self::Foo: 'a` clauses

5 years agoimprove debug output related to bound calculation
Niko Matsakis [Fri, 16 Nov 2018 13:25:46 +0000 (08:25 -0500)]
improve debug output related to bound calculation

5 years ago[eddyb] rustc_codegen_llvm: remove unused parametrization of `CodegenCx` and `Builder...
Eduard-Mihai Burtescu [Fri, 16 Nov 2018 11:48:26 +0000 (13:48 +0200)]
[eddyb] rustc_codegen_llvm: remove unused parametrization of `CodegenCx` and `Builder` over `Value`s.

5 years ago[eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`.
Eduard-Mihai Burtescu [Fri, 16 Nov 2018 11:45:28 +0000 (13:45 +0200)]
[eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`.

5 years ago[eddyb] rustc_codegen_ssa: avoid a `Clone` bound on `TargetMachine`.
Eduard-Mihai Burtescu [Fri, 16 Nov 2018 11:39:56 +0000 (13:39 +0200)]
[eddyb] rustc_codegen_ssa: avoid a `Clone` bound on `TargetMachine`.

5 years ago[eddyb] rustc_codegen_llvm: remove unnecessary `'a` from `LlvmCodegenBackend` impls.
Eduard-Mihai Burtescu [Fri, 16 Nov 2018 11:37:55 +0000 (13:37 +0200)]
[eddyb] rustc_codegen_llvm: remove unnecessary `'a` from `LlvmCodegenBackend` impls.

5 years ago[eddyb] rustc_codegen_utils: remove extraneous `#![allow(dead_code)]`.
Eduard-Mihai Burtescu [Fri, 16 Nov 2018 11:37:17 +0000 (13:37 +0200)]
[eddyb] rustc_codegen_utils: remove extraneous `#![allow(dead_code)]`.

5 years ago[eddyb] rustc_codegen_ssa: handle LLVM unsafety correctly.
Eduard-Mihai Burtescu [Fri, 16 Nov 2018 11:33:28 +0000 (13:33 +0200)]
[eddyb] rustc_codegen_ssa: handle LLVM unsafety correctly.

5 years agoAdded README explaining the refactoring
Denis Merigoux [Mon, 22 Oct 2018 16:35:28 +0000 (18:35 +0200)]
Added README explaining the refactoring

5 years agoSeparating the back folder between backend-agnostic and LLVM-specific code
Denis Merigoux [Tue, 23 Oct 2018 15:01:35 +0000 (17:01 +0200)]
Separating the back folder between backend-agnostic and LLVM-specific code

5 years agoAdded default impl for DerivedTypeMethods + empty impl for Cranelift BaseTypeMethods
Denis Merigoux [Tue, 9 Oct 2018 14:01:02 +0000 (16:01 +0200)]
Added default impl for DerivedTypeMethods + empty impl for Cranelift BaseTypeMethods

5 years agoAll Builder methods now take &mut self instead of &self
Denis Merigoux [Fri, 5 Oct 2018 13:08:49 +0000 (15:08 +0200)]
All Builder methods now take &mut self instead of &self

5 years agoAdded some docs + start to &mut self builder methods
Denis Merigoux [Thu, 4 Oct 2018 13:23:10 +0000 (15:23 +0200)]
Added some docs + start to &mut self builder methods

5 years agoFinished moving backend-agnostic code to rustc_codegen_ssa
Denis Merigoux [Wed, 3 Oct 2018 14:56:24 +0000 (16:56 +0200)]
Finished moving backend-agnostic code to rustc_codegen_ssa

5 years agoGreat separation of librustc_codegen_llvm: librustc_codegen_ssa compiles
Denis Merigoux [Wed, 3 Oct 2018 11:49:57 +0000 (13:49 +0200)]
Great separation of librustc_codegen_llvm: librustc_codegen_ssa compiles

5 years agoMoved DeclareMethods, MiscMethods and StaticMethods
Denis Merigoux [Tue, 2 Oct 2018 08:49:54 +0000 (10:49 +0200)]
Moved DeclareMethods, MiscMethods and StaticMethods

5 years agoBeginning of moving all backend-agnostic code to rustc_codegen_ssa
Denis Merigoux [Mon, 1 Oct 2018 16:07:04 +0000 (18:07 +0200)]
Beginning of moving all backend-agnostic code to rustc_codegen_ssa

5 years agoMoved Backend interface into rustc_codegen_utils
Denis Merigoux [Mon, 1 Oct 2018 08:32:09 +0000 (10:32 +0200)]
Moved Backend interface into rustc_codegen_utils

5 years ago[eddyb/rebase cleanup] move type_{needs_drop,is_sized,is_freeze} to rustc_codegen_utils
Eduard-Mihai Burtescu [Tue, 13 Nov 2018 10:53:29 +0000 (12:53 +0200)]
[eddyb/rebase cleanup] move type_{needs_drop,is_sized,is_freeze} to rustc_codegen_utils

5 years ago[eddyb/rebase cleanup] abstracted Funclet
Eduard-Mihai Burtescu [Tue, 13 Nov 2018 10:51:42 +0000 (12:51 +0200)]
[eddyb/rebase cleanup] abstracted Funclet

5 years agoMoved common.rs enums
Denis Merigoux [Fri, 28 Sep 2018 10:18:03 +0000 (12:18 +0200)]
Moved common.rs enums

5 years agoStarting to move backend-agnostic code into codegen_utils
Denis Merigoux [Fri, 28 Sep 2018 09:40:59 +0000 (11:40 +0200)]
Starting to move backend-agnostic code into codegen_utils
IntPredicate moved

5 years agoAdded compile codegen to backend trait
Denis Merigoux [Thu, 27 Sep 2018 13:31:20 +0000 (15:31 +0200)]
Added compile codegen to backend trait

5 years agoPreparing the generalization of base:compile_coodegen_unit
Denis Merigoux [Wed, 26 Sep 2018 15:00:01 +0000 (17:00 +0200)]
Preparing the generalization of base:compile_coodegen_unit

5 years agoRenamed lifetimes for better understanding
Denis Merigoux [Wed, 26 Sep 2018 14:01:43 +0000 (16:01 +0200)]
Renamed lifetimes for better understanding

5 years agoGeneralized base:codegen_crate
Denis Merigoux [Tue, 25 Sep 2018 15:52:03 +0000 (17:52 +0200)]
Generalized base:codegen_crate

5 years agoMove doc to trait declarations
Denis Merigoux [Mon, 24 Sep 2018 15:35:39 +0000 (17:35 +0200)]
Move doc to trait declarations

5 years agoGeneralized base:maybe_create_entry_wrapper
Denis Merigoux [Mon, 24 Sep 2018 13:26:39 +0000 (15:26 +0200)]
Generalized base:maybe_create_entry_wrapper

5 years agoAdapt code to latest rustc master changes
Denis Merigoux [Mon, 24 Sep 2018 08:51:13 +0000 (10:51 +0200)]
Adapt code to latest rustc master changes

5 years agoGeneralized mono_item.rs and base.rs:codegen_instance
Denis Merigoux [Fri, 21 Sep 2018 14:13:15 +0000 (16:13 +0200)]
Generalized mono_item.rs and base.rs:codegen_instance

5 years agoGeneralized mir::codegen_mir (and all subsequent functions)
Denis Merigoux [Thu, 20 Sep 2018 13:47:22 +0000 (15:47 +0200)]
Generalized mir::codegen_mir (and all subsequent functions)

5 years agoGeneralized base::coerce_unsized_into
Denis Merigoux [Fri, 14 Sep 2018 15:48:57 +0000 (17:48 +0200)]
Generalized base::coerce_unsized_into

5 years agoGeneralized base::unsize_thin_ptr
Denis Merigoux [Thu, 13 Sep 2018 15:41:40 +0000 (17:41 +0200)]
Generalized base::unsize_thin_ptr

5 years agoGeneralized base::unsized_info
Denis Merigoux [Thu, 13 Sep 2018 12:58:19 +0000 (14:58 +0200)]
Generalized base::unsized_info

5 years ago[eddyb/rebase cleanup] s/&self./self.
Eduard-Mihai Burtescu [Wed, 7 Nov 2018 10:08:41 +0000 (12:08 +0200)]
[eddyb/rebase cleanup] s/&self./self.

5 years agoTraitified IntrinsicCallMethods
Denis Merigoux [Tue, 11 Sep 2018 09:46:03 +0000 (11:46 +0200)]
Traitified IntrinsicCallMethods

5 years agoTransfered memcpy and memset to BuilderMethods
Denis Merigoux [Mon, 10 Sep 2018 15:59:20 +0000 (17:59 +0200)]
Transfered memcpy and memset to BuilderMethods

5 years agoAdded StaticMethods trait
Denis Merigoux [Mon, 10 Sep 2018 14:28:47 +0000 (16:28 +0200)]
Added StaticMethods trait

5 years agoGeneralized memset and memcpy
Denis Merigoux [Fri, 7 Sep 2018 22:39:39 +0000 (15:39 -0700)]
Generalized memset and memcpy

5 years agoGeneralized some base.rs methods
Denis Merigoux [Fri, 7 Sep 2018 20:25:50 +0000 (13:25 -0700)]
Generalized some base.rs methods

5 years agoAttempt at including CodegenCx within Builder with Associated types
Denis Merigoux [Fri, 7 Sep 2018 01:31:42 +0000 (18:31 -0700)]
Attempt at including CodegenCx within Builder with Associated types

5 years agoFixed typos
Denis Merigoux [Fri, 7 Sep 2018 00:27:04 +0000 (17:27 -0700)]
Fixed typos

5 years agoRemoved phantomdata no longer necessary
Denis Merigoux [Thu, 6 Sep 2018 23:04:20 +0000 (16:04 -0700)]
Removed phantomdata no longer necessary
Because CodegenContext doesn't implement Backend anymore

5 years agoRemoving LLVM content from CommonMethods -> ConstMethods
Denis Merigoux [Thu, 6 Sep 2018 21:44:51 +0000 (14:44 -0700)]
Removing LLVM content from CommonMethods -> ConstMethods

5 years agoPrefixed type methods & removed trait impl for write::CodegenContext
Denis Merigoux [Thu, 6 Sep 2018 20:52:15 +0000 (13:52 -0700)]
Prefixed type methods & removed trait impl for write::CodegenContext

5 years agoPrefixed const methods with "const" instead of "c"
Denis Merigoux [Thu, 6 Sep 2018 18:57:42 +0000 (11:57 -0700)]
Prefixed const methods with "const" instead of "c"

5 years agoTraitification of type_ methods
Denis Merigoux [Wed, 5 Sep 2018 21:14:03 +0000 (14:14 -0700)]
Traitification of type_ methods
The methods are now attached to CodegenCx instead of Type

5 years agoAdded definition of type trait
Denis Merigoux [Thu, 30 Aug 2018 15:50:28 +0000 (17:50 +0200)]
Added definition of type trait

5 years agoUse the method form for CodegenCx everywhere
Denis Merigoux [Thu, 30 Aug 2018 13:41:59 +0000 (15:41 +0200)]
Use the method form for CodegenCx everywhere

5 years agoAll CommonMethods now real methods (not static)
Denis Merigoux [Thu, 30 Aug 2018 12:58:15 +0000 (14:58 +0200)]
All CommonMethods now real methods (not static)

5 years agoRemoved code duplication for CommonWriteMethods
Denis Merigoux [Thu, 30 Aug 2018 12:24:41 +0000 (14:24 +0200)]
Removed code duplication for CommonWriteMethods

5 years agoCommonWriteMethods are not static any more
Denis Merigoux [Wed, 29 Aug 2018 16:42:25 +0000 (18:42 +0200)]
CommonWriteMethods are not static any more

5 years agoSplit CommonMethods to accomodate for use in back/write.rs
Denis Merigoux [Wed, 29 Aug 2018 14:40:47 +0000 (16:40 +0200)]
Split CommonMethods to accomodate for use in back/write.rs

5 years agoAdded self argument for Codegen CommonMethod trait methods
Denis Merigoux [Wed, 29 Aug 2018 13:56:30 +0000 (15:56 +0200)]
Added self argument for Codegen CommonMethod trait methods

5 years agoReplaced Codegen field access by trait method
Denis Merigoux [Tue, 28 Aug 2018 15:50:57 +0000 (17:50 +0200)]
Replaced Codegen field access by trait method

5 years agoTraitification of common.rs methods
Denis Merigoux [Tue, 28 Aug 2018 15:03:46 +0000 (17:03 +0200)]
Traitification of common.rs methods

5 years agoNew Backend trait containing associated types
Denis Merigoux [Tue, 28 Aug 2018 09:40:34 +0000 (11:40 +0200)]
New Backend trait containing associated types

5 years agoNew files and folders for traits
Denis Merigoux [Tue, 28 Aug 2018 09:11:01 +0000 (11:11 +0200)]
New files and folders for traits
Moved common enums to common

5 years agoUse real type names rather than Self::
Denis Merigoux [Thu, 23 Aug 2018 13:23:48 +0000 (15:23 +0200)]
Use real type names rather than Self::

5 years agoRemoved parasite yaml file and put explicit lifetimes
Denis Merigoux [Thu, 23 Aug 2018 08:10:53 +0000 (10:10 +0200)]
Removed parasite yaml file and put explicit lifetimes

5 years agoUse associated types instead of type parameters inside the BuilderMethods trait
Denis Merigoux [Wed, 22 Aug 2018 16:57:31 +0000 (18:57 +0200)]
Use associated types instead of type parameters inside the BuilderMethods trait

5 years agoRemoved genericity over Value in various functions
Denis Merigoux [Wed, 22 Aug 2018 15:48:32 +0000 (17:48 +0200)]
Removed genericity over Value in various functions
Prelude to using associated types in traits rather than type parameters

5 years agoGeneralized AsmDialect for BuilderMethods
Denis Merigoux [Tue, 21 Aug 2018 16:22:29 +0000 (18:22 +0200)]
Generalized AsmDialect for BuilderMethods

5 years agoGeneralized SynchronisationScope for BuilderMethods
Denis Merigoux [Tue, 21 Aug 2018 16:15:29 +0000 (18:15 +0200)]
Generalized SynchronisationScope for BuilderMethods

5 years agoGeneralized AtomicOrdering for BuilderMethods
Denis Merigoux [Tue, 21 Aug 2018 16:08:20 +0000 (18:08 +0200)]
Generalized AtomicOrdering for BuilderMethods

5 years agoGeneralized AtomicRmwBinOp for BuilderMethods
Denis Merigoux [Tue, 21 Aug 2018 15:54:12 +0000 (17:54 +0200)]
Generalized AtomicRmwBinOp for BuilderMethods

5 years agoGeneralized OperandBundleDef in BuilderMethods
Denis Merigoux [Tue, 21 Aug 2018 15:39:43 +0000 (17:39 +0200)]
Generalized OperandBundleDef in BuilderMethods

5 years agoRemoved useless traits for IntPredicate and RealPredicate
Denis Merigoux [Tue, 21 Aug 2018 14:31:36 +0000 (16:31 +0200)]
Removed useless traits for IntPredicate and RealPredicate

5 years agoGeneralized RealPredicate
Denis Merigoux [Tue, 21 Aug 2018 11:54:41 +0000 (13:54 +0200)]
Generalized RealPredicate

5 years agoGeneralized IntPredicate in the BuilderMethods trait
Denis Merigoux [Mon, 20 Aug 2018 16:16:51 +0000 (18:16 +0200)]
Generalized IntPredicate in the BuilderMethods trait

5 years agoGeneralized BasicBlocks in BuilderMethods trait
Denis Merigoux [Mon, 20 Aug 2018 15:44:18 +0000 (17:44 +0200)]
Generalized BasicBlocks in BuilderMethods trait