Commit Graph

10028 Commits

Author SHA1 Message Date
Graydon Hoare
ab4105d9e8 Make nonconstructable enums noncopyable, close #1907. 2012-04-04 19:07:52 -07:00
Graydon Hoare
0cf6b613d1 Mention --test in cargo usage string. Close #1452. 2012-04-04 18:40:41 -07:00
Graydon Hoare
2577e3eafc Tidy up predicate names in libcore. Should close #1431. 2012-04-04 18:08:55 -07:00
Graydon Hoare
4baf2ceae1 Clean up artifacts in test subdir. Should close #2066. 2012-04-04 18:08:55 -07:00
Graydon Hoare
74b0f5dcc7 Remove autodep.mk, it's not being used. 2012-04-04 18:08:55 -07:00
Brian Anderson
9aa7241f05 rustc: Don't allow recursive constants 2012-04-04 16:12:57 -07:00
Brian Anderson
38ed2ea096 rustc: Allow consts to refer to other consts 2012-04-04 15:03:39 -07:00
Brian Anderson
1ad62def6a build: Cleanup of test summary printing 2012-04-04 13:40:50 -07:00
Grahame Bowland
5cc050b265 Logfile output from tests; summarise in make check
Add an optional --logfile argument to std::test::test_main and to
compiletest.

Use this features and the new 'check-summary.py' script to
summarise all the tests performed by the 'check' target. This is
a short term fix for #2075.
2012-04-04 11:52:27 -07:00
Brian Anderson
3aed498842 Merge pull request #2125 from erickt/master
fleshing out time.rs
2012-04-04 11:49:14 -07:00
Erick Tryzelaar
159d89604e std: add a pure rust strptime parser. 2012-04-03 22:43:10 -07:00
Erick Tryzelaar
ff9305cd99 std: add a pure rust strftime formatter. 2012-04-03 22:43:10 -07:00
Erick Tryzelaar
4a4889859e std: add localtime/gmtime support. 2012-04-03 22:43:10 -07:00
Erick Tryzelaar
72444636d3 std: Flesh out result::extensions. 2012-04-03 22:43:09 -07:00
Erick Tryzelaar
2ad20df40b std: Rename result::methods to result::extensions 2012-04-03 22:43:09 -07:00
Erick Tryzelaar
44c7386376 std: fix a typo. 2012-04-03 22:43:09 -07:00
Erick Tryzelaar
4871f11439 std: change timeval to ns resolution timespec
This lets us use the more precise clock_gettime on posix
machines.
2012-04-03 22:43:08 -07:00
Erick Tryzelaar
7aae7320db std: change time::timeval to be {sec: i64, usec: i32}.
It's possible to have negative times if expressing time before 1970, so
we should use signed types. Other platforms can return times at a higher
resolution, so we should use 64 bits.
2012-04-03 22:43:08 -07:00
Brian Anderson
12d3d4f125 core: Export is_null, is_not_null 2012-04-03 22:32:55 -07:00
Brian Anderson
3b8097dacc core: Add ptr::is_null/is_not_null 2012-04-03 21:56:16 -07:00
Brian Anderson
e325146eb4 Merge remote-tracking branch 'brson/mainthread'
Conflicts:
	src/rt/rust_kernel.cpp
	src/rt/rust_scheduler.cpp
	src/rt/rust_scheduler.h
2012-04-03 20:30:01 -07:00
Brian Anderson
4cf7efc8f7 rt: Fix bugs in the osmain scheduler 2012-04-03 20:24:29 -07:00
Brian Anderson
bd97ee6520 rustdoc: Remove stray binary 2012-04-03 19:01:00 -07:00
Brian Anderson
c0e12854ed rt: Fix bugs in the osmain scheduler 2012-04-03 18:01:13 -07:00
Tim Chevalier
5571a9a193 also xfail class-typarams (doesn't work on Windows) 2012-04-03 17:47:07 -07:00
Brian Anderson
81ce090643 rt: Include the correct header for alloca on windows 2012-04-03 17:19:15 -07:00
Tim Chevalier
bc5e10dd1b xfail - metadata encoding doesn't work, which breaks Windows 2012-04-03 17:16:14 -07:00
Brian Anderson
ab2158f070 rt: alloca is spelled differently on win32 2012-04-03 17:12:10 -07:00
Brian Anderson
f4b293f0e3 rt: Fix the 0 bytes lost issue
This is a workaround for #1815. libev uses realloc(0) to
free the loop, which valgrind doesn't like. We have suppressions
to make valgrind ignore them.

Valgrind also has a sanity check when collecting allocation backtraces
that the stack pointer must be at least 512 bytes into the stack (at
least 512 bytes of frames must have come before). When this is not
the case it doesn't collect the backtrace.

Unfortunately, with our spaghetti stacks that valgrind check triggers
sometimes and we don't get the backtrace for the realloc(0), it
fails to be suppressed, and it gets reported as 0 bytes lost
from a malloc with no backtrace.

This fixes the issue by alloca'ing 512 bytes before calling uv_loop_delete
2012-04-03 17:08:33 -07:00
Tim Chevalier
1f892dcb01 Monomorphize class constructors, support generic classes and class methods
Allow class methods to have type parameters (this is a change from the
original classes proposal).

Add test cases for classes with type parameters, and classes with methods
that have their own type parameters.
2012-04-03 16:23:50 -07:00
Brian Anderson
4f4b7b10bb rt: Futz with headers to satisfy FreeBSD 2012-04-03 16:02:38 -07:00
Jon Morton
72ffb4b446 fix 'I don't know how C works' 2012-04-03 16:02:38 -07:00
Jon Morton
386069f39e actually remove memory.h; include cleanups 2012-04-03 16:02:38 -07:00
Jon Morton
632a4c9326 Refactor includes structure, getting rid of rust_internal.h
Many changes to code structure are included:
- removed TIME_SLICE_IN_MS
- removed sychronized_indexed_list
- removed region_owned
- kernel_owned move to kernel.h, task_owned moved to task.h
- global configs moved to rust_globals.h
- changed #pragma once to standard guard in rust_upcall.h
- got rid of memory.h
2012-04-03 16:02:38 -07:00
Brian Anderson
bef72447e7 core: Add a scheduler mode, osmain, to spawn onto the main scheduler 2012-04-03 14:28:30 -07:00
Niko Matsakis
704ca046a1 update make glob from .so to .dylib 2012-04-03 11:54:24 -07:00
Marijn Haverbeke
f65e26eeee Output type sizes in reinterpret_cast error message
Closes #2095
2012-04-03 16:37:54 +02:00
Marijn Haverbeke
90d3f0fb5e Ensure method names in iface and impl items are unique
Closes #2114
2012-04-03 16:37:28 +02:00
Tim Chevalier
fabd49bc2d Use os::copy_file in cargo 2012-04-02 22:57:28 -07:00
Tim Chevalier
8dd22135a3 Add Tom Lee to AUTHORS 2012-04-02 21:47:20 -07:00
Tim Chevalier
e9ff495942 Merge branch 'issue-1983' of https://github.com/thomaslee/rust into issue-2090
This adds a new os::copy_file function, contributed by Thomas Lee.
I added test cases.
2012-04-02 21:47:20 -07:00
Graydon Hoare
28a0e9c999 Construct new strings through upcalls. 2012-04-02 17:38:06 -07:00
Tim Chevalier
21be1379d5 Rename some core::option functions
from_maybe => get_with_default
maybe => with_option
may => with_option_do

I know these names are kind of ridiculous, but it's the best I could think of.
Feel free to bikeshed. Closes #2081
2012-04-02 16:12:49 -07:00
Brian Anderson
e1858882a4 rt: Run a single-threaded scheduler on the main thread 2012-04-02 15:35:47 -07:00
Graydon Hoare
987bc23629 Remove redundant **tydesc gepi/load pair in call_tydesc_glue_full. 2012-04-02 15:26:12 -07:00
Brian Anderson
dd63c5ef1d rt: Add an assert to rust_get_current_task 2012-04-02 14:23:24 -07:00
Jon Morton
fa88d15d63 remove unneeded assert, move get_task_tls to sched_loop 2012-04-02 14:21:09 -07:00
Jon Morton
33a949eed6 Add global rust_get_current_task
Previously two methods existed: rust_sched_loop::get_task and rust_task::get_task_from_tcb. Merge both of them into one, trying the faster one (tcb) first, and if that fails, the slower one from the tls.
2012-04-02 14:21:08 -07:00
Brian Anderson
d0268cbe5f doc: Abbreviate Thursday as 'th', not 'do' 2012-04-02 14:17:33 -07:00
Jon Morton
bcb9269d84 rt: cleanup passing around of rust_env 2012-04-02 03:11:58 -05:00