about summary refs log tree commit diff
path: root/src/comp/front
AgeCommit message (Collapse)AuthorLines
2011-06-24Remove uses of variable name 'res' from rustcMarijn Haverbeke-22/+21
This in preparation of making 'res' a keyword for defining resources. Please don't introduce too many new ones in the meantime...
2011-06-24Remove def_objMarijn Haverbeke-10/+2
Since obj constructors and types have different def_ids now, their def can simply be a def_fn and a def_ty.
2011-06-23rustc: Pretty-print ternary operatorBrian Anderson-0/+2
2011-06-23rustc: Add ternary operator. Closes #565Brian Anderson-1/+42
The implementation is so simple it might be considered cheating: at almost every step the expr_ternary is just converted to expr_if.
2011-06-23Remove parse_str_lit_or_env_ident.Rafael Ávila de Espíndola-29/+13
We decided to use metadata for the more complex cases, and a simple string is enough for rustc right now.
2011-06-22rustc: Limit creader exportsBrian Anderson-0/+7
2011-06-22rustc: Handle valueless ret expressions as block results. Closes #521Brian Anderson-0/+2
2011-06-22rustc: Introduce and parse additional meta_item formsBrian Anderson-21/+62
Examples: #[test], #[link(name = "vers")] Issue #487
2011-06-22rustc: Rename parser.err to parser.fatalBrian Anderson-29/+29
2011-06-23Remove a simidgeon of dead code.Paul Stansifer-8/+1
2011-06-21Serialize constraints in types (literal arguments still not supported)Tim Chevalier-26/+57
This involved, in part, changing the ast::def type so that a def_fn has a "purity" field. This lets the typechecker determine whether functions defined in other crates are pure. It also required updating some error messages in tests. As a test for cross-crate constrained functions, I added a safe_slice function to std::str (slice(), with one of the asserts replaced with a function precondition) and some test cases (various versions of fn-constraint.rs) that call it. Also, I changed "fn" to "pred" for some of the boolean functions in std::uint.
2011-06-21Move names and ids of native items into their recs, rather than their tagsMarijn Haverbeke-12/+14
2011-06-21Puts out burning tinderbox (oops, AST nodes don't have def_ids/anns).Lindsey Kuper-2/+1
2011-06-21Some progress on support for extending objects with new fields (issueLindsey Kuper-6/+16
into four separate issues (#538, #539, #540, #543) with corresponding tests.
2011-06-21Move expr ids into the expr record typeMarijn Haverbeke-202/+184
This simplifies the tag variants a bit and makes expr_node_id obsolete.
2011-06-21rustc: Remove unused slice call from extfmt. Closes #532Brian Anderson-2/+0
2011-06-20Get rid of def_ids and anns in AST nodes, use single node_idMarijn Haverbeke-227/+207
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-1/+2
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-19Remove various rustboot workaroundsBrian Anderson-7/+3
2011-06-19rustc: Rename session.span_err -> span_fatal, err -> fatalBrian Anderson-39/+44
Issue #440
2011-06-19Revert previous 6 commits. Hopefully put out Windows fire.Brian Anderson-44/+39
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: Rename session.span_err -> span_fatal, err -> fatalBrian Anderson-39/+44
Issue #440
2011-06-18rustc: Store the lhs and rhs of receive exprs in left to right orderBrian Anderson-1/+1
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-18rustc: Remove the meta keywordBrian Anderson-11/+0
Issue #487
2011-06-17rustc: Remove metadata from the session.Brian Anderson-3/+1
This mechanism was not being used for anything. Issue #487.
2011-06-16Consistify ast::local.Paul Stansifer-16/+20
2011-06-16Add better error messages for bad attributes in .rc filesBrian Anderson-1/+2
Issue #487
2011-06-16rustc: Fix regressed handling of bad attributesBrian Anderson-1/+6
Issue #487
2011-06-16rustc: Change print_file to print_crateBrian Anderson-6/+10
The pretty-printer needs access to the crate attributes in order to reproduce inner crate attributes in standalone .rs files Issue #487
2011-06-16rustc: Parse crate attributes in standalone .rs filesBrian Anderson-1/+5
Issue #487
2011-06-16rustc: Parse attributes in crate filesBrian Anderson-5/+15
Issue #487
2011-06-16rustc: Parse inner items of file-level modules linked from crate filesBrian Anderson-4/+8
Issue #487
2011-06-16Reformat a bunch of recent churn.Graydon Hoare-26/+32
2011-06-16rustc: Parse T[mutable?]Patrick Walton-1/+6
2011-06-16rustc: Correctly mark attributes as inner attributesBrian Anderson-8/+14
Issue #487
2011-06-16rustc: Parse inner attributes of modulesBrian Anderson-17/+49
Issue #487
2011-06-16rustc: Parse interior vector types in which the base type is a path properlyPatrick Walton-14/+36
2011-06-16Bring back if-checkTim Chevalier-2/+20
Add "if check" (expr_if_check), a variation on check that executes an "else" clause rather than failing if the check doesn't hold.
2011-06-16Parse swap.Michael Sullivan-5/+15
2011-06-16Add "<->" to the token definition and the lexer.Michael Sullivan-1/+9
2011-06-16rustc: Change interior vector syntax to `T[]`Patrick Walton-6/+21
2011-06-16Refactor ast::item representationMarijn Haverbeke-47/+39
Most of the fields in an AST item were present in all variants. Things could be simplified considerably by putting them in the rec rather than in the variant tags.
2011-06-15Improve and test failure behavior for malformed attributesBrian Anderson-1/+13
2011-06-15rustc: Support outer attributes on items that are defined as statementsBrian Anderson-9/+61
Issue #487
2011-06-15Refactor data structures representing constraints (again...)Tim Chevalier-13/+11
I added a "resolved" version of the ast::constr type -- ty::constr_def -- that has a def_id field instead of an ann_field. This is more consistent with other types and eliminates some checking. Incidentally, I removed the def_map argument to the top-level function in middle::alias, since the ty::ctxt already has a def_map field.
2011-06-15Small simplification in parser.rs' crate parsingMarijn Haverbeke-7/+1
2011-06-15Reformat source tree (minus a couple tests that are still grumpy).Graydon Hoare-2090/+1287
2011-06-15rustc: Make room in remaining AST item nodes for attributesBrian Anderson-35/+40
Issue #487
2011-06-15rustc: Introduce an attribute type to the ASTBrian Anderson-9/+32
Right now the only thing that it adds to meta_item is an indication of whether the attribute was declared inside or outside the item, but I expect it will become more useful. Issue #487