1. 19 8月, 2014 1 次提交
  2. 05 8月, 2014 1 次提交
    • A
      rustc: Link entire archives of native libraries · 1ae1461f
      Alex Crichton 提交于
      As discovered in #15460, a particular #[link(kind = "static", ...)] line is not
      actually guaranteed to link the library at all. The reason for this is that if
      the external library doesn't have any referenced symbols in the object generated
      by rustc, the entire library is dropped by the linker.
      
      For dynamic native libraries, this is solved by passing -lfoo for all downstream
      compilations unconditionally. For static libraries in rlibs this is solved
      because the entire archive is bundled in the rlib. The only situation in which
      this was a problem was when a static native library was linked to a rust dynamic
      library.
      
      This commit brings the behavior of dylibs in line with rlibs by passing the
      --whole-archive flag to the linker when linking native libraries. On OSX, this
      uses the -force_load flag. This flag ensures that the entire archive is
      considered candidate for being linked into the final dynamic library.
      
      This is a breaking change because if any static library is included twice in the
      same compilation unit then the linker will start emitting errors about duplicate
      definitions now. The fix for this would involve only statically linking to a
      library once.
      
      Closes #15460
      [breaking-change]
      1ae1461f
  3. 30 6月, 2014 1 次提交
  4. 29 6月, 2014 1 次提交
  5. 19 6月, 2014 1 次提交
    • A
      Merge conflicts from the rollup · 2c3bf883
      Alex Crichton 提交于
      Closes #14480 (vim: Add :RustRun and associated commands)
      Closes #14917 (Deprecate free-standing endian conversions in favor of methods on Int. Merge Bitwise into Int and add more bit operations.)
      Closes #14981 (librustc: Use expr_ty_adjusted in trans_overloaded_call.)
      Closes #14989 (std::task - Revamp TaskBuilder API)
      Closes #14997 (Reject double moves out of array elements)
      Closes #14998 (Vim: highlight escapes for byte literals.)
      Closes #15002 (Fix FIXME #5275)
      Closes #15004 (Fix #14865)
      Closes #15007 (debuginfo: Add test case for issue #14411.)
      Closes #15012 ((doc) Change search placeholder text.)
      Closes #15013 (Update compiler-rt.)
      Closes #15017 (Deprecate the bytes!() macro.)
      2c3bf883
  6. 17 6月, 2014 3 次提交
  7. 12 6月, 2014 1 次提交
    • A
      rustc: Remove ~[T] from the language · 3316b1eb
      Alex Crichton 提交于
      The following features have been removed
      
      * box [a, b, c]
      * ~[a, b, c]
      * box [a, ..N]
      * ~[a, ..N]
      * ~[T] (as a type)
      * deprecated_owned_vector lint
      
      All users of ~[T] should move to using Vec<T> instead.
      3316b1eb
  8. 31 5月, 2014 1 次提交
  9. 23 5月, 2014 1 次提交
  10. 22 5月, 2014 2 次提交
  11. 18 5月, 2014 1 次提交
    • A
      std: Refactor liballoc out of lib{std,sync} · 639759b7
      Alex Crichton 提交于
      This commit is part of the libstd facade RFC, issue #13851. This creates a new
      library, liballoc, which is intended to be the core allocation library for all
      of Rust. It is pinned on the basic assumption that an allocation failure is an
      abort or failure.
      
      This module has inherited the heap/libc_heap modules from std::rt, the owned/rc
      modules from std, and the arc module from libsync. These three pointers are
      currently the three most core pointer implementations in Rust.
      
      The UnsafeArc type in std::sync should be considered deprecated and replaced by
      Arc<Unsafe<T>>. This commit does not currently migrate to this type, but future
      commits will continue this refactoring.
      639759b7
  12. 12 5月, 2014 4 次提交
  13. 11 5月, 2014 4 次提交