about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-12-16Parse and resolve implementations.Marijn Haverbeke-81/+261
Issue #1227
2011-12-16rustc: Implement non-renamed re-export across cratesHaitao Li-38/+108
First patch for issue #1115. Not yet ready for re-exported modules which are renamed when importing them.
2011-12-15rustc: Box tag variants to avoid copiesBrian Anderson-5/+5
2011-12-15rustc: Box the vectors returned from ty::tag_variantsBrian Anderson-37/+39
2011-12-15rustc: Cache results of ty::tag_variantsBrian Anderson-5/+16
2011-12-15Add an --out-dir option to rustc.Graydon Hoare-34/+70
2011-12-15restore old buggy behavior where n_obj_params is always 0 for fnsNiko Matsakis-1/+9
2011-12-15massive refactor of how closures workNiko Matsakis-504/+582
2011-12-15resurrect tps_fn() and put it to use this time.Niko Matsakis-3/+5
2011-12-15Fix bug in library output filename construction: /tmp/foo.rc was being ↵Graydon Hoare-1/+11
linked as lib/tmp/foo-<hash>-<vers>.so not /tmp/foo-<hash>-<vers>.so
2011-12-15Iterate over an array when creating the parser's reserved word tableMarijn Haverbeke-38/+8
2011-12-15Don't try to look up crate modules in ext_map in resolveMarijn Haverbeke-1/+1
Closes #1305
2011-12-14remove unused tps_fn(); comment out unused varNiko Matsakis-4/+3
2011-12-14refactor trans into trans_closure; restore original closure reprNiko Matsakis-415/+442
2011-12-14treat native fns as shared closuresNiko Matsakis-0/+1
2011-12-14insert a field into the closure storing number of ty descsNiko Matsakis-19/+24
2011-12-14pull out the code from iter_structural_ty for handling functions,Niko Matsakis-29/+55
as we will have to do very careful and non-generic things
2011-12-14treat different kinds of closures differentlyNiko Matsakis-19/+53
2011-12-14change syntax from lambda[send] to sendfnNiko Matsakis-82/+15
2011-12-14restructure, temporarily working around what looks like an LLVM bugNiko Matsakis-3/+37
2011-12-14translate unique closure env betterNiko Matsakis-25/+49
2011-12-14remove unused optionsNiko Matsakis-15/+5
2011-12-14remove extra trailing semicolonNiko Matsakis-1/+1
2011-12-14restore old functionality for nowNiko Matsakis-7/+25
2011-12-14get basic code generation working, clone type descs for lambda[send]Niko Matsakis-33/+78
2011-12-14make fact that trans'ing lvar does not modify bcx explicit in typeNiko Matsakis-12/+19
2011-12-14sendable functions now "work", meaning pass through trans/typestateNiko Matsakis-2/+7
but they do not generate correct code
2011-12-14push changes through to get things compiling, if not running.Niko Matsakis-60/+103
2011-12-14first attempt, not happy with itNiko Matsakis-67/+62
2011-12-14define ty and update parser for sendable lambdasNiko Matsakis-7/+97
2011-12-14rustc: Always write split stack prologuesBrian Anderson-6/+4
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-192/+215
2011-12-13Reorganize some code in typeckMarijn Haverbeke-305/+233
This should cut down a lot on the amount of closures being allocated, and removes some duplicated code.
2011-12-12rustc: Work around a segmentation faultHaitao Li-24/+24
On Linux/Mac, I got a segmentation fault: (gdb) bt #0 0x00000000007519af in glue_take584 () #1 0x00000000006d4bec in back::rpath::get_rpath_flags::_3899df2ca513c603 () #2 0x00000000006c7655 in back::link::link_binary::_7afde00a9791031c () #3 0x00000000007d3ff5 in driver::rustc::compile_input::thunk9212 () #4 0x0000000000710f24 in driver::rustc::time::_3e691b2a4ba58aee () #5 0x000000000071a79d in driver::rustc::compile_input::_7b4a41b87c18e034 () #6 0x000000000072f0a9 in driver::rustc::main::_cd8b8c8185af3dee () #7 0x000000000072f1ed in _rust_main () #8 0x00007ffff7e6e146 in task_start_wrapper (a=<optimized out>) at ../src/rt/rust_task.cpp:176 The variable `output` or `out_filename` becomes (null) after the definition of `fn unlib`. Move the function defintion to the beginning seems prevent the crash on Linux.
2011-12-12rustc: Refactor and get built on WindowsHaitao Li-14/+12
2011-12-12rustc: Hash includes direct dependent cratesHaitao Li-3/+36
2011-12-12rustc: Encode crate hash into metadataHaitao Li-3/+21
2011-12-12rustc: build versioned library with hash in its nameHaitao Li-12/+19
Also updated build to install versioned libraries and added a few missing actions for `make clean`.
2011-12-12Using filename when finding libraries for linkingHaitao Li-8/+22
Revert #999 commit 16dad84f7b2f173db012dda2e77b08ccb423391f
2011-12-12Handle external-crate case when printing full unresolved pathsMarijn Haverbeke-5/+13
Closes #1283
2011-12-09Allow type annotations for blocksMarijn Haverbeke-10/+8
I.e. {|foo: int| -> int foo + 2} Issue #1275
2011-12-08rustc: Actually hook the crate_type attribute into sessionBrian Anderson-3/+9
2011-12-08Add crate_type attributes to rustc, std, coreBrian Anderson-1/+1
2011-12-08rustc: Support 'crate_type' attributeBrian Anderson-0/+74
[crate_type = "lib"] builds it as a library. [crate_type = "bin"] builds it as an executable. Executable is the default. --lib and --bin switches override.
2011-12-08rustc: Move linking into compile_inputBrian Anderson-16/+20
2011-12-08rustc: Determine the crate type (lib/bin) in the session, not session optsBrian Anderson-16/+28
This is in preparation for adding a #[crate_type] attribute
2011-12-08Error when parsing the empty record typeMarijn Haverbeke-0/+1
Issue #1200
2011-12-08Allow binding of nested patternsMarijn Haverbeke-79/+120
See src/test/run-pass/nested-patterns.rs for some examples. The syntax is boundvar@subpattern Which will match the subpattern as usual, but also bind boundvar to the whole matched value. Closes #838
2011-12-08Stop passing around some unused information in typeckMarijn Haverbeke-27/+7
2011-12-08Consider variant constructors pure functions for the purpose of purity checkingMarijn Haverbeke-3/+3
Closes #1269