about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-06-21rustc: Output an unimplemented message when alias encounters an unknown ↵Patrick Walton-0/+4
sequence type
2011-06-21rustc: Implement "for" over interior vectorsPatrick Walton-15/+41
2011-06-21rustc: Remove unused slice call from extfmt. Closes #532Brian Anderson-2/+0
2011-06-20Remove the old library names. These were unused since rustboot.Rafael Ávila de Espíndola-21/+2
Right now rustc hardcodes -lrustllvm. The idea is to instead remember all the native modules used and convert them to -l directives to the linker. In the case of a library that is installed in an unusual location, Graydon suggested using metadata: native module foo = "bar" { }
2011-06-20Merge remote branch 'upstream/master'Rafael Ávila de Espíndola-1599/+1621
2011-06-20Fix line length.Rafael Ávila de Espíndola-2/+2
2011-06-20Fix some uses of span_warn in alias.rs that should be span_fatalMarijn Haverbeke-2/+2
2011-06-20Make trans use the new ast_map instead of building its ownMarijn Haverbeke-28/+24
2011-06-20Use ast_map in typeck, instead of building another indexMarijn Haverbeke-49/+12
2011-06-20Add a separate AST mapping phaseMarijn Haverbeke-22/+16
This will replace the various node_id-to-node mappings done in several other passes. This commit already uses the new map in resolve, dropping the ast_map that was built there before.
2011-06-20Reduce confusing variable naming in resolveMarijn Haverbeke-51/+55
'id' is now used for node_ids, 'name' for idents
2011-06-20Get rid of def_ids and anns in AST nodes, use single node_idMarijn Haverbeke-1474/+1539
This reduces some redundancy in the AST data structures and cruft in the code that works with them. To get a def_id from a node_id, apply ast::local_def, which adds the local crate_num to the given node_id. Most code only deals with crate-local node_ids, and won't have to create def_ids at all.
2011-06-20Remember the library files we used in rustc and pass them to the "linker".Rafael Ávila de Espíndola-3/+21
This avoid the hardcoded -lstd, allows programs to use other crates and avoids any differences that may exist in the rustc and ld search logic.
2011-06-20Added string duplication to deep_copy. Closes #520.Eric Holk-22/+18
2011-06-20Tighten up the hardbreak rules a bit.Graydon Hoare-5/+7
2011-06-20Suppress hardbreaks when following hardbreaks.Graydon Hoare-6/+7
2011-06-20Fix interference between if-check and if printing.Graydon Hoare-4/+6
2011-06-20Removed duplicated ret_ty_of_fn. This also means the native function branch ↵Eric Holk-21/+12
is working now, so this commit closes #506.
2011-06-20Teach ret_ty_of_fn_ty to understand native functions. Closes #506.Eric Holk-0/+1
2011-06-20Remove flags that are not used during linking.Rafael Ávila de Espíndola-5/+4
2011-06-20Fix pp blank-lines insertion at beginning of file and before 'let' decls.Graydon Hoare-9/+13
2011-06-19Remove various rustboot workaroundsBrian Anderson-22/+11
2011-06-19Fix pp blank-line insertion after isolated comments in cboxes.Graydon Hoare-8/+21
2011-06-19rustc: Change smallintmap to use an ivec and use it for the node type table. ↵Patrick Walton-18/+6
3x typechecking speedup.
2011-06-19rustc: Make name resolution errors less fatalBrian Anderson-51/+80
Failure happens at the end of name resolution Issue #440
2011-06-19rustc: Make import resolution errors less fatalBrian Anderson-12/+57
Failure happens at the end of import resolution Issue #440
2011-06-19rustc: Export only what's needed from middle::tyBrian Anderson-3/+164
The list is formidable.
2011-06-19rustc: Export only what's used from middle::resolveBrian Anderson-0/+3
2011-06-19rustc: Re-introduce session.span_err, session.errBrian Anderson-2/+16
These errors are non-fatal. The session.abort_if_errors function needs to be called at strategic points to convert the previous errors to utter failure. Issue #440
2011-06-19rustc: Rename session.span_err -> span_fatal, err -> fatalBrian Anderson-130/+136
Issue #440
2011-06-19Revert previous 6 commits. Hopefully put out Windows fire.Brian Anderson-449/+191
Revert "rustc: Export only what's needed from middle::ty" This reverts commit 4255d58aa5db2a05362c4435a0e807205e1b8ed7. Revert "rustc: Make name resolution errors less fatal" This reverts commit b8ab9ea89c16c60237e7660804f4321f59ae0435. Revert "rustc: Make import resolution errors less fatal" This reverts commit 92a8ae94b971206bf0502da3dc5f416fcb24cc36. Revert "rustc: Export only what's used from middle::resolve" This reverts commit 4539a2cf7ad99851a165c98ed2f4e4a475cffd7d. Revert "rustc: Re-introduce session.span_err, session.err" This reverts commit 7fe9a88e31ae07f2fd89f6715efedd7e3edf49e6. Revert "rustc: Rename session.span_err -> span_fatal, err -> fatal" This reverts commit c394a7f49ac29a099994e243017065de2ff97f2a.
2011-06-19rustc: Export only what's needed from middle::tyBrian Anderson-3/+164
The list is formidable.
2011-06-19rustc: Make name resolution errors less fatalBrian Anderson-51/+80
Failure happens at the end of name resolution Issue #440
2011-06-19rustc: Make import resolution errors less fatalBrian Anderson-12/+57
Failure happens at the end of import resolution Issue #440
2011-06-19rustc: Export only what's used from middle::resolveBrian Anderson-0/+3
2011-06-19rustc: Re-introduce session.span_err, session.errBrian Anderson-2/+16
These errors are non-fatal. The session.abort_if_errors function needs to be called at strategic points to convert the previous errors to utter failure. Issue #440
2011-06-19rustc: Rename session.span_err -> span_fatal, err -> fatalBrian Anderson-130/+136
Issue #440
2011-06-18rustc: Store the lhs and rhs of receive exprs in left to right orderBrian Anderson-27/+27
With the changing of receive semantics the parser has been putting the rhs expression in the first argument of expr_recv and the lhs in the second, and all subsequent passes have been referring to them backwords (but still doing the right thing because they were assuming that lhs was the port and rhs was the receiver). This makes all code agree on what lhs and rhs mean for receive expressions.
2011-06-18rustc: receive is spelled |> nowBrian Anderson-1/+1
2011-06-18Typecheck block tail expressions that are fn return valuesBrian Anderson-1/+12
2011-06-18rustc: Remove the meta keywordBrian Anderson-34/+1
Issue #487
2011-06-18Replace unexported meta tags with attributesBrian Anderson-3/+4
Issue #487
2011-06-18rustc: Replace 'export meta' with attributesBrian Anderson-4/+4
Issue #487
2011-06-18Add -lssp on windows in attempt to put out tinderbox; no idea why ssp seems ↵Graydon Hoare-1/+1
required on mingw.
2011-06-18rustc: Allocate derived tydescs before dynamically sized allocasPatrick Walton-38/+74
2011-06-18rustc: Don't bother to supply an alignment argument to the memmove ↵Patrick Walton-10/+8
intrinsic; LLVM is very fussy about what it considers a constant.
2011-06-18rustc: Cache results of type_has_pointers. 70% translation speedup.Patrick Walton-21/+27
2011-06-17rustc: Add missing case for interior vectors in alias.rsPatrick Walton-0/+6
2011-06-17Restructure the "checking" pass in typestateTim Chevalier-119/+324
I noticed that typestate was being lazier than it should be, because it was only checking typestate for statements and top-level expression (that is, the expression in a stmt_expr, but not any subexpressions). So I rewrote the checks in tstate/ck.rs to use walk, which exposed a few bugs in typestate that I fixed. Also added some more test cases for if-check.
2011-06-17rustc: Increment by the dynamically-computed size in ivec::trans_append. ↵Patrick Walton-9/+21
Uncomment init_fn test in lib-ivec.