- 22 3月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
-
- 21 3月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
It's now in the prelude.
-
- 20 3月, 2014 1 次提交
-
-
由 Daniel Micay 提交于
Closes #12771
-
- 19 3月, 2014 2 次提交
-
-
由 klutzy 提交于
-
由 Ben Noordhuis 提交于
Remove the linker_private and linker_private_weak linkage attributes, they have been superseded by private and private_weak and have been removed in upstream LLVM in commit r203866.
-
- 17 3月, 2014 3 次提交
-
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
- 11 3月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
It is often convenient to have forms of weak linkage or other various types of linkage. Sadly, just using these flavors of linkage are not compatible with Rust's typesystem and how it considers some pointers to be non-null. As a compromise, this commit adds support for weak linkage to external symbols, but it requires that this is only placed on extern statics of type `*T`. Codegen-wise, we get translations like: // rust code extern { #[linkage = "extern_weak"] static foo: *i32; } // generated IR @foo = extern_weak global i32 @_some_internal_symbol = internal global *i32 @foo All references to the rust value of `foo` then reference `_some_internal_symbol` instead of the symbol `_foo` itself. This allows us to guarantee that the address of `foo` will never be null while the value may sometimes be null. An example was implemented in `std::rt::thread` to determine if `__pthread_get_minstack()` is available at runtime, and a test is checked in to use it for a static value as well. Function pointers a little odd because you still need to transmute the pointer value to a function pointer, but it's thankfully better than not having this capability at all.
-
- 09 3月, 2014 2 次提交
-
-
由 Felix S. Klock II 提交于
-
由 Patrick Walton 提交于
-
- 05 3月, 2014 1 次提交
-
-
由 Palmer Cox 提交于
-
- 02 3月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
-
- 14 2月, 2014 1 次提交
-
-
由 Eduard Burtescu 提交于
-
- 09 2月, 2014 1 次提交
-
-
由 mr.Shu 提交于
Error messages cleaned in librustc/middle Error messages cleaned in libsyntax Error messages cleaned in libsyntax more agressively Error messages cleaned in librustc more aggressively Fixed affected tests Fixed other failing tests Last failing tests fixed
-
- 01 2月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
-
- 31 1月, 2014 1 次提交
-
-
由 Nathaniel Herman 提交于
Make size_of, align_of, and element_offset functions return u64 instead of uint in trans::machine (per #5172)
-
- 27 1月, 2014 1 次提交
-
-
由 Eduard Burtescu 提交于
Fixes #10667 and closes #10259.
-
- 19 1月, 2014 1 次提交
-
-
由 Huon Wilson 提交于
NodeIds are sequential integers starting at zero, so we can achieve some memory savings by just storing the items all in a line in a vector. The occupancy for typical crates seems to be 75-80%, so we're already more efficient than a HashMap (maximum occupancy 75%), not even counting the extra book-keeping that HashMap does.
-
- 17 1月, 2014 2 次提交
-
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
Consider all zero-sized data structures to be voidish, bypassing some "quirky" parts of LLVM (see e.g. LLVM bug 9900) but also generating better code
-
- 16 1月, 2014 2 次提交
-
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
Major changes: - Define temporary scopes in a syntax-based way that basically defaults to the innermost statement or conditional block, except for in a `let` initializer, where we default to the innermost block. Rules are documented in the code, but not in the manual (yet). See new test run-pass/cleanup-value-scopes.rs for examples. - Refactors Datum to better define cleanup roles. - Refactor cleanup scopes to not be tied to basic blocks, permitting us to have a very large number of scopes (one per AST node). - Introduce nascent documentation in trans/doc.rs covering datums and cleanup in a more comprehensive way.
-
- 15 1月, 2014 1 次提交
-
-
由 Eduard Burtescu 提交于
-
- 11 1月, 2014 1 次提交
-
-
由 Eduard Burtescu 提交于
Fixes #7411, #10615.
-
- 10 1月, 2014 1 次提交
-
-
由 Eduard Burtescu 提交于
-
- 08 1月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
stack-allocate function contexts.
-
- 04 1月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
-
- 27 12月, 2013 4 次提交
-
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
- 19 12月, 2013 1 次提交
-
-
由 Huon Wilson 提交于
There's no need for the restrictions of a closure with the above methods.
-
- 30 11月, 2013 1 次提交
-
-
由 Marvin Löbel 提交于
-
- 29 11月, 2013 1 次提交
-
-
由 Alex Crichton 提交于
-
- 27 11月, 2013 1 次提交
-
-
由 Patrick Walton 提交于
and librustpkg.
-
- 20 11月, 2013 1 次提交
-
-
由 Patrick Walton 提交于
-
- 19 11月, 2013 2 次提交
- 10 11月, 2013 1 次提交
-
-
由 Alex Crichton 提交于
This adds an other ABI option which allows a custom selection over the target architecture and OS. The only current candidate for this change is that kernel32 on win32 uses stdcall, but on win64 it uses the cdecl calling convention. Otherwise everywhere else this is defined as using the Cdecl calling convention. cc #10049 Closes #8774
-