about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-06-07More work on proper linkage name-mangling. Almost right, aside from version ↵Graydon Hoare-140/+362
numbers.
2011-06-07For consistency, use ctxt instead of ty_ctxt outside of unify.Lindsey Kuper-17/+17
2011-06-07Removing dead code and redundant fails; changing fails to sess.bugLindsey Kuper-158/+93
calls (issue #444).
2011-06-07Don't put a copy of main (the C one) in each binary we produce. This is a stepRafael Ávila de Espíndola-56/+29
in getting a driver that works on all linux systems. Sorry for the linker hacks, I will remove them after snapshotting a new compiler.
2011-06-07Add multiline, whitespace-eating strings.Josh Matthews-0/+3
2011-06-06Begin tidying up name-mangling rules.Graydon Hoare-58/+66
2011-06-06Implement enough support for pointer to get an identity function working.Rafael Ávila de Espíndola-0/+6
2011-06-06First take on an alias-safety checkerMarijn Haverbeke-0/+259
The alias checker works by ensuring that any value to which an alias is created is rooted in some way that ensures it outlives the alias. It is now disallowed to create an alias to the content of a mutable box, or to a box hanging off a mutable field. There is also machinery in place to prevent assignment to local variables whenever they are the root of a live alias.
2011-06-06Change unsafe aliasesMarijn Haverbeke-48/+53
This litters aberrations like 'alt({foo.bar}) { ... }' and f({*baz}) though the code (mostly in trans.rs). These are a way to explicitly copy the given value so that it can be safely aliased. At some point we'll probably want a more explicit copy operator.
2011-06-05rustc: Make resolve::unresolved return !. Remove redundant failsBrian Anderson-8/+1
2011-06-04Adding comments; removing dead code.Lindsey Kuper-12/+18
2011-06-04Remove redundant 'fail' exprs and dead code; use sess.bug orLindsey Kuper-67/+27
sess.span_err instead of 'fail'. (issue #444)
2011-06-04stdlib: Use spans for #fmt errors originating in stdBrian Anderson-1/+7
Issue #444
2011-06-04rustc: Reenable debug logging in extfmtBrian Anderson-8/+7
This is not obnoxious now that logging is off by default
2011-06-04rustc: Hide the parser from syntax extensionsBrian Anderson-9/+5
Eventually extensions will probably need access to the parser again, but it'll be in a different form.
2011-06-04rustc: Generate extension annotations from ext_ctxt instead of parserBrian Anderson-65/+67
2011-06-04rustc: Add a next_ann method to ext_ctxtBrian Anderson-4/+13
After this we can remove the parser from the syntax extensions, at least for now.
2011-06-04rustc: Use spans for #env errorsBrian Anderson-5/+9
Issue #444
2011-06-04rustc: Report unimplemented #fmt features with spansBrian Anderson-26/+22
2011-06-04rustc: Add a span_unimpl method to ext_ctxtBrian Anderson-5/+13
2011-06-04rustc: Use spans on extfmt error messagesBrian Anderson-29/+31
Issue #444
2011-06-04rustc: Return the correct span from parse_seqBrian Anderson-7/+4
2011-06-04rustc: Pass the correct span to syntax extensionsBrian Anderson-1/+2
2011-06-04rustc: Introduce ext module. Move some things from parser to ext.Brian Anderson-24/+68
Introduce an ext_ctxt record to provide a span_err method for use while expanding syntax extensions. Hopefully it will be useful for other things.
2011-06-03"macro" -> "syntax extension" for nowPaul Stansifer-22/+22
2011-06-03Make the macro system more modular.Paul Stansifer-75/+59
2011-06-03Remove zerobreak between foo and ( on a call expr. Never looks right.Graydon Hoare-1/+0
2011-06-03Make pp more conservative about inserting trailing comments mid-list.Graydon Hoare-7/+15
2011-06-03More comments.Lindsey Kuper-0/+17
2011-06-03Comments and cleanup.Lindsey Kuper-31/+64
2011-06-03Add spans to fields, args, methods. Improve pp of same.Graydon Hoare-38/+40
2011-06-03Tidy up printing of ty_fn.Graydon Hoare-1/+5
2011-06-03Parse pointers in metadata.Rafael Ávila de Espíndola-0/+1
2011-06-03Boilerplate for pointers. Sorry for missing this on the first patch.Rafael Ávila de Espíndola-0/+20
2011-06-03Accept *foo as a pointer to foo.Rafael Ávila de Espíndola-0/+6
This is accepted everywhere, since just passing a pointer is safe.
2011-06-02Removing redundant "fail"s.Lindsey Kuper-19/+8
2011-06-02rustc: Typecheck patterns from the top down; remove pushdown_patPatrick Walton-156/+72
2011-06-02Handle _|_ values properly in transTim Chevalier-4/+9
Generate an LLVMUndef value of the proper type for an argument of type _|_. Otherwise we get an LLVM assertion failure.
2011-06-02Fix unification bugTim Chevalier-1/+2
Hello from SFO Terminal 3! unify_fn_common had the expected and actual types reversed in one place. This was causing the type of an occurence of a function f with type fn(int) -> T to be set to fn(_|_) -> T at a call site like f(fail); I think this was also making some of the type error messages come out backwards, but I haven't checked. Also: ty_bot does not contain pointers
2011-06-02Merge pull request #450 from paulstansifer/quick_error_message_fix_2Patrick Walton-0/+14
Flatten functions and objects in trans::simplify_type.
2011-06-02Flatten functions and objects in trans::simplify_type.Paul Stansifer-0/+14
2011-06-02Pretty-print literals exactly as we saw them in the source.Graydon Hoare-35/+91
2011-06-02Refactor make_fp_cmp_glue and make_integral_cmp_glue into one.Lindsey Kuper-73/+95
2011-06-02Implement pcwalton's code review suggestions.Paul Stansifer-13/+8
2011-06-02Error message, instead of segfault, when recursive types are used.Paul Stansifer-3/+31
2011-06-02rustc: Print node IDs for more types of nodesPatrick Walton-0/+27
2011-06-02rustc: Tiny style fix in pprust::rust_printerPatrick Walton-1/+1
2011-06-01rustc: Add a new mode to the pretty printer that prints out node IDs, for ↵Patrick Walton-5/+27
debugging
2011-06-01rustc: Remove else-after-return in mainPatrick Walton-21/+21
2011-06-01rustc: Fold --pretty and --typed-pretty into a single option with an ↵Patrick Walton-17/+39
optional argument