about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2011-09-14Accept returning refs rooted in an arg from a by-ref funtionMarijn Haverbeke-21/+49
Issue #918
2011-09-14Make ast_map.rs index function args, switch it over to simple_visitorMarijn Haverbeke-12/+16
2011-09-14Remove some extra white-space introduced by the pretty-printerMarijn Haverbeke-17/+1
2011-09-14Disallow implicit arg copying when the function returns a refMarijn Haverbeke-1/+2
Issue #918
2011-09-14Add support for basic return-by-alias to transMarijn Haverbeke-58/+75
Issue #918
2011-09-14Clean up trans_obj.rs a bitMarijn Haverbeke-30/+21
As a preparation to adding an arg to type_of_fn_full
2011-09-14Add a ret_style field to fn_ctxt in transMarijn Haverbeke-9/+19
2011-09-14Simplify trans::new_fn_ctxt_w_idMarijn Haverbeke-20/+8
It was still living in the pre-decent-type-inference era.
2011-09-14Rudimentary checking of safe alias returnsMarijn Haverbeke-27/+52
2011-09-14Rename restrict to binding in alias.rsMarijn Haverbeke-75/+66
Its role gradually changed to the point where the old name doesn't really make sense anymore.
2011-09-14Stop needlessly boxing vectors in alias.rsMarijn Haverbeke-22/+20
2011-09-14Make most of the compiler aware of return-by-referenceMarijn Haverbeke-31/+34
tyencode/tydecode still don't know about it. return_ref will be extended to take arguments anyway.
2011-09-14Refactor parse_ret_ty, start parsing by-alias return specsMarijn Haverbeke-51/+24
2011-09-14Rename ast::controlflow to ast::ret_styleMarijn Haverbeke-61/+58
It will include information about returning by alias.
2011-09-14Add support for negative literals.Josh Matthews-6/+31
2011-09-13Try harder still to generate fewer landing padsBrian Anderson-1/+19
Scopes that don't have cleanups don't need their own landing pads This takes the optimized rustc bin from 4.7MB to 4.4
2011-09-13Try a little harder to avoid creating new landing padsBrian Anderson-10/+11
It's only when we add or revoke cleanups involving immediates that we need a new landing pad for the scope. Trims 5K off the optimized rustc bin
2011-09-13Reuse landing pads when possibleBrian Anderson-7/+32
Cuts the optimized rustc bin from 5.2 to 4.7MB
2011-09-13Print something when we can't figure out a tag name. Mitigates #876.Michael Sullivan-5/+2
2011-09-13Add missing cases for machine floats in shape.rsMarijn Haverbeke-3/+2
2011-09-13Improve lexing of float literalsMarijn Haverbeke-39/+36
Closes #575
2011-09-13Properly pretty-print 10.xMarijn Haverbeke-1/+9
Closes #890
2011-09-13Make pretty-printer wrap fail/ret/put in parens in call/index/field posMarijn Haverbeke-10/+14
Closes #764 Closes #891
2011-09-13Ensure that the declared type and actual type of a constant agreeMarijn Haverbeke-0/+7
Closes #899
2011-09-13Be more strict about what constitutes a block expressionMarijn Haverbeke-9/+37
Blocks (or statements involving blocks) that end in a semicolon are no longer considered the block-expression of their outer block. This used to be an expression block, but now is a statement block: { if foo { ret 1; } else { ret 10; } } This helps clear up some ambiguities in our grammar.
2011-09-13Always warn when implicitly copying a generic typeMarijn Haverbeke-12/+10
2011-09-13Properly alias-check bindings in for-each loopsMarijn Haverbeke-40/+32
2011-09-13Clean up copy bookkeeping in alias.rsMarijn Haverbeke-36/+34
2011-09-13Make for loop alias-safeMarijn Haverbeke-54/+46
2011-09-13Apply implicit copying for unsafe references to alt patternsMarijn Haverbeke-58/+135
2011-09-12Kill trailing whitespace.Graydon Hoare-2/+2
2011-09-12Factor imports mindlessly.Graydon Hoare-750/+257
2011-09-12Merge branch 'unwind'Brian Anderson-105/+490
Conflicts: src/comp/middle/trans.rs src/comp/middle/trans_build.rs src/lib/run_program.rs src/test/compiletest/runtest.rs
2011-09-12Undo some pretty-printer damage in ty.rsMarijn Haverbeke-134/+26
2011-09-12Rename alias to reference in docs and error messagesMarijn Haverbeke-12/+13
Update docs to reflect new approach to aliases
2011-09-12Warn when inserting an implicit copy that may be expensiveMarijn Haverbeke-16/+53
2011-09-12Properly implement copy expressionsMarijn Haverbeke-20/+42
(And use them in some places that were doing {expr} before.)
2011-09-12Remove backwards-compatibility with old arg-mode syntaxMarijn Haverbeke-3/+0
2011-09-12Pretty-print for new arg-mode syntaxMarijn Haverbeke-250/+311
2011-09-12Register second snapshot for argument-mode transitionMarijn Haverbeke-0/+5
2011-09-12Switch pretty-printer to new arg-mode syntaxMarijn Haverbeke-2/+2
2011-09-12Accept {|| ... } for argument-less block syntaxMarijn Haverbeke-4/+8
Closes #880
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-3359/+3364
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-12Register new snapshotMarijn Haverbeke-0/+5
2011-09-12Fix tests for new argument-passing conventionMarijn Haverbeke-27/+33
2011-09-12Make the names of the arg mode tag reflect their (revised) meaningMarijn Haverbeke-91/+54
2011-09-12Pass all arguments by reference, make immut alias mode equiv to valueMarijn Haverbeke-158/+188
Arguments that can't be safely referenced will be implicitly copied. (Warnings for expensive copies will be forthcoming.) This will allow us to get rid of most of the ampersands in function signatures. See [1]. [1] https://mail.mozilla.org/pipermail/rust-dev/2011-September/000759.html
2011-09-11XFAIL bench/shootout-nbodyBrian Anderson-0/+1
This is the only file in the whole codebase that depends on the (broken) llvm native ABI.
2011-09-11Add an XFAILed test for native "llvm" modulesBrian Anderson-0/+10
This functionality is completely broken
2011-09-11Actually fail the process when compiletest has a test failureBrian Anderson-1/+2
We previously failed by coincidence because of memory leaks.