1. 28 8月, 2013 16 次提交
  2. 27 8月, 2013 24 次提交
    • B
      auto merge of #8789 : pnkfelix/rust/fsk-fix-typo-in-rust-mode.el, r=pnkfelix · 0baa9270
      bors 提交于
      Fix #6887.  (or rather, a bug injected by my prior commit for fixing that bug.)
      0baa9270
    • B
      auto merge of #8777 : Kimundi/rust/doc_stuff, r=cmr · 4fa09e08
      bors 提交于
      4fa09e08
    • A
      librustpkg/tests.rs: cleanup unused import · b29696a0
      Adrien Tétar 提交于
      b29696a0
    • B
      auto merge of #8780 : brson/rust/from_elem, r=thestinger · 932d7b94
      bors 提交于
      932d7b94
    • H
      std: use ArcData rather than c_void in UnsafeArc. · a7957552
      Huon Wilson 提交于
      This means that fewer `transmute`s are required, so there is less
      chance of a `transmute` not having the corresponding `forget`
      (possibly leading to use-after-free, etc).
      a7957552
    • B
      auto merge of #8779 : brson/rust/macsupp, r=thestinger · d9b0d4b6
      bors 提交于
      This callstack changed when the FFI did. I am still a little frightened by
      this suppression.
      
      cc #8253
      d9b0d4b6
    • F
      fix typo in rust-mode.el · 1f13eab3
      Felix S. Klock II 提交于
      1f13eab3
    • H
      Rename UnsafeAtomicRcBox to UnsafeArc. Fixes #7674. · 71448d7c
      Huon Wilson 提交于
      71448d7c
    • B
      auto merge of #8773 : catamorphism/rust/rustpkg-version-flag, r=anasazi · 947513c4
      bors 提交于
      r? anyone. Now, rustpkg --version does something useful!
      947513c4
    • F
      Rebased and replaced yield with deschedule · df84925b
      Flaper Fesp 提交于
      df84925b
    • B
      auto merge of #8757 : vadimcn/rust/debug-info-tests, r=brson · 604ab947
      bors 提交于
      Now that new LLVM has landed, the debug info works on Windows as well.   Most existing tests pass, except for the following four, which I left disabled for now:
      lexical-scope-in-for-loop
      lexical-scope-in-if
      lexical-scope-in-match
      lexical-scopes-in-block-expression
      
      Also, fixed a small problem with the debug info test runner.
      604ab947
    • B
      auto merge of #8700 : alexcrichton/rust/better-llvm, r=thestinger · 35f975b8
      bors 提交于
      Beforehand, it was unclear whether rust was performing the "recommended set" of
      optimizations provided by LLVM for code. This commit changes the way we run
      passes to closely mirror that of clang, which in theory does it correctly. The
      notable changes include:
      
      * Passes are no longer explicitly added one by one. This would be difficult to
        keep up with as LLVM changes and we don't guaranteed always know the best
        order in which to run passes
      * Passes are now managed by LLVM's PassManagerBuilder object. This is then used
        to populate the various pass managers run.
      * We now run both a FunctionPassManager and a module-wide PassManager. This is
        what clang does, and I presume that we *may* see a speed boost from the
        module-wide passes just having to do less work. I have no measured this.
      * The codegen pass manager has been extracted to its own separate pass manager
        to not get mixed up with the other passes
      * All pass managers now include passes for target-specific data layout and
        analysis passes
      
      Some new features include:
      
      * You can now print all passes being run with `-Z print-llvm-passes`
      * When specifying passes via `--passes`, the passes are now appended to the
        default list of passes instead of overwriting them.
      * The output of `--passes list` is now generated by LLVM instead of maintaining
        a list of passes ourselves
      * Loop vectorization is turned on by default as an optimization pass and can be
        disabled with `-Z no-vectorize-loops`
      
      
      All of these "copies" of clang are based off their [source code](http://clang.llvm.org/doxygen/BackendUtil_8cpp_source.html) in case anyone is curious what my source is. I was hoping that this would fix #8665, but this does not help the performance issues found there. Hopefully i'll allow us to tweak passes or see what's going on to try to debug that problem.
      35f975b8
    • A
      Rewrite pass management with LLVM · 73540551
      Alex Crichton 提交于
      Beforehand, it was unclear whether rust was performing the "recommended set" of
      optimizations provided by LLVM for code. This commit changes the way we run
      passes to closely mirror that of clang, which in theory does it correctly. The
      notable changes include:
      
      * Passes are no longer explicitly added one by one. This would be difficult to
        keep up with as LLVM changes and we don't guaranteed always know the best
        order in which to run passes
      * Passes are now managed by LLVM's PassManagerBuilder object. This is then used
        to populate the various pass managers run.
      * We now run both a FunctionPassManager and a module-wide PassManager. This is
        what clang does, and I presume that we *may* see a speed boost from the
        module-wide passes just having to do less work. I have no measured this.
      * The codegen pass manager has been extracted to its own separate pass manager
        to not get mixed up with the other passes
      * All pass managers now include passes for target-specific data layout and
        analysis passes
      
      Some new features include:
      
      * You can now print all passes being run with `-Z print-llvm-passes`
      * When specifying passes via `--passes`, the passes are now appended to the
        default list of passes instead of overwriting them.
      * The output of `--passes list` is now generated by LLVM instead of maintaining
        a list of passes ourselves
      * Loop vectorization is turned on by default as an optimization pass and can be
        disabled with `-Z no-vectorize-loops`
      73540551
    • B
      c0aadfd7
    • M
      Rewrote module tutorial · 8f17ac90
      Marvin Löbel 提交于
      8f17ac90
    • B
      auto merge of #8739 : fhahn/rust/ticket_2275, r=brson · af99b8d9
      bors 提交于
      This is a pull request for #2275
      
      I've created a small python script to generate test files for a list of keywords (as break do else enum extern false fn for if impl let loop match mod mut priv pub ref return self static struct super true trait type unsafe use while), but I'm not really sure where to put it. I've added the created files as well.
      
      I did not use 
      
           fn main() {
              let $KW = "foo"; //~ error
              println($KW); //~ error
          } 
      
      as template, because for return, self, ref, loop, mut and break this does not raise an error in the ```println``` line, only in the ```let``` line.
      af99b8d9
    • B
      std: Make vec::from_elem failure-safe · 063d9ca9
      Brian Anderson 提交于
      063d9ca9
    • B
      Fix valgrind suppression on mac · 7406c2d0
      Brian Anderson 提交于
      This callstack changed when the FFI did. I am still a little frightened by
      this suppression.
      7406c2d0
    • B
      auto merge of #8438 : cmr/rust/default, r=thestinger · a8221bd5
      bors 提交于
      a8221bd5
    • C
      Fix deriving-zero test · 6eb924d2
      Corey Richardson 提交于
      6eb924d2
    • C
      Add a Default trait. · 87d9d37c
      Corey Richardson 提交于
      87d9d37c
    • B
      auto merge of #8712 : catamorphism/rust/rustpkg-issue-7241, r=pcwalton · 1ac7d809
      bors 提交于
      r? @brson ...multiple workspaces
      
      The test checks that rustpkg uses the first one, rather than complaining
      about multiple matches.
      
      Closes #7241
      1ac7d809
    • F
      Decrement unkillable counter before failing · 5e80e0cb
      Flaper Fesp 提交于
      5e80e0cb
    • F
      Don't make the runtime exit on illegal calls · 5fc4045d
      Flaper Fesp 提交于
      5fc4045d