Eduard Burtescu
ade79d7609
rustc_trans: simplify vtable and symbol handling.
2016-09-20 20:30:52 +03:00
Matt Ickstadt
b9a8c1a063
Fix incorrect LLVM Linkage enum
...
The `Linkage` enum in librustc_llvm got out of sync with the version in LLVM and it caused two variants of the #[linkage=""] attribute to break.
This adds the functions `LLVMRustGetLinkage` and `LLVMRustSetLinkage` which convert between the Rust Linkage enum and the LLVM one, which should stop this from breaking every time LLVM changes it.
Fixes #33992
2016-09-04 16:12:01 -05:00
Eduard Burtescu
d0654ae5e5
rustc_trans: remove the bulk of old trans and most of its support code.
2016-08-24 13:23:37 +03:00
Eduard Burtescu
cb9b0ed91b
Disable old trans access via -Z orbit, #[rustc_no_mir] or --disable-orbit.
2016-08-24 13:23:37 +03:00
Andrew Cann
ed02344fbc
Remove obsolete divergence related stuff
...
Replace FnOutput with Ty
Replace FnConverging(ty) with ty
Purge FnDiverging, FunctionRetTy::NoReturn and FunctionRetTy::None
2016-08-13 21:37:09 +08:00
Ariel Ben-Yehuda
3041a97b1a
finish type-auditing rustllvm
2016-08-03 15:08:47 +03:00
Michael Woerister
59cfe904dc
trans: Avoid weak linkage for closures when linking with MinGW.
2016-08-01 04:33:39 -04:00
Michael Woerister
b732cf46f8
trans: Make sure that closures only get translated once.
2016-07-09 12:15:34 -04:00
Michael Woerister
b149b9d19b
trans: Set COMDAT section for weak symbols so that Windows can handle them.
2016-07-08 10:42:48 -04:00
James Miller
6717106947
Drive function item translation from collector
...
Functions and method are declared ahead-of-time, including generic ones.
Closures are not considered trans items anymore, instead they are
translated on demands.
2016-07-08 10:42:38 -04:00
Eduard Burtescu
bcec7a5848
rustc: add ReErased to be used by trait selection, MIR and trans.
2016-06-05 13:58:51 +03:00
Michael Woerister
4f7ab0e16b
Emit "no-frame-pointer-elim" attribute for closures, shims, and glue.
2016-05-27 13:54:43 -04:00
Eduard Burtescu
c9a10bd26b
trans: move exported_symbol to Instance::symbol_name.
2016-05-25 01:34:20 +03:00
Eduard Burtescu
14133d33bc
trans: move exported_name's logic into symbol_names.
2016-05-25 01:34:17 +03:00
Eduard Burtescu
a1c170fc35
rustc: Split local type contexts interners from the global one.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
20652162ca
rustc: More interning for data used in Ty<'tcx>.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
12e56ea56b
rustc: Wrap users of InferCtxt in an anonymous scope.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
76affa5d6f
rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
513d392f7e
rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
6e290998c3
infer: Turn normalize_associated_type into a method on TyCtxt.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
0907c198c4
infer: Use methods for creating an InferCtxt.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
4e6b178649
trans: use DefKey directly in debuginfo for paths.
2016-04-11 20:49:07 +03:00
Eduard Burtescu
e945b2852e
trans: pass essential information from trans_closure to debuginfo.
2016-04-11 20:49:07 +03:00
Eduard Burtescu
35a6e6a02b
trans: use Instance in trans_closure and FunctionContext::new.
2016-04-11 20:49:07 +03:00
Eduard Burtescu
ffca6c3e15
rustc: move middle::{def,def_id,pat_util} to hir.
2016-04-06 09:14:21 +03:00
Eduard Burtescu
8b0937293b
rustc: move rustc_front to rustc::hir.
2016-04-06 09:01:55 +03:00
Benjamin Herr
c59ea491ea
librustc_trans: use bug!(), span_bug!()
2016-03-31 22:06:52 +02:00
Eduard Burtescu
035a645e64
rustc_trans: move the contents of the trans module to top-level.
2016-03-27 01:23:28 +02:00