about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-11-16rustc: Use link_name attribute for native functionHaitao Li-26/+29
Fixes issue #906
2011-11-15rustc: Don't sign extend uints during translationBrian Anderson-1/+1
Doing so produces incorrect results on a 32-bit compiler targeting 64-bits
2011-11-15Support conditional compilation based on architectureBrian Anderson-1/+7
target_os = "x86" or target_os = "x86_64"
2011-11-15Use native fn's link name attribute if givenHaitao Li-2/+8
Fixes issue #905
2011-11-15Fix handling of loops and conditionals in alias.rsMarijn Haverbeke-62/+150
It now threads information about invalidated aliases through the AST properly. This makes it more permissive for conditionals (invalidating an alias in one branch doesn't prevent you from using it in another), and less permissive for loops (it now properly notices when a loop invalidates an alias that it might still use in another iteration). Closes #1144
2011-11-15rustllvm: Add a GetOrInsertFunction wrapperHaitao Li-1/+4
Fixes issue #1161 Test-case-by: Brian Anderson <banderson@mozilla.com> Signed-off-by: Haitao Li <lihaitao@gmail.com>
2011-11-13Make various binops not typecheck for unsafe pointers. Closes #1173Brian Anderson-1/+0
2011-11-12Remove unused "--check-unsafe" flagHaitao Li-2/+1
Fixes issue #1138
2011-11-10Cleanup unused importsHaitao Li-194/+103
2011-11-10rustc: Add support of warning on unused importsHaitao Li-9/+35
Fixes issue #889
2011-11-10Add float support to #fmt. Fix #1014.Josh Matthews-0/+3
2011-11-09Rename "c-stack-stdcall" ABI to "stdcall"Brian Anderson-2/+0
2011-11-09Rename "c-stack-cdecl" ABI to "cdecl"Brian Anderson-3/+1
2011-11-09Add "cdecl" as synonym for "c-stack-cdecl"Brian Anderson-1/+3
2011-11-09Add "stdcall" as synonym for "c-stack-stdcall"Brian Anderson-1/+3
2011-11-09rustc: Rename native_abi_c_stack_cdecl to native_abi_cdeclBrian Anderson-10/+10
2011-11-09rustc: Rename native_abi_c_stack_stdcall to native_abi_stdcallBrian Anderson-8/+8
2011-11-09Remove native "x86stdcall" ABIBrian Anderson-21/+3
2011-11-09Make native "c-stack-stdcall" ABI workBrian Anderson-1/+16
The symbol name is based on the number of arguments, so we have to declare it correctly. For some reason GetLastError doesn't work now.
2011-11-09trans: Add binops (except for logic and comparators) and unops to ↵Joshua Wise-2/+78
trans_const_expr. Working towards issue #570.
2011-11-09middle: Add a pass to reject bad const expressions earlier. Currently just ↵Joshua Wise-0/+45
rejects unimplemented const expressions, but will be needed later.
2011-11-08Remove native "cdecl" ABIBrian Anderson-16/+5
2011-11-07Use ".ll" as default suffix of LLVM assembly fileHaitao Li-1/+1
This commit is a follow up of Issue #1147. Althought there are some inconsistency about this naming convention in LLVM. For example, `clang' write LLVM assembly to a file with ".s" suffix, while both `llvm-dis' and `opt' write to files with ".ll" suffices. We think ".ll" makes more sense. Also rustc manual page is updated.
2011-11-07Remove native "llvm" ABIBrian Anderson-19/+1
2011-11-07Remove native "rust" ABIBrian Anderson-13/+2
2011-11-07[Parser] parser.rs: Made two error messages less ambiguousDavid Rajchenbach-Teller-2/+6
2011-11-07rustc: Set LLVM module identifier as crate nameHaitao Li-3/+3
2011-11-07rustc: Add support of generating LLVM assemblyHaitao Li-5/+19
rustc generates output files in LLVM bitcode format if "--emit-llvm" option is given. When used with the "-S" option, rustc generates LLVM intermediate language assembly files. Fixes Issue #476
2011-11-07Fix a long lineMarijn Haverbeke-1/+1
2011-11-07llvm::mk_object_file should really return an option, since the underlying ↵Joshua Wise-4/+8
LLVM function can fail. Fixes a crash on OS X when rust has bad dylibs within eyeshot.
2011-11-03Disallow writing to function arguments againMarijn Haverbeke-85/+71
Remove implicit copying hack. Closes #1118
2011-11-02fix line too longNiko Matsakis-1/+2
2011-11-02add -m64 to gcc args if appropriateNiko Matsakis-6/+15
2011-11-02correct more i32 vs int mismatchesNiko Matsakis-2/+2
2011-11-02convert various ints to i32 and vice versaNiko Matsakis-22/+22
2011-11-02convert GEP to i32Niko Matsakis-115/+67
2011-11-02get things checking on ia32Niko Matsakis-50/+39
2011-11-02thread the context through so that int can be 64 bits on x86_64Niko Matsakis-99/+149
2011-11-02work on making the size of ints depend on the target archNiko Matsakis-60/+92
2011-11-02work on making the size of ints depend on the target archNiko Matsakis-210/+295
2011-11-02hack around on makefiles trying to get a 64 bit buildNiko Matsakis-5/+55
right now there are many temporary hacks, search for NDM to find them
2011-11-02start to isolate target strings so that they can be configured forNiko Matsakis-74/+114
x64 or other targets
2011-11-02Evaluate alt expressions in their own block contextMarijn Haverbeke-3/+10
Closes #785
2011-11-02Rename car/cdr to head/tail in std::listMarijn Haverbeke-5/+4
Closes #1086
2011-11-02Make it possible to cast unsafe pointers with the 'as' operatorMarijn Haverbeke-6/+15
2011-11-02Make 'lambda(...) -> ...' parse as a typeMarijn Haverbeke-22/+9
2011-11-02Make resolving of imports behave more sanelyMarijn Haverbeke-65/+57
An import now ignores itself when resolving its target. This gets rid of the previously existing (problematic) behaviour where the import would start looking one scope up when its name was the same as its target's first component. Closes #1114
2011-11-02Fix printing of parameterized tag types in ppauxMarijn Haverbeke-1/+1
It was printing option::t[int] instead of option::t<int>
2011-11-01Add should_fail annotation for unit testsMatt Brubeck-3/+19
This allows test cases to assert that a function is expected to fail. Tests annotated with "should_fail" will succeed only if the function fails.
2011-11-01Fix alignment of interior pointers of dynamic-size types. Closes #1112Brian Anderson-8/+26
GEP_tup_like finds interior pointers by creating a tuple of all the types preceding the element it wants a pointer to, then asks for the size of that tuple. This results in incorrect pointers when the alignment of that tuple is not the alignment of the interior type you're getting a pointer to.