Graydon Hoare
87c9a9e25d
Avoid iterating ty parts on drop when there are no heap pointers in ty. Wins several tens of kb on rustc.
2010-08-24 11:44:14 -07:00
Graydon Hoare
b5255b4534
Shrink size of glue calls. Wins a few tens of kb on rustc.
2010-08-24 11:42:24 -07:00
Graydon Hoare
10316fbfa5
Make error reporting slightly more regular.
2010-08-24 09:58:26 -07:00
Graydon Hoare
6e3a77c3a3
Merge remote branch 'tohava/master'
...
Conflicts:
src/boot/fe/ast.ml
2010-08-23 18:19:42 -07:00
Patrick Walton
ed92925083
Warn when the value of "spawn" is unused, as it's useless
2010-08-20 17:15:27 -07:00
Or Brostovski
0830b5bf24
Modified parser to handle alt type andadded a few tests
...
ast.ml - modified arm types for easier polymorphism
- fixed a bug in fmt_type_arm
dead.ml - modified arm types for easier polymorphism
common.ml - added 'either'
- added some useful auxiliary functions
item.ml - modified arm code to be more polymorphic and handle both alt-tag and alt-type, also fixed the problematic case in bad-alt.rs
Makefile - added XFAIL for new alt-type test
bad-alt.rs - added test for invalid alt syntax
alt-type-simple.rs - added simple test for alt type
2010-08-21 02:41:43 +03:00
Graydon Hoare
5f9750ca2c
Modify session to report errors in an emacs-parser-friendlier way.
2010-08-20 11:42:44 -07:00
Graydon Hoare
ddd8feea31
Support single-element append on vec, str. Closes #44 .
2010-08-20 09:58:22 -07:00
Graydon Hoare
b34cb1b631
Fix a bunch of typestate bugs in handling if and while statement wirings.
2010-08-19 18:42:32 -07:00
Patrick Walton
b6b348a13c
Export all item code to stabs on Windows (including e.g. object methods)
2010-08-19 16:50:18 -07:00
Patrick Walton
31aceda09e
Export glue as stabs on Windows as well
2010-08-19 16:15:37 -07:00
Patrick Walton
09ebda7ce5
Add some mangled stabs to help debugging on Windows
2010-08-19 15:38:57 -07:00
Graydon Hoare
9277f551d3
Add support for casting native types.
2010-08-18 00:18:46 -07:00
Graydon Hoare
766b91d88b
Add support for a reserved-words list and reserve the various not-supported-but-plausible IEEE datatypes.
2010-08-17 14:48:00 -07:00
Graydon Hoare
7e62aa6801
Absent any deep overhauls to syntax or constant-handling, hack in the ability to project a cexp var binding to a token in the parser. Use it in comp/rustc.rc and comp/lib/llvm.rs.
2010-08-16 13:02:46 -07:00
Patrick Walton
176899a970
Evil solution to the problem of importing the same opaque from two different files. Closes #145 .
2010-08-13 16:33:04 -07:00
Graydon Hoare
8149bb1411
Zero LMA/VMA of debug sections in elf. Closes #148 .
2010-08-12 18:45:41 -07:00
Roy Frostig
4e376852e7
Fix max_sz bug that ended up causing us to index incorrectly into a vec of tag types. Add a testcase.
2010-08-12 16:21:08 -07:00
Graydon Hoare
c599b32646
Kill old parser support for type-parametric modules. We don't support those.
2010-08-12 10:28:23 -07:00
Graydon Hoare
88d9a79ac8
Some ELF correctness issues, but apparently none enough to placate gdb.
2010-08-11 16:57:34 -07:00
Michael Bebenita
18beb7a33d
Increment ref counts of objects sent along channels.
2010-08-11 16:08:45 -07:00
Graydon Hoare
bf341f829b
Change dwarf output on linux to switch from relative to absolute addresses based on library-mode-ness, might help fight ASLR-induced confusion.
2010-08-11 14:27:47 -07:00
Graydon Hoare
60e5ad384e
Put out burning tinderbox on OSX.
2010-08-10 16:49:36 -07:00
Graydon Hoare
9f6dec9e13
Always bounce mul/div/mod ops. Closes #131 harder.
2010-08-10 16:03:58 -07:00
Graydon Hoare
5b5bcf9cfb
Merge commit 'tohava/master'
...
Conflicts:
src/boot/fe/ast.ml
2010-08-10 14:46:24 -07:00
Graydon Hoare
dbe8760af3
Merge commit 'jyasskin/work'
...
Conflicts:
src/rt/rust_dom.cpp
src/rt/rust_upcall.cpp
2010-08-10 13:26:00 -07:00
Roy Frostig
fd0750b218
Get object's captured typarams when querying for an object method's typarams in Trans. Together with commit 982dcc29bf6cd41e967a0befe0c6195811cd6a55 this... Closes #138 .
2010-08-09 19:19:32 -07:00
Roy Frostig
982dcc29bf
Get object's captured typarams when calculating sizes in the backend's fn-prologue-generation for object methods.
2010-08-09 15:45:08 -07:00
Michael Bebenita
97d6342bf0
Synthesize a flush_chan upcall right before a channel's ref_count drops to zero. This should only happen in the Rust code and not in the drop glue, or on the unwind path. This change allows the task owning the channel to block on a flush and delete its own channel. This change also cleans up some code around rust_port and rust_chan.
2010-08-09 08:15:34 -07:00
Michael Bebenita
8395d46163
Changed seemingly incorrect stk_field_valgrind_id.
2010-08-09 07:01:20 -07:00
Jeffrey Yasskin
b71340552f
Add names to tasks and domains. These can either be an explicit literal string
...
after the "spawn" keyword, or implicitly the call expression used to start the
spawn.
2010-08-09 11:43:16 +02:00
Or Brostovski
4467d7683d
Merge branch 'master' of git://github.com/graydon/rust
...
Conflicts:
src/boot/fe/ast.ml
2010-08-07 16:43:08 +03:00
Or Brostovski
b1c86beea8
Added AST pretty printing for communication alt statement, closes issue 19.
2010-08-07 13:44:44 +03:00
Or Brostovski
459e860457
Added forgotten handling for alt_type_else, and also for stmt_note
2010-08-06 17:34:31 -07:00
Or Brostovski
122ea68b12
Added AST pretty printing for slice expression
2010-08-06 17:34:31 -07:00
Or Brostovski
a0cc4817e9
Added AST logging, and modified AST for consistent handling of alt stmts.
...
- Modified the arm types, instead of a single arm type, there are now 2 (soon to be 3) arm types, one for each type of alt statement
- Added AST logging for constrained type (see fmt_constrained)
- Added AST logging for STMT_alt_type
- Created a generic fmt_arm for use with all alt statements
2010-08-06 17:34:31 -07:00
Jeffrey Yasskin
fdb842f9e6
Fix LLVM translation of modules.
2010-08-06 17:14:59 -07:00
Roy Frostig
514fb4b321
Accept uint literals as literal patterns.
2010-08-06 15:44:09 -07:00
Tohava
7d38caf9c3
Added forgotten handling for alt_type_else, and also for stmt_note
2010-08-06 17:15:55 +03:00
Tohava
4bc173fd3c
Added AST pretty printing for slice expression
2010-08-06 16:11:15 +03:00
Graydon Hoare
db561b52ff
Degrade emitter size cache to just a flat hashtable with regular flushes (sigh) and re-introduce horrible bounce-off-spill hack for DIV, MUL, etc.
2010-08-05 17:44:35 -07:00
Graydon Hoare
9da8101cc8
Something is wrong with the emitter size cache; disable for now, possibly put out flaming tinderboxes.
2010-08-05 13:28:43 -07:00
Graydon Hoare
29987b56e1
Move 'as' precedence up to just above relational; support indexing str and vec by all integral types. Closes #94 .
2010-08-05 10:04:11 -07:00
Tohava
ce79b0e492
Merge branch 'master' of git://github.com/graydon/rust
2010-08-05 04:19:46 +03:00
Graydon Hoare
6e98a3b64f
Thread argument-types down to internal_check_outer_lval in type.ml, in preparation for trying to infer type params from call args.
2010-08-04 17:50:57 -07:00
Tohava
0f53d03139
Added AST logging, and modified AST for consistent handling of alt stmts.
...
- Modified the arm types, instead of a single arm type, there are now 2 (soon to be 3) arm types, one for each type of alt statement
- Added AST logging for constrained type (see fmt_constrained)
- Added AST logging for STMT_alt_type
- Created a generic fmt_arm for use with all alt statements
2010-08-05 03:44:29 +03:00
Graydon Hoare
815424c2ec
Fix pexp parser to do left-associativity, not right. Closes #130 .
2010-08-04 13:44:22 -07:00
Graydon Hoare
7595aca5e3
Kill the preallocator, install a sane replacement. Closes #131 . And probably a lot of others.
2010-08-04 00:27:36 -07:00
Graydon Hoare
d1a67574c6
Factor append_quad out of IL.emit_full, for use elsewhere.
2010-08-03 18:59:26 -07:00
Graydon Hoare
c014748c01
Remove dead implicit-destinations logic from IL.
2010-08-03 18:52:49 -07:00