Denis Merigoux
3c082a23e8
Added StaticMethods trait
2018-11-16 14:11:59 +02:00
Denis Merigoux
d77e34f35b
Generalized memset and memcpy
2018-11-16 14:11:59 +02:00
Denis Merigoux
0514c7b1b2
Generalized some base.rs methods
2018-11-16 14:11:59 +02:00
Denis Merigoux
c487b825b0
Attempt at including CodegenCx within Builder with Associated types
2018-11-16 14:11:59 +02:00
Denis Merigoux
1929ac2007
Fixed typos
2018-11-16 14:11:59 +02:00
Denis Merigoux
4787b7cac9
Removed phantomdata no longer necessary
...
Because CodegenContext doesn't implement Backend anymore
2018-11-16 14:11:59 +02:00
Denis Merigoux
a1d0d4f943
Removing LLVM content from CommonMethods -> ConstMethods
2018-11-16 14:11:59 +02:00
Denis Merigoux
e224f063e8
Prefixed type methods & removed trait impl for write::CodegenContext
2018-11-16 14:11:59 +02:00
Denis Merigoux
6d42574b7a
Prefixed const methods with "const" instead of "c"
2018-11-16 14:11:59 +02:00
Denis Merigoux
730b13ab51
Traitification of type_ methods
...
The methods are now attached to CodegenCx instead of Type
2018-11-16 14:11:59 +02:00
Denis Merigoux
5f28e0a0b6
Added definition of type trait
2018-11-16 14:11:59 +02:00
Denis Merigoux
3e77f2fc4f
Use the method form for CodegenCx everywhere
2018-11-16 14:11:59 +02:00
Denis Merigoux
6c5b990c5f
All CommonMethods now real methods (not static)
2018-11-16 14:11:59 +02:00
Denis Merigoux
33eee83737
Removed code duplication for CommonWriteMethods
2018-11-16 14:11:59 +02:00
Denis Merigoux
4cc18d3de5
CommonWriteMethods are not static any more
2018-11-16 14:11:59 +02:00
Denis Merigoux
3aee77277e
Split CommonMethods to accomodate for use in back/write.rs
2018-11-16 14:11:59 +02:00
Denis Merigoux
83e07f9fe9
Added self argument for Codegen CommonMethod trait methods
2018-11-16 14:11:59 +02:00
Denis Merigoux
d325844804
Replaced Codegen field access by trait method
2018-11-16 14:11:59 +02:00
Denis Merigoux
8714e6bce6
Traitification of common.rs methods
2018-11-16 14:11:59 +02:00
Denis Merigoux
3889c2dcfb
New Backend trait containing associated types
2018-11-16 14:11:59 +02:00
Denis Merigoux
d577ec7e5f
New files and folders for traits
...
Moved common enums to common
2018-11-16 14:11:59 +02:00
Denis Merigoux
7a2670e307
Use real type names rather than Self::
2018-11-16 14:11:59 +02:00
Denis Merigoux
a16d85bbae
Removed parasite yaml file and put explicit lifetimes
2018-11-16 14:11:59 +02:00
Denis Merigoux
89825f2ef5
Use associated types instead of type parameters inside the BuilderMethods trait
2018-11-16 14:11:59 +02:00
Denis Merigoux
9c41e1aa10
Removed genericity over Value in various functions
...
Prelude to using associated types in traits rather than type parameters
2018-11-16 14:11:34 +02:00
Denis Merigoux
1ca750683e
Generalized AsmDialect for BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
b761538997
Generalized SynchronisationScope for BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
b699866290
Generalized AtomicOrdering for BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
275589150b
Generalized AtomicRmwBinOp for BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
1bcb4df166
Generalized OperandBundleDef in BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
bc86624c43
Removed useless traits for IntPredicate and RealPredicate
2018-11-16 14:11:09 +02:00
Denis Merigoux
8590336d49
Generalized RealPredicate
2018-11-16 14:11:09 +02:00
Denis Merigoux
51b7f2739b
Generalized IntPredicate in the BuilderMethods trait
2018-11-16 14:11:09 +02:00
Denis Merigoux
14798d6937
Generalized BasicBlocks in BuilderMethods trait
2018-11-16 14:11:09 +02:00
Denis Merigoux
34c5dc045f
Generalized base.rs#call_memcpy and everything that it uses
...
Generalized operand.rs#nontemporal_store and fixed tidy issues
Generalized operand.rs#nontemporal_store's implem even more
With a BuilderMethod trait implemented by Builder for LLVM
Cleaned builder.rs : no more code duplication, no more ValueTrait
Full traitification of builder.rs
2018-11-16 14:11:09 +02:00
Denis Merigoux
83b2152ce4
Reduced line length to pass tidy
...
Generalized FunctionCx
Added ValueTrait and first change
Generalize CondegenCx
Generalized the Builder struct defined in librustc_codegen_llvm/builder.rs
2018-11-16 14:11:09 +02:00
Denis Merigoux
c76fc3d804
Work around to fix issue https://github.com/rust-lang/rust/issues/53912
2018-11-16 14:11:09 +02:00
Irina Popa
5a9e6b8776
rustc_codegen_llvm: begin generalizing over backend values.
2018-11-16 14:10:53 +02:00
Oliver Scherer
9b8791179f
Update stderr file
2018-11-16 09:04:35 +01:00
Andreas Jonson
03aaa4b659
remove unused dependency
2018-11-16 08:46:15 +01:00
bors
6b9b97bd9b
Auto merge of #55948 - matthiaskrgr:clippy, r=oli-obk
...
submodules: update clippy from d8b42690
to 7e0ddef4
Fixes clippy toolstate.
Changes:
````
rustup https://github.com/rust-lang/rust/pull/55852/
Fix "too" -> "foo" typo in format.rs
Fix `use_self` violation
Fix wrong suggestion for `redundant_closure_call`
Check for common metadata
Fix `use_self` false positive on `use` statements
Fix `use_self` false positive
Remove `+` from `has_unary_equivalent`
Fix dogfood
Update println! formatting
Fix false positive in check mode caused by `gen_deprecated`
RIIR update lints: Add check mode (update_lints.py rewrite complete)
changed into_iter to iter and fixed a lint check
Fix `collapsible_if` error
Fix `possible_missing_comma` false positives
format code
fix comment spacing
change single char str to char
add lint to lintarray macro
Revert "small fix"
small fix
added float support for mistyped literal lints
tmp progress
````
2018-11-15 18:35:38 +00:00
Matthias Krüger
f354c85102
submodules: update clippy from d8b42690
to f5d868c9
...
Fixes clippy toolstate.
Changes:
````
rustup https://github.com/rust-lang/rust/pull/55852/
Fix "too" -> "foo" typo in format.rs
Fix `use_self` violation
Fix wrong suggestion for `redundant_closure_call`
Check for common metadata
Fix `use_self` false positive on `use` statements
Fix `use_self` false positive
Remove `+` from `has_unary_equivalent`
Fix dogfood
Update println! formatting
Fix false positive in check mode caused by `gen_deprecated`
RIIR update lints: Add check mode (update_lints.py rewrite complete)
changed into_iter to iter and fixed a lint check
Fix `collapsible_if` error
Fix `possible_missing_comma` false positives
format code
fix comment spacing
change single char str to char
add lint to lintarray macro
Revert "small fix"
small fix
added float support for mistyped literal lints
tmp progress
````
2018-11-15 17:49:24 +01:00
Oliver Scherer
c8a9300d8e
Fix stability hole with static _
2018-11-15 16:16:34 +01:00
Samuel Holland
8c8ff6a4e1
test/linkage-visibility: Ignore on musl targets
...
DynamicLibrary uses libc's dlsym() function internally to find symbols.
Some implementations of dlsym(), like musl's, only look at dynamically-
exported symbols, as found in shared libraries. To also export symbols
from the main executable, we would need to pass --export-dynamic to the
linker. Since this flag isn't available everywhere, ignore the test for
now.
2018-11-15 13:53:15 +00:00
Samuel Holland
4f9c860385
Add powerpc64-unknown-linux-musl target
2018-11-15 13:43:31 +00:00
Samuel Holland
2bb5029d74
Use the ELFv2 ABI on powerpc64 musl
2018-11-15 13:43:01 +00:00
Samuel Holland
346e97600b
Fix powerpc64 ELFv2 big-endian struct-passing ABI
...
The requirements here are not "ELFv1" requirements, but big-endian
requirements, as the extension or non-extension of the argument is
necessary to put the argument in the correct half of the register.
Parameter passing in the ELFv2 ABI needs these same transformations.
Since this code makes no difference on little-endian machines, simplify
it to use the same code path everywhere.
2018-11-15 13:43:01 +00:00
Samuel Holland
81303d7d90
Add powerpc-unknown-linux-musl target
2018-11-15 13:42:57 +00:00
bors
9649c1f70f
Auto merge of #55974 - pietroalbini:rollup, r=pietroalbini
...
Rollup of 17 pull requests
Successful merges:
- #55182 (Redox: Update to new changes)
- #55211 (Add BufWriter::buffer method)
- #55507 (Add link to std::mem::size_of to size_of intrinsic documentation)
- #55530 (Speed up String::from_utf16)
- #55556 (Use `Mmap` to open the rmeta file.)
- #55622 (NetBSD: link libstd with librt in addition to libpthread)
- #55750 (Make `NodeId` and `HirLocalId` `newtype_index`)
- #55778 (Wrap some query results in `Lrc`.)
- #55781 (More precise spans for temps and their drops)
- #55785 (Add mem::forget_unsized() for forgetting unsized values)
- #55852 (Rewrite `...` as `..=` as a `MachineApplicable` 2018 idiom lint)
- #55865 (Unix RwLock: avoid racy access to write_locked)
- #55901 (fix various typos in doc comments)
- #55926 (Change sidebar selector to fix compatibility with docs.rs)
- #55930 (A handful of hir tweaks)
- #55932 (core/char: Speed up `to_digit()` for `radix <= 10`)
- #55956 (add tests for some fixed ICEs)
Failed merges:
r? @ghost
2018-11-15 12:43:01 +00:00
Pietro Albini
d0e08ce88e
Rollup merge of #55956 - euclio:issue-55587, r=estebank
...
add tests for some fixed ICEs
Fixes #55587 .
Fixes #54348 .
Looks like these ICEs are already fixed in nightly, so this PR just adds tests.
r? @estebank
2018-11-15 11:04:47 +01:00