about summary refs log tree commit diff
path: root/src/comp/back
diff options
context:
space:
mode:
authorHaitao Li <lihaitao@gmail.com>2012-01-16 18:21:01 +0800
committerHaitao Li <lihaitao@gmail.com>2012-01-19 02:10:36 +0800
commitdde41869ce2ef1d66e753fc8b4efc7d917c77875 (patch)
treeee9ea278fa981a8188a7d4cdb11201df10a81478 /src/comp/back
parentf03eb96f39dd616d8213cadf337b9d0b0984a687 (diff)
downloadrust-dde41869ce2ef1d66e753fc8b4efc7d917c77875.tar.gz
rust-dde41869ce2ef1d66e753fc8b4efc7d917c77875.zip
Use ctypes in native function declarations
Diffstat (limited to 'src/comp/back')
-rw-r--r--src/comp/back/link.rs25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/comp/back/link.rs b/src/comp/back/link.rs
index 881d043e010..fa038f4a5a3 100644
--- a/src/comp/back/link.rs
+++ b/src/comp/back/link.rs
@@ -1,4 +1,4 @@
-
+import core::ctypes::{c_int, c_uint};
 import driver::session;
 import session::session;
 import lib::llvm::llvm;
@@ -170,24 +170,25 @@ mod write {
             llvm::LLVMAddTargetData(td.lltd, fpm.llpm);
 
             let FPMB = llvm::LLVMPassManagerBuilderCreate();
-            llvm::LLVMPassManagerBuilderSetOptLevel(FPMB, 2u);
+            llvm::LLVMPassManagerBuilderSetOptLevel(FPMB, 2u32);
             llvm::LLVMPassManagerBuilderPopulateFunctionPassManager(FPMB,
                                                                     fpm.llpm);
             llvm::LLVMPassManagerBuilderDispose(FPMB);
 
             llvm::LLVMRunPassManager(fpm.llpm, llmod);
-            let threshold: uint = 225u;
-            if opts.optimize == 3u { threshold = 275u; }
+            let threshold = 225u as c_uint;
+            if opts.optimize == 3u { threshold = 275u as c_uint; }
 
             let MPMB = llvm::LLVMPassManagerBuilderCreate();
-            llvm::LLVMPassManagerBuilderSetOptLevel(MPMB, opts.optimize);
+            llvm::LLVMPassManagerBuilderSetOptLevel(MPMB,
+                                                    opts.optimize as u32);
             llvm::LLVMPassManagerBuilderSetSizeLevel(MPMB, 0);
             llvm::LLVMPassManagerBuilderSetDisableUnitAtATime(MPMB, False);
             llvm::LLVMPassManagerBuilderSetDisableUnrollLoops(MPMB, False);
             llvm::LLVMPassManagerBuilderSetDisableSimplifyLibCalls(MPMB,
                                                                    False);
 
-            if threshold != 0u {
+            if threshold != 0u32 {
                 llvm::LLVMPassManagerBuilderUseInlinerWithThreshold
                     (MPMB, threshold);
             }
@@ -198,12 +199,12 @@ mod write {
         }
         if opts.verify { llvm::LLVMAddVerifierPass(pm.llpm); }
         if is_object_or_assembly_or_exe(opts.output_type) {
-            let LLVMAssemblyFile: int = 0;
-            let LLVMObjectFile: int = 1;
-            let LLVMOptNone: int = 0; // -O0
-            let LLVMOptLess: int = 1; // -O1
-            let LLVMOptDefault: int = 2; // -O2, -Os
-            let LLVMOptAggressive: int = 3; // -O3
+            let LLVMAssemblyFile  = 0 as c_int;
+            let LLVMObjectFile    = 1 as c_int;
+            let LLVMOptNone       = 0 as c_int; // -O0
+            let LLVMOptLess       = 1 as c_int; // -O1
+            let LLVMOptDefault    = 2 as c_int; // -O2, -Os
+            let LLVMOptAggressive = 3 as c_int; // -O3
 
             let CodeGenOptLevel;
             alt opts.optimize {