about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-06-29Re-enable tidy (it was broken) and fix various non-tidy things.Graydon Hoare-10/+15
2011-06-29Be more strategic about linking to rust cratesBrian Anderson-1/+28
Instead of linking directly to the rust crate, try to figure out the location and name of the library from the file name, then call gcc with appropriate -L, -l flags. This will allow dynamic linking to be more forgiving about where it loads the library from at runtime - currently a stage3 compiler can't run correctly from the stage0 directory. Only tested on Linux. Fingers crossed.
2011-06-29Display an error when linking failsBrian Anderson-2/+13
2011-06-29Add session.note methodBrian Anderson-0/+3
2011-06-29session.err shouldn't take a spanBrian Anderson-2/+2
2011-06-29Remove workaround for a compiler bug that, I guess, got fixedTim Chevalier-14/+3
2011-06-29Eliminate the --check-claims compiler flagTim Chevalier-12/+3
The option can only be toggled at runtime now.
2011-06-29Add a runtime flag to enable/disable claims en masseTim Chevalier-6/+17
Now, if the environment variable CHECK_CLAIMS is set, then all claims turn into checks. Otherwise, claims are no-ops.
2011-06-29Correctly locate the crate's version from the link attributeBrian Anderson-1/+1
2011-06-29Write metadata for sythesized name/vers items to the crate's link attrBrian Anderson-1/+83
If the crate doesn't specify it's name or version, the defaults need to be exported in the crate metadata
2011-06-29Encapsulate more crate meta calculationsBrian Anderson-79/+79
2011-06-29Move the calculation of the crate name, vers and cmh to a single functionBrian Anderson-14/+24
2011-06-29Fix resource encoding bugs.Graydon Hoare-2/+4
2011-06-29rustc: Fix a leak that resulted from copying a structural interior type ↵Patrick Walton-12/+5
containing interior vectors. Add a test case.
2011-06-29Revert ""Try" push without -lssp on windows to see what needs it."Rafael Ávila de Espíndola-1/+1
This reverts commit 47b3e087e945a2a8fcfd1179e333746d294c1259.
2011-06-29rustc: Unbreak self assignmentPatrick Walton-6/+13
2011-06-29"Try" push without -lssp on windows to see what needs it.Rafael Ávila de Espíndola-1/+1
2011-06-29Extend visit to use visit_fn to visit fn expressions.Michael Sullivan-11/+12
2011-06-28Replace common::new_seq_hash with an adapter around std::smallintmapBrian Anderson-103/+69
It would be better to either convert ast_map to use smallintmap or make smallintmap and hashmap follow the same interface, but I don't feel up to it just now. Closes #585.
2011-06-28Comments and cleanup.Lindsey Kuper-4/+9
2011-06-28Comments and cleanup.Lindsey Kuper-34/+95
2011-06-28Comments and cleanup.Lindsey Kuper-4/+2
2011-06-28Support attaching attributes to modules via the crate file. Issue #487Brian Anderson-41/+61
2011-06-28rustc: Move duplicate_heap_parts to copy glue; add a test casePatrick Walton-10/+18
2011-06-28Remove outdated commentsTim Chevalier-2/+0
2011-06-28Require that both sides of a swap be lvals.Michael Sullivan-5/+12
2011-06-28Cleanup attribute code. Issue #487Brian Anderson-12/+16
2011-06-28Remove the last traces of the distinction between export / local meta itemsBrian Anderson-30/+0
Issue #487
2011-06-28rustc: Rename take glue to copy gluePatrick Walton-27/+27
2011-06-28Implement "claim"Tim Chevalier-15/+48
Implement "claim" (issue #14), which is a version of "check" that doesn't really do the check at runtime. It's an unsafe feature. The new flag --check-claims turns claims into checks automatically -- but it's off by default, so by default, the assertion in a claim doesn't execute at runtime.
2011-06-28Re-enabling some tests.Eric Holk-2/+2
2011-06-28There is only one domain per kernel now.Eric Holk-6/+0
2011-06-28Teach the parser and typechecker to understand port[int](). Closes #588Eric Holk-11/+41
2011-06-28Use span_fatal for failure to find cratesBrian Anderson-6/+5
2011-06-28Extract meta_item sorting from back::link to middle::attrBrian Anderson-23/+40
2011-06-28Add comments to middle::attr. Issue #487Brian Anderson-0/+3
2011-06-28Rework how linkage attributes are determinedBrian Anderson-125/+109
The meta items within a crate's link attribute are used in linkage: #[link(name = "std", vers = "1.0", custom = "whatever")]; Name and vers are treated specially, and everything else is hashed together into the crate meta hash. Issue #487
2011-06-28Add some helper functions for attributes. Issue #487Brian Anderson-0/+79
2011-06-28Handle lazy binops properly in typestateTim Chevalier-7/+26
The typestate analysis now reflects that the second operand of a logical and or or may not be evaluated.
2011-06-28add a predicate that determines whether a binop is lazy (and and or are lazy)Tim Chevalier-0/+8
2011-06-28Move glue.o to stageN/lib.Rafael Ávila de Espíndola-1/+1
2011-06-28rustc: Add a "type-owns-heap-mem" cache. 2x translation speedup.Patrick Walton-0/+10
2011-06-28rustc: Don't call cmp glue if the type is a simple scalarPatrick Walton-39/+60
2011-06-28Write metadata for more meta_item types. Issue #487Brian Anderson-55/+93
2011-06-28Write metadata for crate attributes. Issue #487Brian Anderson-22/+74
2011-06-28Add emacs variables to encoder.rsBrian Anderson-0/+10
2011-06-28List crate attributes when running rustc with '--ls'Brian Anderson-22/+64
2011-06-28Use 'resource' rather than 'res' as a keywordMarijn Haverbeke-2/+2
Resources are now defined like... resource fd(int n) { close(n); } Calling fd with an int will then produce a non-copyable value that, when dropped, will call close on the given int.
2011-06-28Add test cases for resourcesMarijn Haverbeke-1/+1
2011-06-28Fix bug that prevented boxes-in-resources from being freedMarijn Haverbeke-1/+1