Tim Chevalier
372cf4954c
suppress warning
2012-02-09 14:39:23 -08:00
Tim Chevalier
503dec1d62
Further WIP on classes
...
Changes to resolve and typeck. Still nothning working yet.
2012-02-09 14:36:43 -08:00
Brian Anderson
9effae8413
Merge pull request #1794 from matricks/bugfix
...
fixed memmove. were using memcpy due to copy paste error
2012-02-09 13:47:55 -08:00
Brian Anderson
1ccbba3341
cargo: Disable system mode per discussion on #1760
2012-02-09 13:42:59 -08:00
Magnus Auvinen
a422cd7ddb
fixed memmove. were using memcpy due to copy paste error
2012-02-09 21:47:12 +01:00
Tycho Sci
d846169b15
cargo: 2 modes -> 3 modes, and clarify them
...
* -g or --mode=user to create/use .cargo under $HOME
* -G or --mode=system to create/use .cargo under sysroot
* by default, `cargo` uses .cargo under current working directory
2012-02-09 12:15:30 -08:00
Tycho Sci
48e206ee81
cargo: Add local mode and use it by default
2012-02-09 12:15:30 -08:00
Marijn Haverbeke
0b4851cff6
Fix bug in decoding of method metadata
2012-02-09 17:08:54 +01:00
Marijn Haverbeke
02082be4a7
Fix various bugs in monomorphization
...
Enough to be able to compile librustc with --monomorphize.
Issue #1736
2012-02-09 15:30:48 +01:00
Marijn Haverbeke
52a741754c
Remove some pointless imports
2012-02-09 15:30:27 +01:00
Marijn Haverbeke
50fb4c30ed
Increase precedence of as operator
...
Closes #1717
2012-02-09 11:58:08 +01:00
Marijn Haverbeke
1dc5e1aa94
Monomorphize methods and bounded parameters
...
Issue #1736
2012-02-09 11:58:07 +01:00
Brian Anderson
149d1d4a6e
core: Add a test for blocking in native code
2012-02-08 15:42:51 -08:00
Brian Anderson
35ba9715fa
core: Add task::spawn_sched
...
This function creates a new scheduler with a specified number of threads and
immediately executes a task on it. The scheduler is configured to terminate
when the task dies. This is the minimum API necessary to enable blocking C
calls.
2012-02-08 15:42:51 -08:00
Brian Anderson
2f4e7c157e
rt: Export a scheduler API
2012-02-08 15:42:51 -08:00
Brian Anderson
f2a1aa2649
rt: Hold schedulers in a map
2012-02-08 15:42:51 -08:00
Brian Anderson
028af5cb6c
rt: Change the lifecycle of tasks and schedulers for various reasons
...
This is in preparation for giving schedulers their own life cycle separate
from the kernel.
Tasks must be deleted before their scheduler thread, so we can't let the
scheduler exit before all its tasks have been cleaned up. In this scheme,
the scheduler will unregister tasks with the kernel when they are reaped,
then drop their ref on the task (there may still be others). When the task
ref count hits zero, the task will request to be unregistered from the
scheduler, which is responsible for deleting the task.
Instead of having the kernel tell the scheduler to exit, let the scheduler
decide when to exit. For now it will exit when all of its tasks are
unregistered.
2012-02-08 15:42:51 -08:00
Brian Anderson
ebc3646c39
rt: Start schedulers immediately upon creation
2012-02-08 15:42:51 -08:00
Brian Anderson
7685e5de94
rt: Refactor the rust_kernel interface a bit
2012-02-08 15:42:47 -08:00
Brian Anderson
ad80823a6c
rt: Introduce scheduler ids
2012-02-08 15:33:40 -08:00
Brian Anderson
c76b81cddf
rt: Delete schedulers immediately upon release
...
This will be needed once we support dynamically changing schedulers.
2012-02-08 15:33:40 -08:00
Brian Anderson
f39e64d56a
rt: Change the scheme used for terminating the kernel
...
Instead of joining on the scheduler threads, instead keep a count of active
schedulers. When there are no more schedulers raise a signal for the main
thread to continue.
This will be required once schedulers can be added and removed from the
running kernel.
2012-02-08 15:33:40 -08:00
Brian Anderson
6eafe5d772
rt: Remove is_running flag from rust_thread. Unused
2012-02-08 15:33:40 -08:00
Brian Anderson
fad3de5900
rt: Remove rust_scheduler::rval. Unused
2012-02-08 15:33:40 -08:00
Tim Chevalier
48769b57e0
A bit more WIP on classes, and some cleanup in resolve
2012-02-08 15:21:45 -08:00
Niko Matsakis
6e680e36a7
deprecate old style box shape strings
2012-02-08 13:10:20 -08:00
Niko Matsakis
a6dde7766e
fix bug that causes premature pops from obstack
...
basically, the alignment step did not check if it walked off
the end of the buffer
2012-02-08 12:55:19 -08:00
Erick Tryzelaar
3a413aabd4
core: add str::as_bytes function
...
This pattern is used in a couple places, so it'd be nice
to abstract it away.
2012-02-08 10:18:36 -08:00
Niko Matsakis
526e73d7f8
make shape code use the tydesc found in the box, not the shape str
2012-02-08 09:14:59 -08:00
Graydon Hoare
3a1e33e134
Register new snapshots.
2012-02-08 07:58:42 -08:00
Marijn Haverbeke
8ffd6e4e8a
Suppress warnings in compiletest
2012-02-08 10:45:50 +01:00
Marijn Haverbeke
0547d0cc5b
Monomorphize resource and variant constructors
...
Issue #1736
2012-02-08 10:45:50 +01:00
Brian Anderson
7c8d128e1f
bench: Add shootout-spectralnorm
2012-02-08 01:06:16 -08:00
Brian Anderson
708f7b927c
core: Export floor functions
2012-02-07 22:02:55 -08:00
Brian Anderson
9b01620e8d
rt: Don't ignore result of chdir. Fail hard for now with a FIXME
...
My gcc won't let the result of this function be ignored.
2012-02-07 20:28:57 -08:00
Brian Anderson
6cf40bd0c4
std: Use correct split function in generic_os::env
2012-02-07 20:20:58 -08:00
Graydon Hoare
93450abb4b
Make process-spawning take environments and working directories, remove procsrv task from compiletest.
2012-02-07 19:57:03 -08:00
Tim Chevalier
5131216fa6
Restore a comment that got lost (comments only)
2012-02-07 17:08:03 -08:00
Brian Anderson
0c13ee22ad
core: Use substr in extfmt instead of slice_bytes
2012-02-07 16:34:02 -08:00
Kevin Cantu
1aa23947a6
core: add str::splitn_char and fix str::splitn_char_iter
2012-02-07 16:25:35 -08:00
Kevin Cantu
2b0396c34a
core: make str::substr use char positions (and replace other uses)
2012-02-07 16:25:35 -08:00
Kevin Cantu
a3f5626ad1
String split renaming:
...
* Renamed str::split -> str::split_byte
* Renamed str::splitn -> str::splitn_byte
* Renamed str::split_func -> str::split
* Renamed str::split_char -> str::split_char
* Renamed str::split_chars_iter -> str::split_char_iter
* Added u8::is_ascii
* Fixed the behavior of str::split_str, so that it matches split_chars
and split (i.e. ["", "XXX", "YYY", ""] == split_str(".XXX.YYY.", "."))
* Fixed str::split_byte and str::splitn_byte so that they handle
splitting UTF-8 strings on a given UTF-8/ASCII byte and also handle ""
as the others do
2012-02-07 16:25:35 -08:00
Brian Anderson
159aebc28b
core: Whitespace policia
2012-02-07 15:08:54 -08:00
Magnus Auvinen
a5fc0b08de
added some documentation and made the memcpy and memmove unsafe
2012-02-07 15:08:54 -08:00
Magnus Auvinen
3e9859362b
made leak an intrinsic to avoid a c-call. added memmove and memcpy intrinsics
2012-02-07 15:08:54 -08:00
Tim Chevalier
a63780afce
Minor class-related tweaks to the AST
2012-02-07 12:15:59 -08:00
Marijn Haverbeke
47143ee24a
Stop storing cmp glue in tydescs
...
There's no such thing anymore, we can simply call upcalls.cmp_type.
2012-02-07 14:37:10 +01:00
Marijn Haverbeke
b28a5552e3
Reuse monomorphized functions for different box types
...
The free glue for opaque boxes will pick the actual tydesc out of the
box, and call its glue.
Issue #1736
2012-02-07 14:36:02 +01:00
Brian Anderson
3bd0338c19
Revert "log to stderr instead of stdout"
...
This is causing mysterious hangs on windows. Issue #1769 .
This reverts commit d65eabd5de
.
2012-02-06 18:29:58 -08:00
Jyun-Yan You
5563eab227
change gcc_args to cc_args and make win32 use gcc
2012-02-06 17:57:22 -08:00
Jyun-Yan You
98bb5b73a5
use cc instead of gcc
2012-02-06 17:56:41 -08:00
Marijn Haverbeke
87a488048d
Make keyword table in reference reflect reality more closely
...
And remove the part about reserved words.
2012-02-06 22:03:17 +01:00
Marijn Haverbeke
a08e589390
Handle built-in typenames in the resolve pass, rather than in parser
...
Closes #1728
Comments out a section of debuginfo.rs. This code was already broken
(only being called when --xg was passed, and only working on trivial
programs).
2012-02-06 17:06:19 +01:00
Marijn Haverbeke
8673c4f195
Make ty::t type self-sufficient
...
It is now no longer needed to have a ty::ctxt to get at the contents
of a ty::t. The straight-forward approach of doing this, simply making
ty::t a box type, unfortunately killed our compiler performance (~15%
slower) through refcounting cost. Thus, this patch now represents
ty::t as an unsafe pointer, assuming that the ty::ctxt, which holds
these boxes alive, outlives any uses of the ty::t values. In the
current compiler this trivially holds, but it is does of course add a
new potential pitfall.
ty::get takes a ty::t and returns a boxed representation of the type.
I've changed calls to ty::struct(X) to do ty::get(X).struct. Type
structs are full of vectors, and copying them every time we wanted to
access them was a bit of a cost.
2012-02-06 16:53:25 +01:00
Marijn Haverbeke
6ed8d03784
Make sure iface_methods are set before they are accessed
...
Closes #1761
2012-02-06 09:56:42 +01:00
Ian D. Bollinger
d1158ca333
Removed sendfn from badwords and made the precedence of XOR between that of OR and AND.
2012-02-06 09:56:41 +01:00
Marijn Haverbeke
91da710d86
Add monad iface test
2012-02-06 09:56:41 +01:00
Marijn Haverbeke
e0fa5cd2ed
Self types for ifaces
...
This allows a 'Name:' to appear in front of an iface declaration's
name, which will cause 'Name' to refer to the self type (with the same
number of type parameters as the iface has) in the method signatures
of the iface. For example:
iface F: functor<A> {
fn fmap<B>(f: fn(A) -> B) -> F<B>;
}
Issue #1718
2012-02-06 09:56:41 +01:00
Marijn Haverbeke
5c42e3df9c
Allow non-semicolon-requiring expressions to be followed by .field
...
There is no valid expression that starts with a dot token (.5 is a number token),
so this introduces no ambiguities.
Issue #1716
2012-02-06 09:13:32 +01:00
Brian Anderson
da61e1ff15
test: Add test for issue #1460
2012-02-05 20:42:05 -08:00
Erick Tryzelaar
be35893834
core: Implement str::escape with str::chars_iter.
2012-02-05 19:42:56 -08:00
Erick Tryzelaar
1a7aa20eab
vim: block is no longer a keyword.
2012-02-05 19:42:56 -08:00
Brian Anderson
1b3339df63
test: Issue #953 , not #959
2012-02-05 18:29:07 -08:00
Brian Anderson
292f3e0958
test: Add an xfailed test for issue #959
2012-02-05 18:27:15 -08:00
Brian Anderson
cbeeb13dfd
test: Add an xfailed test for issue #929
2012-02-05 18:24:17 -08:00
Brian Anderson
80cd6aa96e
test: Update and un-xfail compile-fail/tag-that-dare-not...
2012-02-05 18:06:54 -08:00
Brian Anderson
0b43bf9782
test: Add test for #901 . Closes #901
2012-02-05 17:54:52 -08:00
Brian Anderson
c04b897cb2
core: Resolve some FIXMEs
2012-02-05 17:30:47 -08:00
Brian Anderson
34aa956e68
test: Resolve some FIXMEs
2012-02-05 17:05:24 -08:00
Brian Anderson
67b1034989
rustdoc: Resolve some FIXMEs
2012-02-05 16:38:18 -08:00
Brian Anderson
fdf50e84b8
std: Use ctypes::c_int in path_is_dir
2012-02-05 16:21:52 -08:00
Kevin Atkinson
b7ec2488ff
Fix macro backtraces.
...
In addition add information about the macro doing the expansion, and
move the printing of the expansion backtrace from codemap::span_to_str
to the diagnostic code. The backtrace is now more verbose and
includes information on the macro doing the expansion, in addition to
the expansion site.
2012-02-05 15:38:27 -08:00
Kevin Atkinson
1d855ebc51
Remove support for $(...) form of quasi-quotes, use #ast{...} instead.
2012-02-05 15:38:27 -08:00
Brian Anderson
91b6dc5c8e
Merge remote-tracking branch 'erickt/master'
...
Conflicts:
src/libcore/vec.rs
src/libstd/getopts.rs
2012-02-05 15:15:21 -08:00
Kevin Cantu
6be25c8a0c
Adding str::reserve
2012-02-05 14:56:16 -08:00
Kevin Cantu
d3dfe8758d
Making vec::reserve reserve precisely the size given (untested)
2012-02-05 14:56:16 -08:00
Niko Matsakis
9f0239ce9c
add a test where mode inference ought to fail
2012-02-05 13:59:09 -08:00
Niko Matsakis
dd51031390
new test case
2012-02-05 10:37:07 -08:00
Niko Matsakis
966504c828
don't fail if inference is not complete
2012-02-05 10:06:27 -08:00
Niko Matsakis
daf0d63a59
new test showing off the improved inference
2012-02-05 09:56:18 -08:00
Niko Matsakis
7f12358656
resolve some merge failures
2012-02-05 09:56:10 -08:00
Niko Matsakis
77b06d24cd
infer modes rather than overwriting with expected ty
2012-02-05 09:12:44 -08:00
Niko Matsakis
5163606d06
platform-specific valgrind suppression
2012-02-05 09:07:23 -08:00
Brian Anderson
30a671dc0c
bench: Tweak threadring benchmark so it pretty-prints
2012-02-04 20:34:51 -08:00
Brian Anderson
b4e221bf90
bench: Add threadring shootout benchmark
2012-02-04 20:01:55 -08:00
Brian Anderson
5d4b372902
Revert "bench: Add threadring shootout benchmark"
...
This reverts commit cdb246f832
.
2012-02-04 19:50:45 -08:00
Brian Anderson
cdb246f832
bench: Add threadring shootout benchmark
2012-02-04 18:00:59 -08:00
Brian Anderson
e818406072
rt: Expand rust_kernel::live_tasks to a uintptr_t
2012-02-04 01:15:00 -08:00
Brian Anderson
9fa950ec53
rt: Stop using atomic ops on rust_kernel::live_tasks
...
These ops are all done within spitting distance of a suitable lock,
so just protect it with the lock.
2012-02-04 00:31:43 -08:00
Brian Anderson
21d783c338
rt: Make isaac_init not a template
2012-02-03 23:48:12 -08:00
Brian Anderson
f7a727e861
rt: Remove some silly locks in rust_scheduler
2012-02-03 23:48:12 -08:00
Brian Anderson
c7777f4fd9
rt: Add sanity checks when we hit the max task/port id
2012-02-03 23:48:12 -08:00
Brian Anderson
12fa90888e
rt: Clean up the way the kernel tracks tasks
2012-02-03 23:48:12 -08:00
Brian Anderson
e7f00b6493
rt: Do all task creation through a scheduler
2012-02-03 23:48:12 -08:00
Brian Anderson
bf250bec7c
rt: Create new tasks through the current thread's scheduler
2012-02-03 23:48:12 -08:00
Brian Anderson
3d0e7a7af3
rt: Add a field to rust_task to hold its scheduler
2012-02-03 23:48:12 -08:00
Brian Anderson
8d881967a2
rt: Extract rust_scheduler from rust_task_thread
2012-02-03 23:48:12 -08:00
Brian Anderson
f94339cc1c
rt: Rename rust_scheduler to rust_task_thread
2012-02-03 23:48:12 -08:00
Tim Chevalier
f3343b3571
Beginnings of front-end support for classes
...
Added class support to the parser, prettyprinter, fold, and visit.
(See Issue 1726.)
This is WIP -- the test case is xfailed, and attempting to compile
it will error out in resolve.
2012-02-03 22:47:35 -08:00
Ted Horst
d65eabd5de
log to stderr instead of stdout
...
includes rustc diagnostics
runtest updated to check stderr for errors
2012-02-03 20:55:53 -08:00
Ted Horst
9b46e875cc
add third arg for output path, default to no output
2012-02-03 20:49:14 -08:00
Ted Horst
63ae16f752
fix formatting
2012-02-03 20:49:14 -08:00
Ted Horst
e7738ca38b
add mandelbrot image generator from shootout
2012-02-03 20:49:13 -08:00
Graydon Hoare
8fc624bc08
Fix various drift issues in the qq branch.
2012-02-03 20:54:18 -07:00
Kevin Atkinson
dbb13883f7
Additional testcase.
2012-02-03 20:54:18 -07:00
Kevin Atkinson
3604f36938
Implement folding of ast::ty.
2012-02-03 20:54:17 -07:00
Kevin Atkinson
42e25b2bb9
Type anti-quotes now work, add test case.
2012-02-03 20:54:17 -07:00
Kevin Atkinson
5f6a1159bb
Fix q-q so that non-expression q-q actually work when there is embed anti-q.
2012-02-03 20:54:00 -07:00
Kevin Atkinson
a2dde9a692
Allow anti-quotes to also be ast::ty rather than just ast::expr.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
f7fab77102
Add testcase.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
6dcd12dc22
Implement quasi-quoting of multiple syntatic categories.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
35a199c036
Formatting cleanups.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
9090a5c03b
Store info about file "substr".
...
That is when a string that is part of a file needs to be parsed for a
reason, record that the string is a substr of the file rather than
using "<anon>" or "-" as the file name. This will eventually allow
pointing to the right location, for now it just uses a more
meaningful string for the filename.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
4d71285c93
Implement quasi-quotes in more macro form: #ast{...}.
...
The #(...) form is still supported for now.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
1c91fb4d91
Don't rely on filename to get a file from the filemap
...
as there may be more than one filemap with the same filename (in the
case of stdin for instance). This involved storing a pointer to the
filemap rather than the filename in location info such as
codemap::pos.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
4616117f17
Bug fix in lookup_byte_offset.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
da74a7f9ca
Make macro arg optional in syntax, again untested.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
5ea04c65c1
Add support for recognizing macro body, completely untested.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
e76fdeb3a6
Change the type for the macro body to also store the span.
...
Note: the body is the part of the macro syntax between the {}.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
099290bc73
When replacing $(...) with $0 preserve spacing for better error messages.
...
That is:
x + $(foo) + y
becomes:
x + $0 + y
not:
x + $0 + y
2012-02-03 20:41:37 -07:00
Kevin Atkinson
c0f9073557
Expand result of quasi-quote.
2012-02-03 20:39:00 -07:00
Kevin Atkinson
67e961c17f
Implement anti-quotes.
2012-02-03 20:38:44 -07:00
Kevin Atkinson
477714f08e
Implement "replace" function.
2012-02-03 20:28:12 -07:00
Kevin Atkinson
485e489ba2
Implement basic quasi-quoter. No anti-quotes yet.
2012-02-03 20:28:11 -07:00
Kevin Atkinson
98450d0dad
Rename AST builders to use uniform naming scheme. Also add a few more.
2012-02-03 20:28:11 -07:00
Kevin Atkinson
5ef53382ae
Add support for parsing quasi-quotes, doesn't do anything useful yet.
2012-02-03 20:23:49 -07:00
Kevin Atkinson
75edd9ff69
Move useful ast building functions into their own module.
2012-02-03 17:48:17 -08:00
Kevin Atkinson
9dcb674525
Add function to get a code snippet from a span,
...
and also to get the byte offset within a string from a span chpos.
2012-02-03 17:48:17 -08:00
Kevin Atkinson
e127bf680f
Fix byte_len in char_len_range to be what it is advertised.
2012-02-03 17:48:16 -08:00
Niko Matsakis
33f4a98388
correct to use enum keyword
2012-02-03 13:58:50 -08:00
Marijn Haverbeke
61367e3c27
Fix prefixing of logging paths with crate name
2012-02-03 22:12:09 +01:00
Brian Anderson
a57c15bf88
rustdoc: Add various sorting passes
2012-02-03 12:00:49 -08:00
Marijn Haverbeke
c976b7c623
Fix tests for str::le patch
2012-02-03 14:32:23 +01:00
Tom Lee
31b0d1b4bd
core: rename str::lteq to str::le
2012-02-03 14:09:44 +01:00
Marijn Haverbeke
633e4502e7
Clean up and update trans::ty_ctxt type definition
...
It had been messed up by the pretty-printer at some point, and was
partially out of date.
2012-02-03 14:09:16 +01:00
Marijn Haverbeke
3bcd4fe6fa
Start on in-crate monomorphizing
...
Adds a --monomorpize flag to rustc to turn it on. You probably don't
want to use it yet, since it's broken in a whole bunch of ways, but it
successfully monomorphizes simple generic functions called from within
the crate.
Issue #1736
2012-02-03 14:07:35 +01:00
Tom Lee
a02f332602
std: rename sort::lteq to sort::le.
2012-02-03 12:02:57 +01:00
Marijn Haverbeke
43ce38375d
Store item paths in ast_map, get rid of trans::local_ctxt
...
The direct motivation for this was that the monomorphizer needs to be
able to generate sane symbols for random items. The typechecker can
probably also use this in the future to provide more useful error
messages.
2012-02-03 11:34:12 +01:00
Marijn Haverbeke
c1b075d042
Remove experimental GC code
...
It's been sitting unused long enough to have bitrotted completely.
2012-02-03 11:34:12 +01:00
Brian Anderson
1ea184285e
rt: Change the win32 event object to an auto-reset event
...
The way I read the docs, having this be a manual reset event means
that after the first time it's signalled it stays that way until reset,
and we never, ever reset it.
2012-02-02 18:30:06 -08:00
Brian Anderson
3b4dd26ff1
rt: Remove lock_and_signal::signal_all
2012-02-02 18:29:03 -08:00
Brian Anderson
9c33f2c561
rt: Remove lock_and_signal::timed_wait
2012-02-02 18:25:49 -08:00
Brian Anderson
cd774fc5fa
rt: Stop waking up the scheduler on a timer
2012-02-02 18:23:01 -08:00
Brian Anderson
b1a090c7c4
rt: Remove unused arguments in rust_scheduler
2012-02-02 18:17:33 -08:00
Brian Anderson
6c632c71c6
rt: Simplify reap_dead_tasks
2012-02-02 18:10:24 -08:00
Brian Anderson
f719ea552b
rt: Remove rust_scheduler::interrupt_flag. Unused
2012-02-02 18:10:24 -08:00
Brian Anderson
aee83d2ff1
rt: Only wake up all schedulers when no tasks are left
...
At the moment there's not really any reason to be raising this signal,
since they schedulers wake up periodically anyway, but once we remove
the timer this will be how the schedulers know to exit.
2012-02-02 18:10:24 -08:00
Brian Anderson
5c3c8d454d
rt: Do all signalling while holding a lock
...
This will matter once the scheduler is changed to not wake up on a timer
2012-02-02 18:10:24 -08:00
Brian Anderson
5449b886d3
rt: Remove bogus task reaping from the scheduler
2012-02-02 18:10:24 -08:00
Brian Anderson
3978fbff8b
rt: Remove rust_task::can_schedule. Does nothing
2012-02-02 18:10:24 -08:00
Brian Anderson
ed3a5ad5ad
rt: Remove running_on flag. Does nothing
2012-02-02 18:10:24 -08:00
Brian Anderson
57cad61353
rt: Remove task pinning. Does nothing
2012-02-02 18:10:24 -08:00
Brian Anderson
18de0f2aeb
rt: Rename task_sleep intrinsic to task_yield. Remove usec param
2012-02-02 18:10:24 -08:00
Brian Anderson
8693fcc2d7
rt: Remove yield timers
2012-02-02 18:10:24 -08:00
Brian Anderson
7f2980b749
rt: Remove bitrotted tests
2012-02-02 18:10:24 -08:00
Brian Anderson
65f4b0587a
rt: Generate intrinsics
2012-02-02 18:10:23 -08:00
Brian Anderson
bda40e2e4a
rt: Fix intrinsics bustage
...
intrinsics.cpp and the file to generate the ll had bitrotted.
2012-02-02 18:10:23 -08:00
Graydon Hoare
c485301d21
Update libuv.
2012-02-02 17:39:47 -08:00
Graydon Hoare
6784b18303
Win32 warning police.
2012-02-02 11:35:07 -08:00
Marijn Haverbeke
6a7de641da
Add test case for issue #1733
2012-02-02 10:30:07 +01:00
Marijn Haverbeke
743c62e1ce
Fix assumption in mut.rs that op overloading breaks
...
Closes #1733
2012-02-02 08:11:20 +01:00
Brian Anderson
2b67de06c8
rustdoc: Add support for type items
2012-02-01 22:41:54 -08:00
Kevin Cantu
ae0d49aa06
Rename str::char_slice -> str::slice
2012-02-01 21:56:53 -08:00
Kevin Cantu
fc9169f09c
Make the tests work, too
2012-02-01 21:56:53 -08:00
Kevin Cantu
8f367ebfeb
Rename (again) str::unsafe::slice -> str::unsafe::slice_bytes and
...
str::unsafe::safe_slice -> str::unsafe::slice_bytes_safe_range
2012-02-01 21:56:53 -08:00
Kevin Cantu
01c01f68af
Stop exporting str::slice and str::safe_slice (use unsafe instead)
2012-02-01 21:56:53 -08:00
Kevin Cantu
c71667d9d2
Propagating unsafe::slice 4
2012-02-01 21:56:53 -08:00
Kevin Cantu
fceec03da0
Propagating unsafe::slice 3
2012-02-01 21:56:53 -08:00
Kevin Cantu
6156bc56cb
Propagating unsafe::slice 2
2012-02-01 21:56:53 -08:00
Kevin Cantu
47c57a17dc
Propagating unsafe::slice 1
2012-02-01 21:56:53 -08:00
Kevin Cantu
4e406d7fdd
Make it work 1
2012-02-01 21:56:53 -08:00
Kevin Cantu
cccf9e5389
Copy str::slice -> str::unsafe::slice (and unsafe_slice)
2012-02-01 21:56:53 -08:00
Kevin Cantu
5a19bafeea
Actually export the str::unsafe module for now
2012-02-01 21:56:53 -08:00
Niko Matsakis
af2dd9b3b7
register new snapshot, revert USE_SNAPSHOT_RUNTIME setting
2012-02-01 21:02:19 -08:00
Niko Matsakis
196d69beb2
make boxes self-describing ( fixes #1493 )" (take 2)
...
this will be used to generate a new snapshot.
2012-02-01 18:52:08 -08:00
Niko Matsakis
3116643806
Revert "make boxes self-describing ( fixes #1493 )" until a new
...
snapshot is prepared.
2012-02-01 18:50:19 -08:00
Niko Matsakis
c36207bfb8
make boxes self-describing ( fixes #1493 )
2012-02-01 18:18:07 -08:00
Tim Chevalier
49cb3fc7df
Remove remaining references to option::t outside option itself
2012-02-01 16:49:57 -08:00
Brian Anderson
4eb92d4177
rt: Don't access fields on null supervisor task
2012-02-01 16:46:11 -08:00
Brian Anderson
f76e6c39f6
rt: Fix lock_held_by_current_thread
...
This simplifies the check for thread ownership by removing the _locked flag
and just comparing against the thread ID of the last thread to take the lock.
If the running thread took the lock _holding_thread will be equal to
pthread_self(); if _holding_thread is some other value then the running thread
does not have the lock.
Setting a pthread_t to 0 like this is not portable but should work on every
platform we are likely to care about for the near future.
2012-02-01 16:06:58 -08:00
Brian Anderson
6b5f7865be
rt: Remove unused variable from lock_and_signal
2012-02-01 16:06:21 -08:00
Brian Anderson
f954ce5ef1
rt: Remove calls to signal the kernel lock
...
Nobody ever waits for it
2012-02-01 16:05:17 -08:00
Brian Anderson
5c89938544
rt: Remove rust_timer. Unused
2012-02-01 16:05:17 -08:00
Brian Anderson
d24eb58a09
core: Ignore should_fail tests on win32
2012-02-01 15:35:59 -08:00
Marijn Haverbeke
694de53d28
Make vec::pop efficient
2012-02-01 12:23:13 +01:00
Marijn Haverbeke
2dbaa05af8
Remove support for native types
...
Issue #1673
2012-02-01 12:23:13 +01:00
Marijn Haverbeke
856a544d0c
Remove native types from stdlib
2012-02-01 12:23:13 +01:00
Marijn Haverbeke
c6aead7281
Get rid of native types in LLVM module
...
Code is still somewhat kludgy because we don't have 32-bit enums.
Issue #1673
2012-02-01 12:23:13 +01:00
Brian Anderson
f6f3d518e6
rustdoc: Split the pruning of undocumented branches into two passes
...
prune_undoc_details_pass strips arguments and return values that are
undocumented. prune_undoc_items_pass prunes entire items.
2012-01-31 21:54:16 -08:00
Tim Chevalier
e204aa281d
Merge branch 'master' into register-snapshots
2012-01-31 21:08:53 -08:00
Brian Anderson
e8a5d81b24
rustdoc: Add impl docs to demo mod
2012-01-31 20:59:42 -08:00
Brian Anderson
77824cf2ed
rustdoc: Write markdown for impls
2012-01-31 20:54:46 -08:00
Tim Chevalier
11ecec1b71
register snapshots
2012-01-31 20:49:00 -08:00
Brian Anderson
f9f9388874
rustdoc: Apply string ops to impl docs
2012-01-31 20:42:06 -08:00
Brian Anderson
3f1534ad72
rustdoc: Promote impl descriptions to brief descriptions
2012-01-31 20:31:52 -08:00
Brian Anderson
d7a2837c55
rustdoc: Prune undocumented impls
2012-01-31 20:24:31 -08:00
Brian Anderson
fee9037765
rustdoc: Refactor tests
2012-01-31 19:32:27 -08:00
Brian Anderson
496205c85f
rustdoc: Pull impl docs out of attributes
2012-01-31 19:32:27 -08:00
Brian Anderson
23042a3566
rustdoc: Gather types of impls
2012-01-31 19:32:27 -08:00
Brian Anderson
b7108d71a5
rustdoc: Rename impldoc.for_ty to self_ty
2012-01-31 19:32:27 -08:00
Brian Anderson
c218b65fd8
rustdoc: Prune unexported impls
2012-01-31 19:32:27 -08:00
Brian Anderson
7d6cf37a8d
rustdoc: Extract impl doc nodes from AST
2012-01-31 19:32:27 -08:00
Brian Anderson
acb11f47dc
rustdoc: Add impl doc node
2012-01-31 19:32:27 -08:00
Niko Matsakis
56db37d4c7
add iter library in preliminary form (limited syntactic support)
2012-01-31 19:21:26 -08:00
Tim Chevalier
e5d095d67e
Change option::t to option
...
Now that core exports "option" as a synonym for option::t, search-and-
replace option::t with option.
The only place that still refers to option::t are the modules in libcore
that use option, because fixing this requires a new snapshot
(forthcoming).
2012-01-31 17:05:20 -08:00
Kevin Cantu
1f795ff3b0
Re-implementing str::to_upper and str::to_lower using str::map
2012-01-31 14:29:11 -08:00
Kevin Cantu
a8b657397a
Add str::split_chars_iter and str::splitn_chars_iter
2012-01-31 14:29:11 -08:00
Kevin Cantu
ebf14cb3a9
Rename str::iter_chars -> str::chars_iter
2012-01-31 14:29:11 -08:00
Kevin Cantu
c7454f5595
Rename str::to_chars -> str::chars
2012-01-31 14:29:11 -08:00
Kevin Cantu
685a434e0a
Rename str::loop_chars to str::all,
...
rename str::loop_chars_sub to str::substr_all, and
propagate this change to std::rope and rustdoc's calls to these
2012-01-31 14:29:11 -08:00
Kevin Cantu
be9129f556
Comment fixes in str
2012-01-31 14:29:11 -08:00
Kevin Cantu
03b8c8df01
Rename str::from_byte(s) to str::unsafe::from_byte(s),
...
mark them as unsafe,
make comp/driver/driver.rs use str::from_bytes...
2012-01-31 14:29:10 -08:00
Graydon Hoare
24668d7578
Merge pull request #1713 from killerswan/manpg
...
Updating the manpage and usage message
2012-01-31 14:09:48 -08:00
Graydon Hoare
fb236b0bb6
Merge branch 'master' of github.com:mozilla/rust
2012-01-31 12:51:53 -08:00
Tim Chevalier
45c1dfe5b3
Don't compute pre- and postconditions for item_consts
...
Since item_consts can't refer to or modify local variables, they
don't participate in typestate and thus get empty pre and
postconditions by default.
Closes #1660
2012-01-31 11:52:46 -08:00
Graydon Hoare
f7d756fcac
Remove NSIS package, obsolete (and hazardous).
2012-01-31 11:46:47 -08:00
Tim Chevalier
fba35e1a3c
Require alts to be exhaustive
...
middle::check_alt does the work. Lots of changes to add default cases
into alts that were previously inexhaustive.
2012-01-31 10:08:24 -08:00
Marijn Haverbeke
813a55d891
Move walk_ty to stack closure
2012-01-31 13:02:46 +01:00
Marijn Haverbeke
25d60172d6
Don't consider references to nullary tag variants lvals in kind.rs
...
This allows us to express option::map with noncopyable type
parameters, which makes sense, since the type params aren't being
copied (none doesn't contain any).
2012-01-31 13:02:46 +01:00
Brian Anderson
b9bb58f104
core: Add ctypes::c_char
2012-01-30 22:08:57 -08:00
Brian Anderson
19b9a0d363
rustdoc: Reenable a working test
2012-01-30 21:02:03 -08:00
Brian Anderson
868d9c753c
rustdoc: Add some rustdocs
2012-01-30 21:01:09 -08:00
Brian Anderson
bc450e60c3
rustdoc: Add ifaces to demo module
2012-01-30 20:54:02 -08:00
Brian Anderson
38197d8728
rustdoc: Write markdown for ifaces
2012-01-30 20:53:52 -08:00
Brian Anderson
f4aba18ae7
rustdoc: Apply generic string ops to ifaces
2012-01-30 19:37:32 -08:00
Brian Anderson
fd7bb70d6f
rustdoc: Promote iface descriptions to brief descriptions
2012-01-30 19:37:32 -08:00
Brian Anderson
a64030697b
rustdoc: Prune undocumented ifaces
2012-01-30 19:37:32 -08:00
Brian Anderson
2c495a9bf8
rustdoc: Add iface attribute docs to the doc tree
2012-01-30 19:37:32 -08:00
Brian Anderson
b8a683415c
rustdoc: Add attribute parsing for ifaces and methods
2012-01-30 19:37:32 -08:00
Brian Anderson
dd1564a6d3
rustdoc: Add iface method type info to the doc tree
2012-01-30 19:37:32 -08:00
Brian Anderson
c775798124
rustdoc: Add a test that unexported ifaces are pruned
2012-01-30 19:37:32 -08:00
Brian Anderson
cb4a383922
rustdoc: Extract iface doc nodes from the AST
2012-01-30 19:37:32 -08:00
Brian Anderson
d3aa174846
rustdoc: Add definition of iface docs
2012-01-30 19:37:32 -08:00
Kevin Cantu
8abcafe7ad
Updating the manpage and usage message
2012-01-30 19:02:20 -08:00
Brian Anderson
fe745f1b5d
rustdoc: Use fewer unique pointers
2012-01-30 13:05:25 -08:00
Brian Anderson
0e498da47e
rustc: Allow attributes on methods. Closes #1709
2012-01-30 11:43:45 -08:00
Paul Woolcock
6ba3d24355
Remove ternary operator
...
`expr_ternary`, `ternary_to_if`, and all parses & lexer definitions have
been removed.
2012-01-30 18:21:19 +01:00
Paul Woolcock
a02493b969
Fix last failing test
...
All tests now pass, without the ternary operator.
2012-01-30 18:21:12 +01:00
Paul Woolcock
e1251f7b00
Change all ternary ops to if/then/else
...
All the files below had at least one instance of the ternary operator
present in the source. All have been changed to the equivalent
if/then/else expression.
2012-01-30 18:21:01 +01:00
Paul Woolcock
e1f15a71e3
Alter/remove tests that include/concern ternary
...
3 tests, pretty/block-disambig.rs, run-pass/operator-overloading.rs,
and run-pass/weird-exprs.rs, all included the ternary operator. These
were changed to use the if-then-else construct instead.
2 tests, run-pass/block-arg-in-ternary.rs and run-pass/ternary.rs, were
only there because of the ternary operator, and were removed.
2012-01-30 18:20:05 +01:00
Marijn Haverbeke
86d473ad1f
Substitute type parameters more eagerly
...
This simplifies the typechecker a bit (no more ty_param_substs_opt_and_ty)
and is needed for another experiment I'm playing with. I hope it also
makes compilation faster (the bots will tell).
2012-01-30 17:28:30 +01:00
Marijn Haverbeke
964bd485c6
Revert self types
2012-01-30 11:37:52 +01:00
Marijn Haverbeke
98c3396ab6
Remove trailing whitespace in debuginfo.rs
2012-01-30 10:21:25 +01:00
Marijn Haverbeke
55c938b2c2
Only build debuginfo blocks for blocks that appear in the program text
...
I.e. a set of curly braces, not everything that creates a block
context in the trans pass.
Issue #1694
2012-01-30 10:06:06 +01:00
Brian Anderson
0ec92a4ca7
rustc: Add a missing llvm linkage type
2012-01-29 23:27:54 -08:00
Brian Anderson
c77f1d47f8
rustc: Add some missing llvm defs. Fix comments
2012-01-29 23:10:39 -08:00
Brian Anderson
fa13fd9d64
rt: Remove set_min_stack
2012-01-29 21:27:37 -08:00
Brian Anderson
cad4918b2a
core: Remove sys::set_min_stack
...
This was a temporary hack with global effect. Eventually there will
be a real solution for controlling stack sizes.
2012-01-29 21:27:09 -08:00
Brian Anderson
6548cdd59b
rt: Make the initial segment of the main task's stack 1MB
...
This is a trick to fool microbenchmarks. Closes #1681
2012-01-29 21:20:39 -08:00
Brian Anderson
361f90e618
rustdoc: Sort the items so modules are printed last
2012-01-29 14:51:09 -08:00
Brian Anderson
07ac2e1043
rustdoc: Add a sorting pass
2012-01-29 14:15:14 -08:00
Brian Anderson
55e69eb458
rustdoc: Extract method to get item names
2012-01-29 13:36:54 -08:00
Brian Anderson
dbe2928c4d
rustdoc: Fix typo in attr_pass
2012-01-29 13:25:38 -08:00
Brian Anderson
f8c93bdbe1
rustdoc: Move mod docs into the item tag
2012-01-29 13:08:18 -08:00
Brian Anderson
9732e0d554
rustdoc: Move fn docs into the item tag
2012-01-29 12:47:06 -08:00
Brian Anderson
5aa6c3a49a
rustdoc: Move const docs into the item tag
2012-01-29 12:46:26 -08:00
Brian Anderson
95e2b1b8f9
rustdoc: Add test that unexported resources are pruned
2012-01-29 11:38:44 -08:00
Brian Anderson
d56a4dd04b
rustdoc: Move enum docs into the item tag
2012-01-29 11:38:44 -08:00
Brian Anderson
40cbc89b6f
rustdoc: Move resource docs into the item tag
2012-01-29 11:38:44 -08:00
Brian Anderson
bfd8a14065
rustdoc: Create an item tag to hold doc for all item types
2012-01-29 11:38:44 -08:00
Marijn Haverbeke
2740a6b605
Fix mistake in previous commit
2012-01-29 19:57:57 +01:00
Marijn Haverbeke
d6996c0210
Fix bug where resolve didn't descend method ty params
...
Closes #1700
2012-01-29 19:46:36 +01:00
Erick Tryzelaar
29ba196336
Adding a function to concatanate vectors with a separator
2012-01-28 15:41:53 -08:00
Erick Tryzelaar
5b2c0a999f
std: Whitespace cleanup.
2012-01-28 09:18:35 -08:00
Erick Tryzelaar
f98210db07
core: Flesh out vec find functions.
2012-01-28 09:18:34 -08:00
Erick Tryzelaar
025e6ff158
core: add vec spliting functions.
2012-01-28 09:18:34 -08:00
Erick Tryzelaar
1be3a7c263
core: add (,r)position(,_from) functions
...
This is to help search through a vector better.
2012-01-28 09:18:34 -08:00
Erick Tryzelaar
259636a112
core: rename vec::position* functions
...
Almost all of the vec functions that predicates don't have a
corresponding function that takes a single element, so this
commit renames the common fn usecase to be the default.
2012-01-28 09:18:34 -08:00
Josh Matthews
a831e7ce13
Merge remote-tracking branch 'mozilla/master'
2012-01-28 11:50:48 -05:00
Josh Matthews
fcb381410d
Disable lexical block and function debug info caches to improve compilation time while #1694 is unfixed, and fix stack-exhaustion bug in block parent generation.
2012-01-28 11:50:26 -05:00
Brian Anderson
fc5ec630d4
rt: Remove unused variable
2012-01-27 18:45:43 -08:00
Brian Anderson
53dbde6cc2
rustc: Make 'attempted access of field' error non-fatal
2012-01-27 16:58:27 -08:00
Brian Anderson
3321880f13
Merge remote-tracking branch 'killerswan/fixing_strings_2'
...
Conflicts:
src/comp/driver/driver.rs
src/comp/middle/trans/base.rs
src/comp/syntax/parse/lexer.rs
2012-01-27 16:44:40 -08:00
Brian Anderson
7e620f87a6
std: Long lines
2012-01-27 15:11:45 -08:00
Donovan Preston
6b42e6b298
Re-apply fixes brson made.
2012-01-27 15:07:29 -08:00
Donovan Preston
3d76922f97
Implement timers.
2012-01-27 14:04:13 -08:00
Marijn Haverbeke
e48bf6f3f4
Make occurs check in ty::fixup_vars more reliable
...
It wouldn't detect cycles that went through several type vars before.
Closes #1464
2012-01-27 18:58:52 +01:00
Marijn Haverbeke
362625008a
Allow moving out of mutable unsafe pointers
...
This makes it possible to de-initialize values anywhere in
memory, which is needed, for example, for a fast imlementation
of vec::pop.
2012-01-27 17:15:40 +01:00
Marijn Haverbeke
dc55c06aa3
Properly check enum types for recursion
...
Closes #742
2012-01-27 16:03:43 +01:00
Marijn Haverbeke
03e9dac09a
Move various trans_ modules under a trans:: umbrella module
...
Closes #1304
2012-01-27 13:20:36 +01:00
Marijn Haverbeke
b3f06c7d54
Stop passing spans to middle::trans functions that don't need them
...
Removes a bunch of (eventually) unused arguments. Makes span passing to debuginfo
explicit, instead of relying on the (usually incorrect) spans held in the contexts.
Closes #1439
2012-01-27 13:20:36 +01:00
Marijn Haverbeke
b80f0a3c9f
Use the method name 'unary-' for overloading negation
...
It's less likely to clash with something than 'neg'.
Issue #1520
2012-01-27 10:06:53 +01:00
Brian Anderson
7b67e2d274
rustdoc: Write both crates and mods as header level 1
2012-01-26 23:16:42 -08:00
Brian Anderson
7c925cfaaf
core: Long lines
2012-01-26 23:12:30 -08:00
Brian Anderson
7820c2f17a
Merge pull request #1684 from rtanglao/master
...
rustdocs for f32.rs and f64.rs
2012-01-26 23:00:06 -08:00
Brian Anderson
094f91b685
rustdoc: Write markdown for resources
2012-01-26 22:54:20 -08:00
Brian Anderson
ca0aefa8bf
rustdoc: Add resource arg tys to doc tree
2012-01-26 22:54:16 -08:00
Roland Tanglao
4e1bf8d692
rustdocs for f32.rs and f64.rs
2012-01-26 22:46:39 -08:00
Brian Anderson
e51ae23317
rustdoc: Apply generic string-op passes to resources
2012-01-26 22:27:13 -08:00
Brian Anderson
4c188fb82f
rustdoc: Promote resource long descriptions to brief descriptions
2012-01-26 22:19:47 -08:00
Brian Anderson
21fc2a36d8
rustdoc: Build resource arguments as well
2012-01-26 22:14:16 -08:00
Brian Anderson
06ab83de2c
rustdoc: Prune undocumented resources
2012-01-26 22:07:14 -08:00
Brian Anderson
ce7d150493
rustdoc: Add resource attribute docs to the doc tree
2012-01-26 21:39:20 -08:00
Brian Anderson
2efc6004b5
rustdoc: Parse resource doc attributes
2012-01-26 21:20:17 -08:00
Brian Anderson
97a1110c5f
rustdoc: Add resource signatures to doc tree
2012-01-26 20:59:15 -08:00
Brian Anderson
9f80a17c0e
rustc: Add pprust::res_to_str
2012-01-26 20:54:36 -08:00
Brian Anderson
e44467a47f
rustdoc: Add resources to the doc fold
2012-01-26 20:34:16 -08:00
Brian Anderson
23e9f7a1b6
rustdoc: Extract resources from the AST
2012-01-26 20:34:16 -08:00
Brian Anderson
7cf725355a
rustdoc: Add a resource node to the doc tree
2012-01-26 20:34:16 -08:00
Brian Anderson
f0ba69a96f
Remove the --no-core command-line option
...
It is superceeded by the #[no_core] attribute
2012-01-26 20:30:46 -08:00