Commit Graph

5368 Commits

Author SHA1 Message Date
Lindsey Kuper
e305ab3851 Revert "Add a test case for #898. Closes #898."
This reverts commit f480203fdd.

Oops.  This patch requires people to bump their LLVM version.
2011-10-11 22:00:17 -04:00
Elly Jones
19eae0bc38 Update LinkModules invocation to use new prototype
LLVM revision 141606 changes the prototype of llvm::Linker::LinkModules.

Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-10-11 21:32:34 -04:00
Brian Anderson
f480203fdd Add a test case for #898. Closes #898.
Seems to have been fixed.
2011-10-11 16:50:50 -07:00
Brian Anderson
55379a97d4 Use the correct function type for external bare functions
Issue #1022
2011-10-11 15:12:49 -07:00
Brian Anderson
d8fb86d2e3 Register snapshots 2011-10-11 15:01:27 -07:00
Brian Anderson
cfa2346086 Use a non-ambiguous character for encoding bare functions
I was using 'R' and that was already used for records.

Issue #1022
2011-10-11 14:38:15 -07:00
Brian Anderson
8c77d063a9 Add a test for assignment of bare functions
Issue #1022
2011-10-11 13:40:31 -07:00
Brian Anderson
b04f84275a Add a test that bare functions are word-sized
Issue #1022
2011-10-11 13:40:28 -07:00
Brian Anderson
90c2402089 Add a test that uses a hypothetical bare-fn spawn signature
Issue #1022
2011-10-11 12:10:56 -07:00
Brian Anderson
1b0f1f0b79 Remove the environment argument from bare functions
Issue #1022
2011-10-11 10:51:10 -07:00
Brian Anderson
84e98f4f65 Add a test for higher-order bare functions
Issue #1022
2011-10-11 10:51:10 -07:00
Brian Anderson
145feb3298 Add a test for binding bare functions
Issue #1022
2011-10-11 10:51:10 -07:00
Brian Anderson
5b0f79b75a Don't allow bind to produce bare functions
Issue #1022
2011-10-11 10:51:10 -07:00
Brian Anderson
b277039325 Introduce ast::proto_bare
Issue #1022
2011-10-11 10:51:10 -07:00
Brian Anderson
9c46cc58cb Add a temporary syntax for bare functions
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 10:51:09 -07:00
David Rajchenbach-Teller
2ec85135e2 [Move] Moved str_to_float, float_to_str from compiler to lib 2011-10-11 16:41:34 +02:00
Marijn Haverbeke
33167f7dec Adjust function signatures to allow for vecs being immediate
Some code was relying on vectors being implicitly by-reference (as
non-immediate value). This adds the necessary &&-sigils.

Closes #1021
2011-10-10 16:01:51 +02:00
Marijn Haverbeke
b4bae8fea5 Make vectors and strings immediates again
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-10 15:59:16 +02:00
Marijn Haverbeke
5c53959f20 Make bcx_tcx-style accessors return by reference 2011-10-10 12:25:58 +02:00
Marijn Haverbeke
00daeb485c Move type_is_immediate into ty.rs 2011-10-10 12:23:58 +02:00
Marijn Haverbeke
a35dbf3fd5 Don't spill immediates in order to drop them
Issue #1012
2011-10-10 12:20:28 +02:00
Marijn Haverbeke
fa1295343f Make free glue take a pointer to the heap part (box)
This way, it can be used to drop values without first spilling them.

Issue #1012
2011-10-10 10:25:32 +02:00
Brian Anderson
96f6a1861c Revert "Revert "Stop using (DY)LD_LIBRARY_PATH on Unix""
This reverts commit 941d5e737c.
2011-10-09 15:23:41 -07:00
Brian Anderson
ecfa37d336 Register snapshots 2011-10-09 15:23:34 -07:00
Brian Anderson
941d5e737c Revert "Stop using (DY)LD_LIBRARY_PATH on Unix"
This reverts commit 4b58071f96.
2011-10-09 15:05:12 -07:00
Marijn Haverbeke
aff536ec0e Fix bad float-type detection in trans
Closes #1017
2011-10-09 10:07:10 +02:00
Brian Anderson
79e9f7a015 Make windows package uninstallable 2011-10-07 14:09:29 -07:00
Brian Anderson
fed56b07ba Make windows packaging work again 2011-10-07 13:48:20 -07:00
Marijn Haverbeke
1efe5f0577 Fix up test for last commit 2011-10-07 16:58:27 +02:00
Marijn Haverbeke
f26e770745 Make 1-1 parse again
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-07 16:46:44 +02:00
Marijn Haverbeke
c7eee8fb05 Stop registering cleanups for types that don't need them 2011-10-07 14:46:23 +02:00
Marijn Haverbeke
31586339b1 Make it possible to have locals that don't live on the stack
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-07 14:43:19 +02:00
Marijn Haverbeke
7586082bb0 Add tests for programs that are invalid by arg-passing-style
Closes #1008
2011-10-07 10:41:40 +02:00
Marijn Haverbeke
8db71530f5 Forbid passing dynamically-sized types by value
Issue #1008
2011-10-07 10:41:40 +02:00
Marijn Haverbeke
2ff89469d4 Actually pass parameters specified as by-val by value
Issue #1008
2011-10-07 10:41:40 +02:00
Marijn Haverbeke
41528dc543 Add pass-by-ref annotation to the tests to make them typecheck
Issue #1008
2011-10-07 10:41:39 +02:00
Marijn Haverbeke
fe916fb9f0 Give up on providing a by-value version of map, convert fold over to
passing pointers by ref

Issue #1008
2011-10-07 09:56:12 +02:00
Marijn Haverbeke
f9fbd86f52 Parse and typecheck by-value and by-ref arg specs
Add sprinkle && throughout the compiler to make it typecheck again.

Issue #1008
2011-10-07 09:09:50 +02:00
Brian Anderson
ed5a962d6f Hopefully make test_prefix_rpath_abs work on win32 2011-10-06 16:39:34 -07:00
Brian Anderson
831d861d84 Mac uses @executable_path instead of $ORIGIN 2011-10-06 16:26:32 -07:00
Brian Anderson
5cd6dbd5b9 Always use an absolute path for the backup install prefix rpath 2011-10-06 16:12:45 -07:00
Brian Anderson
04e89af6db Add std::str::contains 2011-10-06 16:08:44 -07:00
Brian Anderson
4b58071f96 Stop using (DY)LD_LIBRARY_PATH on Unix 2011-10-06 15:23:20 -07:00
Brian Anderson
a1e4ab3e38 Register snapshots 2011-10-06 15:11:30 -07:00
Brian Anderson
e4068f6715 Mac doesn't seem to support rpath $ORIGIN 2011-10-06 14:29:03 -07:00
Brian Anderson
06087e67e1 Configure out rpath tests when not testing 2011-10-06 13:29:36 -07:00
Brian Anderson
4b9e572044 Remove an unnecessary linking flag. Add comments about linking 2011-10-06 13:16:16 -07:00
Brian Anderson
062ba22d99 rpathing is based on the target, not host OS 2011-10-06 13:12:11 -07:00
Brian Anderson
d8a85f0758 Make rpath work on mac 2011-10-06 13:09:00 -07:00
Marijn Haverbeke
9c037d2194 Revert "rustc: Add a workaround for a segfault with --time-passes (issue #1005)."
This reverts commit 100e0264b2.
2011-10-06 16:12:47 +02:00