- 05 4月, 2014 1 次提交
-
-
由 Corey Richardson 提交于
-
- 04 4月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
This change removes the AbiSet from the AST, converting all usage to have just one Abi value. The current scheme selects a relevant ABI given a list of ABIs based on the target architecture and how relevant each ABI is to that architecture. Instead of this mildly complicated scheme, only one ABI will be allowed in abi strings, and pseudo-abis will be created for special cases as necessary. For example the "system" abi exists for stdcall on win32 and C on win64. Closes #10049
-
- 30 3月, 2014 1 次提交
-
-
由 Marvin Löbel 提交于
-
- 25 3月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
The crate map is no longer necessary now that logging and event loop factories have been moved out. Closes #11617 Closes #11731
-
- 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.
-