about summary refs log tree commit diff
path: root/src/comp/lib
AgeCommit message (Collapse)AuthorLines
2011-08-27Convert std::map::new_str_hash to istrs. Issue #855Brian Anderson-5/+9
2011-08-27Convert std::int to istrs. Issue #855Brian Anderson-2/+4
2011-08-24Move to a more lightweight builder systemMarijn Haverbeke-519/+0
You now do bld::Ret(bcx, someval) where you used to say bcx.build.Ret(someval) Two fewer boxes are allocated for each block context, and build calls no longer go through a vtable.
2011-08-20ReformatBrian Anderson-40/+45
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
2011-08-18Remove or _-prefix all unused function argumentsMarijn Haverbeke-1/+1
This should make the compilation process a bit less noisy.
2011-08-16Port the compiler to the expr foo::<T> syntax.Erick Tryzelaar-7/+7
2011-08-16Port the compiler to the typaram foo<T> syntax.Erick Tryzelaar-4/+4
2011-08-16Rename std::ivec to std::vecBrian Anderson-25/+25
2011-08-15The wonky for...in... whitespace was bothering me. Sorry!Lindsey Kuper-2/+2
2011-08-11Use the new C API for PassManagerBuilder.Rafael Ávila de Espíndola-7/+24
2011-08-11Update for llvm api change.Rafael Ávila de Espíndola-7/+0
2011-08-09Port the compiler to the ivec type [T] syntax.Erick Tryzelaar-16/+16
2011-07-29Replace obj dtors with resources in stdlib and rustcMarijn Haverbeke-21/+28
2011-07-27Re-format some obj dtors that were messed up by the pretty-printerMarijn Haverbeke-8/+8
2011-07-27Fix damage done by the pretty-printerMarijn Haverbeke-4/+3
2011-07-27Reformat for new syntaxMarijn Haverbeke-875/+867
2011-07-22Remove typechecker work-arounds now that I know howMarijn Haverbeke-1/+1
2011-07-22Rewrite trans_cast, float->float and float->int castsMarijn Haverbeke-0/+10
2011-07-18Support x86 stdcall conventionBrian Anderson-0/+9
This allows rust to call the Win32 API
2011-07-14Move rustc to the new llvm type system. Requires an update to llvm trunk.Rafael Ávila de Espíndola-26/+8
2011-07-13Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.Graydon Hoare-3/+3
2011-07-07rustc: Make trans use interior vectorsPatrick Walton-92/+71
2011-07-06Remove temporary stdlib placeholders, use actual stdlib functionsMarijn Haverbeke-4/+3
(Possible now that a snapshot took place.)
2011-07-05Move everything syntax-related to syntax/, break deps on rest of compilerMarijn Haverbeke-3/+3
src/comp/syntax is currently just a sub-module of rustc, but it will, in the near future, be its own crate. This includes: - The AST data structure - The parser - The pretty-printer - Visit, walk, and fold - The syntax extension system - Some utility stuff that should be in the stdlib* *) Stdlib extensions currently require a snapshot before they can be used, and the win build is very broken right now. This is temporary and will be cleaned up when one of those problems goes away. A lot of code was moved by this patch, mostly towards a more organized layout. Some package paths did get longer, and I guess the new layout will take some getting used to. Sorry about that! Please try not to re-introduce any dependencies in syntax/ on any of the other src/comp/ subdirs.
2011-07-04Use metadata to avoid always passing -Lrustllvm to the linker.Rafael Ávila de Espíndola-0/+1
2011-07-02Add a function that determines whether the block is terminatedTim Chevalier-0/+4
2011-06-30Support type parameters in resourcesMarijn Haverbeke-0/+7
Some rather dodgy code was added to trans in the process. I'd love to discuss it with someone who knows more about types during translation.
2011-06-22Use fast regalloc and codegen at OptLevel=0.Rafael Ávila de Espíndola-1/+1
2011-06-20Remove the old library names. These were unused since rustboot.Rafael Ávila de Espíndola-4/+1
Right now rustc hardcodes -lrustllvm. The idea is to instead remember all the native modules used and convert them to -l directives to the linker. In the case of a library that is installed in an unusual location, Graydon suggested using metadata: native module foo = "bar" { }
2011-06-08Update rust to build with newer llvm versions.Rafael Ávila de Espíndola-1/+1
2011-05-27Lots of comments, and some more descriptive names.Lindsey Kuper-1/+7
2011-05-20Nicer printer of LLVM array types.Eric Holk-1/+4
2011-05-17Finally rename std::_xxx to std::xxxMarijn Haverbeke-110/+110
Except for _task, which is still a keyword.
2011-05-16Rewrite everything to use [] instead of vec() in value position.Graydon Hoare-3/+3
2011-05-12Downcase std modules again, move to :: for module dereferencingMarijn Haverbeke-184/+187
This should be a snapshot transition.
2011-05-10Add --time-llvm-passes.Graydon Hoare-0/+6
2011-05-09rustc: Replace our homebrew list of passes with the standard function and ↵Patrick Walton-1/+5
module passes, along with the TargetData passes.
2011-05-07Stop stringifying integers to get integral constants.Graydon Hoare-0/+4
2011-05-06rustc: Uncomment LLVMAddStandardPasses, now that we have a native glue that ↵Patrick Walton-2/+2
supports 8 arguments.
2011-05-06Rename std modules to be camelcasedMarijn Haverbeke-118/+118
(Have fun mergining your stuff with this.)
2011-05-06rustllvm: Add a binding to the LLVM standard module passesPatrick Walton-0/+10
2011-05-06Ge the host triple using LLVM. Fix a few 'mutable' warnings also.Kelly Wilson-0/+3
2011-05-05rustc: Add a binding to LLVM's bitcode parserPatrick Walton-0/+3
2011-05-04rustllvm: Add bindings to the LLVM linkerPatrick Walton-1/+3
2011-05-02Un-revert "Use different syntax for checks that matter to typestate", fixing ↵Patrick Walton-93/+93
the problem. This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118.
2011-05-02Revert "Use different syntax for checks that matter to typestate"Graydon Hoare-93/+93
This reverts commit aa25f22f197682de3b18fc4c8ba068d1feda220f. It broke stage2, not sure why yet.
2011-05-02Use different syntax for checks that matter to typestateTim Chevalier-93/+93
This giant commit changes the syntax of Rust to use "assert" for "check" expressions that didn't mean anything to the typestate system, and continue using "check" for checks that are used as part of typestate checking. Most of the changes are just replacing "check" with "assert" in test cases and rustc.
2011-04-29rustc: Add constants for LLVM function attributesPatrick Walton-0/+24
2011-04-19rustc: Assert that each basic block isn't terminated before adding ↵Patrick Walton-1/+100
instructions to it
2011-04-19replace error logging with log_err in stdlib and rustcMarijn Haverbeke-1/+1