Commit Graph

55 Commits

Author SHA1 Message Date
Graydon Hoare
4c16ff516d Convert a couple hundred ~""s to ""s, in trans functions. 2012-08-14 16:45:51 -07:00
Brian Anderson
6a0720b439 Convert impls to new syntax 2012-08-08 18:19:24 -07:00
Elliott Slaughter
166cb1b28b rustc: Strict enforcement of glue function types.
Make all glue functions take values by alias to remove the need for
bitcasts at the top of every glue function. Use static type
information to produce the correct type for glue functions so that
LLVM can enforce the type system at call sites.
2012-08-08 12:21:25 -07:00
Brian Anderson
ecaf9e39c9 Convert alt to match. Stop parsing alt 2012-08-06 15:36:30 -07:00
Brian Anderson
025d86624d Switch alts to use arrows 2012-08-05 22:08:09 -07:00
Patrick Walton
51a5a4ad0e rustc: Translate repeated vector syntax 2012-08-03 18:49:44 -07:00
Patrick Walton
4e60d7e3a6 rustc: "foo" is now a static string 2012-08-03 11:51:04 -07:00
Brian Anderson
b355936b4d Convert ret to return 2012-08-01 19:16:06 -07:00
Paul Stansifer
a9cc5066ee Change syntax extension syntax: #m[...] -> m!{...}. 2012-07-30 18:38:15 -07:00
Elliott Slaughter
d257382863 Moved malloc and free upcalls into rust runtime. 2012-07-23 10:45:58 -07:00
Michael Sullivan
d884085f43 Tear out ty_str and ty_vec. 2012-07-14 12:19:36 -07:00
Michael Sullivan
92743dc2a6 Move the world over to using the new style string literals and types. Closes #2907. 2012-07-14 01:03:43 -07:00
Michael Sullivan
5c5065e8bd Don't emit strings when the destination is ignored. 2012-07-14 00:07:24 -07:00
Michael Sullivan
2ea9c8df0f Accept prefix notation for writing the types of str/~ and friends. 2012-07-12 16:52:26 -07:00
Michael Sullivan
9e6b43fb33 Rip out a bunch more append code from trans. 2012-07-06 15:04:57 -07:00
Eric Holk
0e1a6cf3d9 Remove tvec::trans_add 2012-07-06 14:13:52 -07:00
Brian Anderson
d1fc2b5995 Convert to new closure syntax 2012-07-01 19:19:32 -07:00
Brian Anderson
a3382b6f26 Eliminate usages of old sugared call syntax 2012-06-30 16:01:49 -07:00
Michael Sullivan
98e161f00e Switch the compiler over to using ~[] notation instead of []/~. Closes #2759. 2012-06-29 17:41:45 -07:00
Michael Sullivan
51468b65a4 Properly cleanup slice literals. Closes #2705. 2012-06-26 14:05:43 -07:00
Michael Sullivan
f17ca3f73e Some box cleanup that doesn't break the build. 2012-06-26 13:58:21 -07:00
Michael Sullivan
329eca6044 Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725. 2012-06-25 20:00:46 -07:00
Graydon Hoare
312faf31df Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this. 2012-06-21 16:44:10 -07:00
Eric Holk
0e5cfd9f33 Move vector addition out of trans and into libcore. 2012-06-21 16:11:11 -07:00
Niko Matsakis
6e73e45e37 first steps to autoderef on method calls 2012-06-19 11:52:39 -07:00
Michael Sullivan
30dd32d4db Fix generation of str/@. Closes #2638. 2012-06-18 15:54:37 -07:00
Michael Sullivan
af60716281 Get an initial implementation of boxed vectors working. 2012-06-14 18:01:05 -07:00
Brian Anderson
ce750a7dbc Box AST idents 2012-06-13 11:30:45 -07:00
Michael Sullivan
bdd2000066 Some cleanup in tvec. 2012-06-13 11:17:02 -07:00
Michael Sullivan
35dd717352 Simplify a bunch of trans functions to not need the rust type. Remove some PointerCasts. 2012-06-12 17:01:13 -07:00
Michael Sullivan
ccf4e8cf9a Make vectors contain the right type descriptor. Closes #2536. 2012-06-12 17:01:13 -07:00
Graydon Hoare
dc94ccc4a4 More work on reflect, only missing enum and class substructures. 2012-06-08 13:26:15 -07:00
Tim Chevalier
88f03743b0 Comments only: annotate FIXMEs 2012-06-07 15:13:35 -07:00
Brian Anderson
a2bbdd3f52 rt: Remove upcall_shared_malloc/free/realloc 2012-05-30 21:23:34 -07:00
Brian Anderson
09a1b94907 Various changes for self-describing vecs 2012-05-30 21:23:34 -07:00
Tim Chevalier
8affc78e8a Turn constants in back::abi into uints, and propagate types
This means GEPi now takes a list of uints. Apologies in advance
if this is hard to rebase against, but it gets rid of many a cast :-)

Also modernized some for loops here and there.
2012-05-03 22:31:38 -07:00
Graydon Hoare
f641dce852 Get evec slices and unique-evec slice-borrowing working. 2012-04-19 16:51:37 -07:00
Graydon Hoare
1e51196f33 Get fixed-size evecs working. 2012-04-19 15:52:50 -07:00
Graydon Hoare
956bc773c6 Fix [] on str to exclude the trailing null. 2012-04-18 17:50:58 -07:00
Graydon Hoare
70a9ce626d Implement slice-borrowing on estr-uniq and str values. 2012-04-17 15:15:20 -07:00
Graydon Hoare
82727b926f Get explicit unique estrs working. 2012-04-16 16:17:51 -07:00
Graydon Hoare
f34eae8802 Translate slice-strings and make fixed-strings carry their null. 2012-04-11 12:07:19 -07:00
Graydon Hoare
7a3b290245 Add vstore/evec/estr to compiler. 2012-04-11 11:08:40 -07:00
Graydon Hoare
28a0e9c999 Construct new strings through upcalls. 2012-04-02 17:38:06 -07:00
Marijn Haverbeke
b5a4fa9456 Move some code over to iterator-for to see how it performs. 2012-03-27 15:46:33 +02:00
Marijn Haverbeke
87e097a853 Disallow ret inside of block functions
Also adds proper checking for cont/break being inside a loop.

Closes #1854
Issue #1619
2012-03-26 12:45:47 +02:00
Marijn Haverbeke
a84b56bc70 Remove more needless context threading in trans 2012-03-23 14:45:47 +01:00
Marijn Haverbeke
16ca6e8d7f Change vector append to no longer rely on an intrinsic
Issue #1981
2012-03-23 10:49:47 +01:00
Marijn Haverbeke
ea2e379e4f Implement built-in native modules as an alternative to intrinsics
Issue #1981
2012-03-23 10:49:47 +01:00
Graydon Hoare
b224bcf6e1 Add an LLVM-instruction-counting mode to trans.
Pipe to xdu to see a trans call graph of generated insns.
2012-03-22 13:44:20 -07:00