about summary refs log tree commit diff
path: root/src/rt/rust_builtin.cpp
AgeCommit message (Collapse)AuthorLines
2013-09-23Remove the C(++) ISAAC Rng from the old rt.Huon Wilson-24/+0
This has to leave rust_gen_seed and rng_gen_seed around since they're used to initialise the std::rand RNGs.
2013-09-18Remove rust_run_program.cppAlex Crichton-0/+23
Some of the functions could be converted to rust, but the functions dealing with signals were moved to rust_builtin.cpp instead (no reason to keep the original file around for one function). Closes #2674
2013-09-13Remove all usage of change_dir_lockedAlex Crichton-12/+0
While usage of change_dir_locked is synchronized against itself, it's not synchronized against other relative path usage, so I'm of the opinion that it just really doesn't help in running tests. In order to prevent the problems that have been cropping up, this completely removes the function. All existing tests (except one) using it have been moved to run-pass tests where they get their own process and don't need to be synchronized with anyone else. There is one now-ignored rustpkg test because when I moved it to a run-pass test apparently run-pass isn't set up to have 'extern mod rustc' (it ends up having linkage failures).
2013-09-11extra: use a mutex to wrap linenoise calls and make them threadsafe.Huon Wilson-0/+12
Fixes #3921.
2013-09-01Fix incorrect strftime error handling in rust_localtimeBirunthan Mohanathas-3/+6
Closes #8702.
2013-08-24std: Convert the runtime TLS key to a Rust global to avoid FFIBrian Anderson-11/+6
2013-08-23rt: Remove rust_abiBrian Anderson-1/+0
2013-08-23rt: Move some test functions to rust_test_helpersBrian Anderson-47/+0
2013-08-23rt: Remove exit_status helpersBrian Anderson-15/+0
2013-08-23rt: Memory regions are never synchronized nowBrian Anderson-4/+2
2013-08-23rt: Remove timerBrian Anderson-3/+26
2013-08-23rt: Remove last use of C++ exchange allocBrian Anderson-1/+1
2013-08-22Un-disable stack unwinding on Windows.Vadim Chugunov-4/+0
2013-08-16rt: Remove rust_stackBrian Anderson-0/+10
2013-08-16rt: Remove rust_envBrian Anderson-1/+53
2013-08-09auto merge of #8296 : erickt/rust/remove-str-trailing-nulls, r=ericktbors-3/+2
This PR fixes #7235 and #3371, which removes trailing nulls from `str` types. Instead, it replaces the creation of c strings with a new type, `std::c_str::CString`, which wraps a malloced byte array, and respects: * No interior nulls * Ends with a trailing null
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-237/+19
2013-08-04Remove trailing null from stringsErick Tryzelaar-3/+2
2013-07-31extra: Remove dbg module and rt support codeBrian Anderson-92/+0
This stuff is ancient, unused, and tied to oldsched
2013-07-31auto merge of #8143 : brson/rust/change-dir-lock, r=luqmanabors-2/+2
2013-07-30rt: Use the correct global change_dir lockBrian Anderson-2/+2
2013-07-30std: Remove ManualThreads spawn modeBrian Anderson-12/+0
2013-07-30std::rt: Change Thread interface to require an explicit joinBrian Anderson-1/+6
Makes it more obvious what's going on
2013-07-22std: Remove at_exit API. UnusedBrian Anderson-6/+0
2013-07-22std: Remove unstable::global. UnusedBrian Anderson-6/+0
2013-07-22std::rt: Stop using unstable::global in change_dir_lockedBrian Anderson-0/+12
2013-07-22std: Remove weak_task API. UnusedBrian Anderson-12/+0
2013-07-18auto merge of #7856 : brson/rust/no-thread-per-core, r=pcwaltonbors-6/+0
This doesn't make sense under the new scheduler.
2013-07-15remove headers from unique vectorsDaniel Micay-3/+3
2013-07-12auto merge of #7734 : alexcrichton/rust/issue-3395, r=sanxiynbors-1/+1
Also ends up fixing one case in libstd. Closes #3395
2013-07-11auto merge of #7677 : alexcrichton/rust/tls-gc, r=pcwaltonbors-7/+3
cc #6004 and #3273 This is a rewrite of TLS to get towards not requiring `@` when using task local storage. Most of the rewrite is straightforward, although there are two caveats: 1. Changing `local_set` to not require `@` is blocked on #7673 2. The code in `local_pop` is some of the most unsafe code I've written. A second set of eyes should definitely scrutinize it... The public-facing interface currently hasn't changed, although it will have to change because `local_data::get` cannot return `Option<T>`, nor can it return `Option<&T>` (the lifetime isn't known). This will have to be changed to be given a closure which yield `&T` (or as an Option). I didn't do this part of the api rewrite in this pull request as I figured that it could wait until when `@` is fully removed. This also doesn't deal with the issue of using something other than functions as keys, but I'm looking into using static slices (as mentioned in the issues).
2013-07-11Expand ctypes warnings to warn about *int/*uintAlex Crichton-1/+1
Also ends up fixing one case in libstd
2013-07-09std: Remove ThreadPerCore spawn mode. UnusedBrian Anderson-6/+0
2013-07-09Use purely an owned vector for storing TLS dataAlex Crichton-7/+3
2013-07-09rt: Make the old rand builtins work with newschedBrian Anderson-11/+5
2013-07-09std: Make os::set_exit_status work with newschedBrian Anderson-0/+15
2013-07-03Merge remote-tracking branch 'mozilla/master'Brian Anderson-16/+10
Conflicts: src/libextra/test.rs src/libstd/at_vec.rs src/libstd/cleanup.rs src/libstd/rt/comm.rs src/libstd/rt/global_heap.rs src/libstd/task/spawn.rs src/libstd/unstable/lang.rs src/libstd/vec.rs src/rt/rustrt.def.in src/test/run-pass/extern-pub.rs
2013-06-30vec: implement exchange vector reserve in RustDaniel Micay-7/+0
2013-06-25auto merge of #7254 : Blei/rust/intrinsic-overhaul, r=cmrbors-9/+0
This sets the `get_tydesc()` return type correctly and removes the intrinsic module. See #3730, #3475. Update: this now also removes the unused shape fields in tydescs.
2013-06-24std: Make box annihilator work with newschedBrian Anderson-0/+6
2013-06-24std: Rewrite vec_reserve_shared_actual in RustBrian Anderson-4/+8
2013-06-23Support foreign 'static mut' variables as wellAlex Crichton-0/+10
2013-06-23Remove rust_call_tydesc_gluePhilipp Brüschweiler-8/+0
Towards #4812. Also includes some minor cleanups.
2013-06-23Remove unused shape fields from typedescsPhilipp Brüschweiler-4/+3
2013-06-21std: Make console log off/on controls work with newschedBrian Anderson-3/+9
2013-06-21std::rt: Support os::argsBrian Anderson-0/+18
2013-06-20Merge remote-tracking branch 'brson/io' into io-upstreamBrian Anderson-0/+7
Conflicts: src/rt/rust_builtin.cpp src/rt/rustrt.def.in
2013-06-21Remove all #[cfg(stage0)]-protected codeJames Miller-11/+0
New snapshot means this can all go. Also removes places that have comments that say they are workarounds for stage0 errors.
2013-06-18std: Work around some failing 'run' tests when valgrinding. #7224Brian Anderson-0/+6
Under valgrind on 64->32 cross compiles the dynamic linker is emitting some error messages on stderr, which interferes with the tests that are checking stderr.
2013-06-06rt: Add rust_get_num_cpusBrian Anderson-0/+7