Eduard-Mihai Burtescu
f083c32da7
tests: support cross-compilation in run-make/rustc-macro-dep-files.
2018-11-30 06:15:20 +02:00
Eduard-Mihai Burtescu
15c77caf59
bootstrap: ensure that libproc_macro
is available on the host for tests even when cross-compiling.
2018-11-30 06:15:20 +02:00
Eduard-Mihai Burtescu
3369929ddb
tests: use force-host
and no-prefer-dynamic
in all proc_macro tests.
2018-11-30 06:15:20 +02:00
Eduard-Mihai Burtescu
fcca22cb40
tests: move all proc_macro tests from -fulldeps.
2018-11-30 06:15:20 +02:00
Eduard-Mihai Burtescu
d3ab4a74ef
tests: remove ignore-stage1 where possible in proc_macro tests.
2018-11-30 06:15:20 +02:00
Eduard-Mihai Burtescu
188d2dafcd
Statically link proc_macro into proc macros.
2018-11-30 06:15:20 +02:00
Eduard-Mihai Burtescu
67afeef9e4
proc_macro: move to a dependency of libtest.
2018-11-30 06:15:20 +02:00
Eduard-Mihai Burtescu
8cf463bcff
proc_macro: move the rustc server to syntax_ext.
2018-11-30 06:15:19 +02:00
Eduard-Mihai Burtescu
38fee305da
proc_macro: remove the __internal module.
2018-11-30 06:15:19 +02:00
Eduard-Mihai Burtescu
e305994beb
proc_macro: introduce a "bridge" between clients (proc macros) and servers (compiler front-ends).
2018-11-30 06:15:19 +02:00
Alexander Regueiro
5f19cdc4f8
Changed test for issue 56202 to compile-pass.
2018-11-30 03:12:10 +00:00
Esteban Küber
027bf8b4de
Use opt_def_id instead of having special branch
2018-11-30 03:12:10 +00:00
Esteban Küber
c144dc07e3
Fix ICE with feature self_struct_ctor
2018-11-30 03:12:10 +00:00
Dan Robertson
a0fec9488e
Fix panic with outlives in existential type
...
Don't panic in determining the privacy of a type if a lifetime outlives
generic exists in an existential type.
2018-11-30 02:04:10 +00:00
Nikita Popov
cbf748993f
Enable -mergefunc-use-aliases
...
If the Rust LLVM fork is used, enable the -mergefunc-use-aliases
flag, which will create aliases for merged functions, rather than
inserting a call from one to the other.
A number of codegen tests needed to be adjusted, because functions
that previously fell below the thunk limit are now being merged.
Merging is prevented either using -C no-prepopulate-passes, or by
making the functions non-identical.
I expect that this is going to break something, somewhere, because
it isn't able to deal with aliases properly, but we won't find out
until we try :)
This fixes #52651 .
2018-11-30 00:52:16 +01:00
Vitaly _Vi Shukela
f18a8c6163
Fix exceeding line width limit
2018-11-30 02:37:04 +03:00
Vitaly _Vi Shukela
d3f9788e59
panic_immediate_abort: Fix issues from review
2018-11-30 02:17:05 +03:00
Alex Crichton
225140ed21
Optimize local linkchecker program
...
I noticed on a [recent build][1] that the linkchecker stage of CI took a
whopping 15 minutes of CI time for something that should be near
instantaneous. Some local profiling showed some very hot functions and
clones which were pretty easy to remove, and now instead of running in
minutes locally it runs in seconds.
[1]: https://ci.appveyor.com/project/rust-lang/rust/build/job/kptifw1kb1nm4xuu
2018-11-29 15:02:06 -08:00
Vitaly _Vi Shukela
fdef3848a0
Add libstd and libcore Cargo features "panic_immediate_abort"
...
It stop asserts and panics from libstd to automatically
include string output and formatting code.
Use case: developing static executables smaller than 50 kilobytes,
where usual formatting code is excessive while keeping debuggability
in debug mode.
May resolve #54981 .
2018-11-30 00:56:41 +03:00
John Kåre Alsaker
4cce4ffdef
Add inline attributes and add unit to CommonTypes
2018-11-29 22:11:02 +01:00
varkor
1cdf5df451
Fix error message after rebase
2018-11-29 21:00:11 +00:00
varkor
46ef9f820c
Fix broken tests
2018-11-29 20:58:38 +00:00
varkor
32a8dec889
Clarify undecided semantics
2018-11-29 20:58:38 +00:00
varkor
d2b340758b
Add a test for uninhabitedness changes
2018-11-29 20:58:37 +00:00
varkor
682f0f8d80
Consider references and unions potentially inhabited during privacy-respecting inhabitedness checks
2018-11-29 20:58:37 +00:00
scalexm
1fce415649
Correctly generalize inference variables in nll_relate
2018-11-29 21:57:40 +01:00
scalexm
c805e817a9
Fix doc comments
2018-11-29 21:57:40 +01:00
scalexm
b2b82f790b
Implement AggregateOps
...
`make_solution` does not return any guidance for now
2018-11-29 21:57:40 +01:00
scalexm
0169dc3f36
Implement ResolventOps
2018-11-29 21:57:40 +01:00
scalexm
3b2cfc510b
Handle inference variables in nll_relate
and use it for chalk
2018-11-29 21:57:34 +01:00
Tom Tromey
fb204cb92f
Add template parameter debuginfo to generic types
...
This changes debuginfo generation to add template parameters to
generic types. With this change the DWARF now has
DW_TAG_template_type_param for types, not just for functions, like:
<2><40d>: Abbrev Number: 6 (DW_TAG_structure_type)
<40e> DW_AT_name : (indirect string, offset: 0x375): Generic<i32>
<412> DW_AT_byte_size : 4
<413> DW_AT_alignment : 4
...
<3><41f>: Abbrev Number: 8 (DW_TAG_template_type_param)
<420> DW_AT_type : <0x42a>
<424> DW_AT_name : (indirect string, offset: 0xa65e): T
Closes #9224
2018-11-29 13:04:09 -07:00
David Wood
0124341935
Only consider stem when extension is exe.
...
This commit modifies linker flavor inference to only remove the extension
to the linker when performing inference if that extension is a 'exe'.
2018-11-29 20:47:59 +01:00
bors
3e90a12a8a
Auto merge of #49878 - dlrobertson:va_list_pt0, r=eddyb
...
libcore: Add VaList and variadic arg handling intrinsics
## Summary
- Add intrinsics for `va_start`, `va_end`, `va_copy`, and `va_arg`.
- Add `core::va_list::VaList` to `libcore`.
Part 1 of (at least) 3 for #44930
Comments and critiques are very much welcomed 😄
2018-11-29 19:28:21 +00:00
bjorn3
d108a913c7
Move get_static from CodegenCx to Builder
2018-11-29 18:19:44 +01:00
bjorn3
ceb29e2ac4
Use implicit deref instead of BuilderMethods::cx()
2018-11-29 18:19:44 +01:00
bjorn3
e45733048e
Require Deref to CodegenCx for HasCodegen
2018-11-29 18:19:44 +01:00
bjorn3
f47505e867
Rename static_bitcast to const_bitcast
2018-11-29 18:19:43 +01:00
bjorn3
e8da3c6c32
Remove static_addr_of_mut from cg_ssa
2018-11-29 18:19:43 +01:00
bjorn3
aaca5a38ee
Rename StaticMethods::static_ptrcast to ConstMethods::const_ptrcast
2018-11-29 18:19:43 +01:00
bjorn3
59682d3e2a
Remove static_bitcast from cg_ssa
2018-11-29 18:19:43 +01:00
bjorn3
b8d55d45ce
Remove an unnecessary reference
2018-11-29 18:19:43 +01:00
bjorn3
2d4c96d1b1
Move IntrinsicCallMethods::call_overflow_intrinsics to BuilderMethods::checked_binop
2018-11-29 18:19:42 +01:00
bjorn3
9a9045573f
Remove call_lifetime_intrinsic from cg_ssa
2018-11-29 18:19:42 +01:00
bjorn3
187c4cf257
Use BackendTypes instead of Backend or HasCodegen in a few places
2018-11-29 18:19:42 +01:00
bjorn3
66c3195c4c
Rustfmt on cg_ssa/traits
2018-11-29 18:19:42 +01:00
bjorn3
15a5009af0
Don't use llvm intrinsic names in cg_ssa
2018-11-29 18:19:41 +01:00
bjorn3
8698f5c43d
Remove __build_diagnostic_array! from cg_utils
2018-11-29 18:19:41 +01:00
bjorn3
2d46ee26fb
Remove static_replace_all_uses and statics_to_rauw from cg_ssa
2018-11-29 18:19:41 +01:00
bjorn3
436eff5e84
Make ConstMethods and StaticMethods require BackendTypes instead of Backend
2018-11-29 18:19:41 +01:00
bjorn3
b3b6e4dd9b
Some refactorings
2018-11-29 18:19:41 +01:00