about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-10-12Add unsafe tags to usage of LLVM funcsNiko Matsakis-5/+7
2011-10-12make native functions markable as unsafe and incorporate thatNiko Matsakis-16/+30
into the type check
2011-10-12skip test, remove whitespaceNiko Matsakis-1/+1
2011-10-12correct lines over 78 charsNiko Matsakis-2/+4
2011-10-12enable unsafe checking but only with a flag --check-unsafeNiko Matsakis-14/+25
2011-10-12make treatment of unchecked/unsafe blocks more uniformNiko Matsakis-19/+20
also repair various errors in the parser related to such blocks. rename checked_blk to default_blk to reflect the fact that it inherits its purity from the surrounding context.
2011-10-12add 'u' to one other place it was missingNiko Matsakis-0/+1
2011-10-12add 'u' to decoder (kinda' important)Niko Matsakis-0/+1
2011-10-12Add unsafe blocks, unsafe functions, and two rudimentary testsNiko Matsakis-5/+8
related to them
2011-10-12Extend the unchecked block stuff to allow unsafe blocks as well.Niko Matsakis-27/+73
2011-10-12expand purity to include unsafeNiko Matsakis-18/+29
2011-10-12Make build_environment and trans_bind_thunk GEP bound arguments the sameBrian Anderson-5/+6
These functions both use GEP_tup_like to get at the arguments bound to the environment, but they were starting from a different 'level' of the environment-box structure. Frighteningly, this was leading to them having different opinions of how the bound arguments were aligned in some cases.
2011-10-12Simplify copying of uniquesMarijn Haverbeke-27/+3
We can call take glue, rather than duplicating it inline.
2011-10-12[Renaming] str_to_float is now float::from_str, float_to_str is now ↵David Rajchenbach-Teller-6/+6
float::to_str
2011-10-11Use the correct function type for external bare functionsBrian Anderson-1/+1
Issue #1022
2011-10-11Use a non-ambiguous character for encoding bare functionsBrian Anderson-1/+6
I was using 'R' and that was already used for records. Issue #1022
2011-10-11Remove the environment argument from bare functionsBrian Anderson-7/+35
Issue #1022
2011-10-11Don't allow bind to produce bare functionsBrian Anderson-1/+12
Issue #1022
2011-10-11Introduce ast::proto_bareBrian Anderson-3/+13
Issue #1022
2011-10-11Add a temporary syntax for bare functionsBrian Anderson-8/+22
Bare functions will be represented as 'fn#' until they're implemented. Then we'll switch it over to just 'fn'. Issue #1022
2011-10-11[Move] Moved str_to_float, float_to_str from compiler to libDavid Rajchenbach-Teller-40/+6
2011-10-10Adjust function signatures to allow for vecs being immediateMarijn Haverbeke-29/+25
Some code was relying on vectors being implicitly by-reference (as non-immediate value). This adds the necessary &&-sigils. Closes #1021
2011-10-10Make vectors and strings immediates againMarijn Haverbeke-116/+95
There's no good reason to force them to be spilled anymore. Some pieces of trans become more elegant this way, and less stack allocs and load/stores are needed. Issue #1021
2011-10-10Make bcx_tcx-style accessors return by referenceMarijn Haverbeke-8/+8
2011-10-10Move type_is_immediate into ty.rsMarijn Haverbeke-16/+6
2011-10-10Don't spill immediates in order to drop themMarijn Haverbeke-21/+52
Issue #1012
2011-10-10Make free glue take a pointer to the heap part (box)Marijn Haverbeke-70/+67
This way, it can be used to drop values without first spilling them. Issue #1012
2011-10-09Fix bad float-type detection in transMarijn Haverbeke-6/+2
Closes #1017
2011-10-07Make 1-1 parse againMarijn Haverbeke-34/+76
Issue #954 This is not a very elegant fix -- we should probably do something with constant folding to handle negative-int alt patterns in the future.
2011-10-07Stop registering cleanups for types that don't need themMarijn Haverbeke-0/+3
2011-10-07Make it possible to have locals that don't live on the stackMarijn Haverbeke-149/+172
Local values that are not mutated, don't need to be cleaned up, and are immediate, don't need to be spilled. (All immediate args, and non-pointer immediate let locals.)
2011-10-07Forbid passing dynamically-sized types by valueMarijn Haverbeke-2/+11
Issue #1008
2011-10-07Actually pass parameters specified as by-val by valueMarijn Haverbeke-31/+49
Issue #1008
2011-10-07Give up on providing a by-value version of map, convert fold over toMarijn Haverbeke-99/+98
passing pointers by ref Issue #1008
2011-10-07Parse and typecheck by-value and by-ref arg specsMarijn Haverbeke-184/+204
Add sprinkle && throughout the compiler to make it typecheck again. Issue #1008
2011-10-06Hopefully make test_prefix_rpath_abs work on win32Brian Anderson-1/+1
2011-10-06Mac uses @executable_path instead of $ORIGINBrian Anderson-2/+2
2011-10-06Always use an absolute path for the backup install prefix rpathBrian Anderson-5/+12
2011-10-06Mac doesn't seem to support rpath $ORIGINBrian Anderson-9/+28
2011-10-06Configure out rpath tests when not testingBrian Anderson-0/+1
2011-10-06Remove an unnecessary linking flag. Add comments about linkingBrian Anderson-1/+4
2011-10-06rpathing is based on the target, not host OSBrian Anderson-7/+5
2011-10-06Make rpath work on macBrian Anderson-0/+7
2011-10-06Revert "rustc: Add a workaround for a segfault with --time-passes (issue ↵Marijn Haverbeke-24/+9
#1005)." This reverts commit 100e0264b2a2e4e7d8f27b4ed25af8cb7b4a8c3c.
2011-10-06Ignore && and + before argument names.Marijn Haverbeke-1/+7
Issue #1008
2011-10-06Fix problem with polymorphic return value being instantiated as nilMarijn Haverbeke-1/+1
Closes #1005
2011-10-05rpath all the things!Brian Anderson-2/+1
2011-10-05Add a FIXME about test exports to rustc::back::rpathBrian Anderson-0/+2
2011-10-05rpath the path to the runtimeBrian Anderson-1/+14
We don't currently rpath native libs, but we do know where rustrt is located and everything needs to link to it.
2011-10-05Fix some remaining rpath bugsBrian Anderson-16/+59