]> git.lizzy.rs Git - rust.git/commitdiff
continue to annotate functions as unsafe where neccessary
authorNiko Matsakis <niko@alum.mit.edu>
Mon, 10 Oct 2011 22:16:55 +0000 (15:16 -0700)
committerBrian Anderson <banderson@mozilla.com>
Wed, 12 Oct 2011 23:33:06 +0000 (16:33 -0700)
src/comp/back/link.rs
src/comp/lib/llvm.rs
src/compiletest/procsrv.rs
src/test/stdtest/ptr.rs
src/test/stdtest/run.rs
src/test/stdtest/sys.rs

index 01f44cd2edbfaf1e9d77eaecdae617e3dc7b8ea2..fbf1f4b78813db8c8b59682f1d91edeef28c9ee3 100644 (file)
@@ -43,7 +43,7 @@ fn llvm_err(sess: session::session, msg: str) {
     }
 }
 
-fn link_intrinsics(sess: session::session, llmod: ModuleRef) {
+fn link_intrinsics(sess: session::session, llmod: ModuleRef) unsafe {
     let path = alt filesearch::search(
         sess.filesearch(),
         bind filesearch::pick_file("intrinsics.bc", _)) {
@@ -90,7 +90,8 @@ fn mk_intermediate_name(output_path: str, extension: str) -> str {
         } else { stem = str::substr(output_path, 0u, dot_pos as uint); }
         ret stem + "." + extension;
     }
-    fn run_passes(sess: session::session, llmod: ModuleRef, output: str) {
+    fn run_passes(sess: session::session, llmod: ModuleRef, output: str)
+       unsafe {
         let opts = sess.get_opts();
         if opts.time_llvm_passes { llvm::LLVMRustEnableTimePasses(); }
         link_intrinsics(sess, llmod);
index 2cf85bcd218c668973edbaeb327697202f1ed34a..8a6464cc1cfdc20cce9d5828e00f588bbb719123 100644 (file)
@@ -925,7 +925,7 @@ fn type_to_str(names: type_names, ty: TypeRef) -> str {
 }
 
 fn type_to_str_inner(names: type_names, outer0: [TypeRef], ty: TypeRef) ->
-   str {
+   str unsafe {
 
     if names.type_has_name(ty) { ret names.get_name(ty); }
 
@@ -1003,7 +1003,7 @@ fn tys_str(names: type_names, outer: [TypeRef], tys: [TypeRef]) -> str {
     }
 }
 
-fn float_width(llt: TypeRef) -> uint {
+fn float_width(llt: TypeRef) -> uint unsafe {
     ret alt llvm::LLVMGetTypeKind(llt) {
           1 { 32u }
           2 { 64u }
@@ -1013,24 +1013,22 @@ fn float_width(llt: TypeRef) -> uint {
         };
 }
 
-fn fn_ty_param_tys(fn_ty: TypeRef) -> [TypeRef] {
+fn fn_ty_param_tys(fn_ty: TypeRef) -> [TypeRef] unsafe {
     let args = vec::init_elt(0 as TypeRef, llvm::LLVMCountParamTypes(fn_ty));
-    unsafe {
-        llvm::LLVMGetParamTypes(fn_ty, vec::to_ptr(args));
-    }
+    llvm::LLVMGetParamTypes(fn_ty, vec::to_ptr(args));
     ret args;
 }
 
 
 /* Memory-managed interface to target data. */
 
-resource target_data_res(TD: TargetDataRef) {
+resource target_data_res(TD: TargetDataRef) unsafe {
     llvm::LLVMDisposeTargetData(TD);
 }
 
 type target_data = {lltd: TargetDataRef, dtor: @target_data_res};
 
-fn mk_target_data(string_rep: str) -> target_data {
+fn mk_target_data(string_rep: str) -> target_data unsafe {
     let lltd =
         str::as_buf(string_rep, {|buf| llvm::LLVMCreateTargetData(buf) });
     ret {lltd: lltd, dtor: @target_data_res(lltd)};
@@ -1038,39 +1036,39 @@ fn mk_target_data(string_rep: str) -> target_data {
 
 /* Memory-managed interface to pass managers. */
 
-resource pass_manager_res(PM: PassManagerRef) {
+resource pass_manager_res(PM: PassManagerRef) unsafe {
     llvm::LLVMDisposePassManager(PM);
 }
 
 type pass_manager = {llpm: PassManagerRef, dtor: @pass_manager_res};
 
-fn mk_pass_manager() -> pass_manager {
+fn mk_pass_manager() -> pass_manager unsafe {
     let llpm = llvm::LLVMCreatePassManager();
     ret {llpm: llpm, dtor: @pass_manager_res(llpm)};
 }
 
 /* Memory-managed interface to object files. */
 
-resource object_file_res(ObjectFile: ObjectFileRef) {
+resource object_file_res(ObjectFile: ObjectFileRef) unsafe {
     llvm::LLVMDisposeObjectFile(ObjectFile);
 }
 
 type object_file = {llof: ObjectFileRef, dtor: @object_file_res};
 
-fn mk_object_file(llmb: MemoryBufferRef) -> object_file {
+fn mk_object_file(llmb: MemoryBufferRef) -> object_file unsafe {
     let llof = llvm::LLVMCreateObjectFile(llmb);
     ret {llof: llof, dtor: @object_file_res(llof)};
 }
 
 /* Memory-managed interface to section iterators. */
 
-resource section_iter_res(SI: SectionIteratorRef) {
+resource section_iter_res(SI: SectionIteratorRef) unsafe {
     llvm::LLVMDisposeSectionIterator(SI);
 }
 
 type section_iter = {llsi: SectionIteratorRef, dtor: @section_iter_res};
 
-fn mk_section_iter(llof: ObjectFileRef) -> section_iter {
+fn mk_section_iter(llof: ObjectFileRef) -> section_iter unsafe {
     let llsi = llvm::LLVMGetSections(llof);
     ret {llsi: llsi, dtor: @section_iter_res(llsi)};
 }
index 1563e3112ca1e230fdf5d8c01ae779196f60dc45..6a74d044bfb1dbc022ef11a78b6c48c268fae5d1 100644 (file)
@@ -70,7 +70,7 @@ fn run(handle: handle, lib_path: str, prog: str, args: [str],
     ret {status: status, out: output, err: errput};
 }
 
-fn writeclose(fd: int, s: option::t<str>) {
+fn writeclose(fd: int, s: option::t<str>) unsafe {
     if option::is_some(s) {
         let writer = io::new_writer(io::fd_buf_writer(fd, option::none));
         writer.write_str(option::get(s));
index ef0ffa54a04b9e13fff87716dac9b65ecfd0b72d..ac829f90e5ff776acadaea5b8830280c4c053dc0 100644 (file)
@@ -5,7 +5,7 @@
 type pair = {mutable fst: int, mutable snd: int};
 
 #[test]
-fn test() {
+fn test() unsafe {
     let p = {mutable fst: 10, mutable snd: 20};
     let pptr: *mutable pair = ptr::addr_of(p);
     let iptr: *mutable int = unsafe::reinterpret_cast(pptr);
index e5c36d37041b429a3e13c9bf6aaa01629b6588f8..15bcf4e53200786a40d36146ec7d617864ad8097 100644 (file)
@@ -23,7 +23,7 @@ fn test_leaks() {
 fn test_leaks() { }
 
 #[test]
-fn test_pipes() {
+fn test_pipes() unsafe {
     let pipe_in = os::pipe();
     let pipe_out = os::pipe();
     let pipe_err = os::pipe();
@@ -45,14 +45,14 @@ fn test_pipes() {
     log actual;
     assert (expected == actual);
 
-    fn writeclose(fd: int, s: str) {
+    fn writeclose(fd: int, s: str) unsafe {
         let writer = io::new_writer(io::fd_buf_writer(fd, option::none));
         writer.write_str(s);
 
         os::libc::close(fd);
     }
 
-    fn readclose(fd: int) -> str {
+    fn readclose(fd: int) -> str unsafe {
         // Copied from run::program_output
         let file = os::fd_FILE(fd);
         let reader = io::new_reader(io::FILE_buf_reader(file, option::none));
@@ -67,7 +67,7 @@ fn readclose(fd: int) -> str {
 }
 
 #[test]
-fn waitpid() {
+fn waitpid() unsafe {
     let pid = run::spawn_process("false", [], 0, 0, 0);
     let status = run::waitpid(pid);
     assert status == 1;
index 56cafe9217a0ef89f570f845456f75db328790cc..547adba7bf56e9f34ab592087855a0b4fbd373a3 100644 (file)
@@ -1,4 +1,4 @@
 import std::sys;
 
 #[test]
-fn last_os_error() { log sys::rustrt::last_os_error(); }
+fn last_os_error() unsafe { log sys::rustrt::last_os_error(); }