Commit graph

6502 commits

Author SHA1 Message Date
Jyun-Yan You
274fc1b59c fix link error 2012-01-01 20:18:55 -08:00
Jyun-Yan You
21eadbe6f1 add missing library, enable segmented stacks for freebsd 2012-01-01 20:18:55 -08:00
Jyun-Yan You
d4884b6c6e forgot to add parentheses 2012-01-01 20:18:55 -08:00
User Jyyou
a59c4b1b47 freebsd support 2012-01-01 20:18:55 -08:00
Lenny222
f8d7a1c258 "str": extract to_upper/lower_case() into "char" 2012-01-01 13:15:30 -08:00
Stefan Plantikow
16405386f0 core: added support for bessel functions 2011-12-31 03:45:17 +01:00
Stefan Plantikow
a72b1413ed Removed now obsolete mtypes module 2011-12-31 03:45:17 +01:00
Stefan Plantikow
57ac67a5aa core: killed all math wrappers 2011-12-31 03:45:17 +01:00
Stefan Plantikow
49d36c7f85 Trying to remove wrappers from float 2011-12-31 03:45:17 +01:00
Stefan Plantikow
c314a9cad1 added more ops to cmath 2011-12-31 03:45:17 +01:00
Stefan Plantikow
d124c6eda2 removes std::mtypes 2011-12-31 03:45:17 +01:00
Stefan Plantikow
e0cd06053a added useful constants to math 2011-12-31 03:45:17 +01:00
Niko Matsakis
8319b5a252 add cap clause to pretty printer, with a test 2011-12-30 16:25:55 -08:00
Graydon Hoare
bfc9a499c2 Print usage messages to rustc and rustdoc when invoked with no args. Close #1394. 2011-12-30 15:26:49 -08:00
Lenny222
ab2a643f27 add test for list:is_empty() 2011-12-30 10:54:31 +01:00
Niko Matsakis
aa5382bb13 split proto from fn_decl, as not all fn_decls know the proto.
this will address the (crashing) new test added.
2011-12-29 20:29:28 -08:00
Graydon Hoare
ca7d389e1d Of course there were overlong lines. 2011-12-29 17:30:43 -08:00
Graydon Hoare
1cd132eef0 Teach unicode script to emit canonical and compat decomp mappings. Annoyingly large encoding. 2011-12-29 17:24:04 -08:00
Graydon Hoare
36c55b20a8 Add support in lexer for utf8 identifiers. No NFKC logic in char yet. 2011-12-29 14:45:18 -08:00
Lenny222
d07c6e8a0e list: use predicate to enforce non-empty requirement 2011-12-29 21:24:03 +01:00
Graydon Hoare
5fd0a3be0c Save and restore xmm regs across the call to UPCALL_NEW_STACK during __morestack, close #1388. 2011-12-29 11:49:29 -08:00
Graydon Hoare
884adf38a1 Remove obsolete comments. 2011-12-29 10:21:05 -08:00
Marijn Haverbeke
816b0ac8ae Box ty_param_bounds_and_ty
It contains a vector, which shouldn't be copied all the time.
2011-12-29 09:29:08 +01:00
Graydon Hoare
2ed1005bd7 On second thought, re-land pull request #1385 with backquotes; easier to grep, can change in the future. 2011-12-28 13:41:31 -08:00
Graydon Hoare
f2c88c1b80 Merge pull request #1385 from Lenny222/quotes
Use singlequotes in the typechecker error messages too, to distinguish code and English
2011-12-28 13:08:28 -08:00
Graydon Hoare
51227c1e8a Merge pull request #1389 from erickt/master
misc standard library additions
2011-12-28 13:05:02 -08:00
Marijn Haverbeke
9236fdf39f Move the kind datatype to middle::ty
The AST no longer references it.
2011-12-28 21:18:16 +01:00
Marijn Haverbeke
1ed6a27548 Change representation of type params to handle interface bounds
Issue #1227
2011-12-28 21:18:16 +01:00
Graydon Hoare
5930463faa Tidy up some drift in runtime logging, close #1380. 2011-12-28 11:53:12 -08:00
Erick Tryzelaar
b6cecdd4de libstd: add bytes_reader and bytes_writer
This parallels nicely with string_reader and string_writer, but
working with raw byte strings. I'm not quite sure if the return
type for bytes_writer.get_bytes should be [u8] or [mutable u8]
though, so I'm arbitrarily picking mutable for now.
2011-12-28 11:19:41 -08:00
Erick Tryzelaar
1f0757c684 libstd: Allow io writer to write mutable arrays 2011-12-28 11:19:41 -08:00
Erick Tryzelaar
af41564747 libstd: add a method to generate random bytestrings. 2011-12-28 11:19:41 -08:00
Erick Tryzelaar
5d84652f51 comp: minor cleanup. 2011-12-28 11:19:41 -08:00
Erick Tryzelaar
38e796b943 libcore: Fix a typo. 2011-12-28 11:19:41 -08:00
Stefan Plantikow
7fd62bb2b5 Made matching machine types equal to float, int, uint (fixes #1376) 2011-12-28 18:02:49 +01:00
Brian Anderson
b9b9b3e570 rt: Set the initial obstack size to 128 bytes
Double the size on each allocation
2011-12-25 19:18:05 -08:00
Lenny222
0b9751b141 Use singlequotes in the typechecker too, to distinguish code and English 2011-12-25 20:27:09 +01:00
Graydon Hoare
b3eb9a0031 Merge pull request #1382 from Lenny222/char
"char": add is_lowercase(), is_uppercase()
2011-12-24 11:55:39 -08:00
Graydon Hoare
900bc1298d Merge pull request #1377 from Lenny222/icu
std::unicode::icu: add "is*" functions + unit test
2011-12-24 11:54:07 -08:00
Lenny222
eb0cdc02e3 char: add is_lowercase(), is_uppercase() 2011-12-24 10:41:11 +01:00
Graydon Hoare
47271ab4c8 Forgot typo-fix. 2011-12-23 18:53:52 -08:00
Graydon Hoare
ac13f0da9e Add support to libcore for encoded-in-rust unicode character properties, at least. Add script to compute them from unicode.org. 2011-12-23 18:48:08 -08:00
Marijn Haverbeke
46cddffb8f Go back to a single visit_fn function in visit.rs 2011-12-23 18:45:02 +01:00
Marijn Haverbeke
711ff657e2 Get rid of visit_fn_block in visit.rs
It seems redundant and error-prone.
2011-12-23 18:24:49 +01:00
Marijn Haverbeke
25e65239ad Check impls methods against the type of their iface. 2011-12-23 18:11:36 +01:00
Marijn Haverbeke
057617c665 Parse iface items and interface references in impl items.
The (temporary) syntax is

    iface seq<T> {
        fn len() -> uint;
        fn iter(f: block(T));
    }

    // The 'blah<T>' can be left of to default the name of the
    // impl to seq<T>. The 'of seq<T>' can be left off when
    // not implementing a named interface.
    impl blah<T> of seq<T> for [T] {
        fn len() -> uint { vec::len(self) }
        fn iter(f: block(T)) { for x in self { f(x); } }
    }
2011-12-23 18:09:25 +01:00
Marijn Haverbeke
9292744959 Use the same type of record in ty::ty_fn and ty::method
Removes some more code duplication.
2011-12-23 16:11:35 +01:00
Marijn Haverbeke
970f5cc0e4 Make ast::ty_method hold a fn_decl, rather than duplicating its fields 2011-12-23 13:32:17 +01:00
Graydon Hoare
f0dfbe7b1b Register new snapshots, purge log_err and log_full in favour of log(...). 2011-12-22 17:53:53 -08:00
Graydon Hoare
ccb5b6fb25 Switch core macros to expand to log(level, ...). 2011-12-22 16:36:55 -08:00
Graydon Hoare
389329ef1e Merge all 3 log syntaxes, tidy up residual misuses. 2011-12-22 16:14:00 -08:00
Erick Tryzelaar
f816d8c71c cargo: Adding my package index. 2011-12-22 15:05:59 -08:00
Erick Tryzelaar
43a6bd110e Whitespace cleanup. 2011-12-22 15:05:59 -08:00
Graydon Hoare
dcd771cd48 Merge branch 'master' of github.com:graydon/rust 2011-12-22 14:50:52 -08:00
Graydon Hoare
8b580954fe Register snapshots and switch logging over to use of log_full or #error / #debug. 2011-12-22 14:42:52 -08:00
Lenny222
d812d06bc8 std::unicode: add functions, unit test 2011-12-22 22:58:38 +01:00
Marijn Haverbeke
9587c67230 Fix rustdoc for AST changes 2011-12-22 22:16:02 +01:00
Marijn Haverbeke
eacb629442 Work around unwinding bug
See issue #1374
2011-12-22 20:38:09 +01:00
Marijn Haverbeke
0490c36143 Unify some data structures in syntax::ast that were doing the same thing
As a preparation to removing some duplication in typeck.
2011-12-22 20:18:56 +01:00
Graydon Hoare
3b61064631 Revert all of yesterday's snapshots and try again. Cursed! 2011-12-22 10:30:04 -08:00
Graydon Hoare
47d27af228 Merge branch 'master' of github.com:graydon/rust 2011-12-22 09:30:03 -08:00
Graydon Hoare
8005f0c564 Register another snapshot. There was nothing redeeming about the last one. 2011-12-22 09:29:45 -08:00
Marijn Haverbeke
07d7f828cd Fix tag_var_cache to cache crate-external tags
And to not return a bogus mutable box.
2011-12-22 16:23:49 +01:00
Marijn Haverbeke
44f921c8a9 Do not use == and != to compare ty::t values
Issue #828
2011-12-22 15:05:38 +01:00
Marijn Haverbeke
3ee630bbee Add ty::new_ty_hash, clean up comparing of ty::t's 2011-12-22 15:05:38 +01:00
Marijn Haverbeke
e2e077c831 Remove trivial cast checker
I consider the added complexity not justified at this point, and it
interacts badly with the patches for issue #828. Feel free to discuss.
2011-12-22 15:04:00 +01:00
Lenny222
7beb21c6e3 tests: add corner case (empty list) 2011-12-22 08:59:22 +01:00
Lenny222
341e4151d6 json: to_str() also for "null" 2011-12-22 08:46:50 +01:00
Lenny222
6f5a0a3b3b json: add "null" 2011-12-22 08:46:49 +01:00
Graydon Hoare
047b02d5bc More flailing on log syntax due to call-expr ambiguity in previous attempt. 2011-12-21 18:05:08 -08:00
Graydon Hoare
7bf12f3723 Register fixed snapshots. 2011-12-21 16:47:13 -08:00
Graydon Hoare
5d1cf2a872 Out-of-order-code typo. Snapshot again. 2011-12-21 15:43:38 -08:00
Graydon Hoare
8fd5802c65 Register snapshots. 2011-12-21 15:29:18 -08:00
Graydon Hoare
8d9e7deab5 Switch log_expr to carrying a full expr:u32 for level. Add log_full variant that parses that expr, prepare for snapshot. 2011-12-21 14:31:31 -08:00
Niko Matsakis
66856a39b3 add tests I forgot to add 2011-12-21 08:41:41 -08:00
Niko Matsakis
627217fa55 valid cap clause for kind-ness too 2011-12-21 06:14:36 -08:00
Niko Matsakis
c03d14a33d upgrade kind check 2011-12-21 06:14:36 -08:00
Niko Matsakis
01cb1044f7 update pprinter to understand ret type of block, add warnings 2011-12-21 06:14:35 -08:00
Niko Matsakis
6a90140941 Make { || ... } sugar for any type of closure, inferred 2011-12-21 06:14:35 -08:00
Haitao Li
1e4de33374 rustc: Exclude stdin from codemap files when lookup_pos
Fixes issue #1362
2011-12-21 22:07:48 +08:00
Brian Anderson
085c813fe3 Merge pull request #1365 from elly/cargo
cargo: allow 'ref' package key for git packages.
2011-12-20 20:59:03 -08:00
Brian Anderson
dedfef4c4c Revert "wip"
This reverts commit aeadc6269e.
2011-12-20 20:57:04 -08:00
Brian Anderson
854daaec0c rt: Lock before using the random number generator
Seeing crashes here trying to stress test concurrent tasks
2011-12-20 20:56:06 -08:00
Elly Jones
bbc534bccc cargo: allow 'ref' package key for git packages.
This lets you specify e.g. a tag or a branch name to be checked out for that
package.

Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-12-20 23:41:22 -05:00
Brian Anderson
aeadc6269e wip 2011-12-20 20:15:09 -08:00
Brian Anderson
128621be97 rt: Remove rust_task::grow. Obsolete 2011-12-20 20:02:57 -08:00
Graydon Hoare
2841ce7822 Missing comma. 2011-12-20 19:09:53 -08:00
Graydon Hoare
200439406d Add pointer to cargo-central. 2011-12-20 19:04:02 -08:00
Elly Jones
2bdb0b6d40 cargo: syntax fixes 2011-12-20 21:52:50 -05:00
Elly Jones
9834321615 cargo: Add list and search.
In aid of search, add a new field to the packages.json format, called "tags",
whose value is a list of strings. Search accepts a list of tags, all of which
must match for the package to be shown.

Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-12-20 20:41:23 -05:00
Elly Jones
af564caff7 cargo: support optional signing of packages.json files. 2011-12-20 20:10:21 -05:00
Brian Anderson
cab4da70c8 rt: Don't check the stack canary on most upcalls 2011-12-20 16:50:54 -08:00
Brian Anderson
a5d48ce286 cargo: Make sources.json parsable again 2011-12-20 16:38:54 -08:00
Brian Anderson
82cdbfc818 cargo: Add my package index 2011-12-20 16:35:25 -08:00
Brian Anderson
2a490d1cf8 Revert "rt: Reduce the mac red zone to 2K"
This reverts commit ba8f369f89.
2011-12-20 15:17:30 -08:00
Brian Anderson
ba8f369f89 rt: Reduce the mac red zone to 2K 2011-12-20 14:24:13 -08:00
Graydon Hoare
f5c4cc70d6 Merge pull request #1361 from elly/rustdoc
rustdoc: delete bogus license text
2011-12-20 14:22:41 -08:00
Elly Jones
c83cc5792f rustdoc: Some rights reserved? 2011-12-20 17:19:46 -05:00
Elly Jones
00af3406fe rustdoc: delete bogus license text
Rustdoc is under the same license as the rest of Rust, not under apache-2.0.

Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-12-20 17:15:49 -05:00
Graydon Hoare
f2715f3c64 Merge pull request #1360 from elly/rustdoc
rustdoc: Add.
2011-12-20 14:07:55 -08:00
Brian Anderson
2e230b1cf9 rt: Reduce the linux red zone to 2K 2011-12-20 14:02:59 -08:00
Brian Anderson
6443a7b513 rt: Do fewer stack canary checks 2011-12-20 13:54:47 -08:00
Elly Jones
fb0896fe7b rustdoc: Add.
Parses #[doc] attributes on top-level module items and generates Markdown.

Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-12-20 16:52:04 -05:00
Graydon Hoare
3bc4da96f1 Inject "core macros" into default syntax-expansion environment. Bit of a kludge but enough to work on logging-via-macros. 2011-12-20 13:38:10 -08:00
Graydon Hoare
a24c19e867 Add companion-module core.rs that exports log levels and option/some/none everywhere. 2011-12-20 12:41:44 -08:00
Graydon Hoare
8bde865d09 Merge pull request #1349 from lht/driver
Separate driver rustc and librustc
2011-12-20 12:28:40 -08:00
Graydon Hoare
96d7f83eb0 Merge pull request #1350 from boggle/kmath
removed math leftovers from std
2011-12-20 12:28:07 -08:00
Brian Anderson
93fef2e113 rt: Parenthesize the red zone macros 2011-12-20 11:57:22 -08:00
Brian Anderson
784713ec68 rt: Add a canary value to the end of every stack
Check it on upcall entry and exit, and on stack deletion
2011-12-20 11:48:47 -08:00
Marijn Haverbeke
4475ec863d Fix misleading comment about type_is_pod 2011-12-20 20:47:03 +01:00
Brian Anderson
56ec9cb278 rt: Run yet more task_start_wrapper cleanup on the C stack 2011-12-20 10:29:40 -08:00
Stefan Plantikow
b957916e06 removed math leftovers from std 2011-12-20 18:07:36 +01:00
Haitao Li
bc95ccb536 Separate driver rustc and librustc
rustc is now a minimal wrapper of librustc.
2011-12-20 21:06:04 +08:00
Haitao Li
28b825d846 test: Remove 'error:' from error pattern
May include ansi escape code for color rendering on certain terminal.
2011-12-20 15:38:40 +08:00
Haitao Li
5cfcf20b25 rustc: Cleanup unused ext_map 2011-12-20 15:38:40 +08:00
Haitao Li
5e3ffb6cbd rustc: Re-export the same name in different namespaces
Issue #1115.
2011-12-20 15:38:40 +08:00
Haitao Li
bd300636ee rustc: Implement re-export of renamed modules
Issue #1115
2011-12-20 15:38:40 +08:00
Brian Anderson
25f7c844df rt: Don't reuse stack segments when they are not big enough 2011-12-19 22:47:28 -08:00
Brian Anderson
05bf105c90 rt: Rename asm_call_on_stack to __morestack
Newer gdb's will backtrace through functions named __morestack even
if they change the stack.
2011-12-19 22:05:40 -08:00
Brian Anderson
f302b79d61 Register snapshots 2011-12-19 21:43:01 -08:00
Brian Anderson
edf6e1ec0e rt: Zero the bottom frame's return address and base pointer
My reading of libunwind leads me to believe this is expected.

Closes #1322
2011-12-19 18:47:39 -08:00
Brian Anderson
586281e2d6 libcore: Remove stack alignment from task spawning
This is already done by the native task start code. Closes #1324
2011-12-19 18:43:39 -08:00
Brian Anderson
1bfc4e2e6c rt: Save and restore %rax/%eax in __morestack
This doesn't matter now since we use an out pointer for return
values but it's sure to show up mysteriously someday.
2011-12-19 18:16:21 -08:00
Brian Anderson
c3569abb8c rt: Remove some unused stack from i386/morestack.S 2011-12-19 18:16:19 -08:00
Brian Anderson
d2e7336a01 rt: Remove unused saves from __morestack 2011-12-19 16:24:10 -08:00
Brian Anderson
50dc80f617 rt: Give upcall_new_stack the same convention as other upcalls 2011-12-19 16:24:10 -08:00
Brian Anderson
bedcaad97e rt: Give upcall_del_stack the same convention as other upcalls 2011-12-19 16:24:10 -08:00
Niko Matsakis
55a2fd18ec implement capture clauses (move, in particular) and integrate
them into type state and so forth
2011-12-19 14:07:46 -08:00
Niko Matsakis
41ae146057 integrate cap clause into type state, but not trans 2011-12-19 14:07:46 -08:00
Niko Matsakis
b2b2a430df resolve capture clauses 2011-12-19 14:07:46 -08:00
Niko Matsakis
b0f1a5f051 when collecting free vars, track the span where it is used too 2011-12-19 14:07:46 -08:00
Niko Matsakis
98cbbbb642 impl the proper partial order between fn types 2011-12-19 14:07:46 -08:00
Graydon Hoare
1bc6e72b97 Remove cargo from snapshot file-list again; overestimated. 2011-12-19 13:42:33 -08:00
Graydon Hoare
abbd86f1e6 Merge pull request #1334 from boggle/kmath
preparing for removing math from std
2011-12-19 11:58:19 -08:00
Erick Tryzelaar
02d84d89e0 libcore: add splitn to split a string N times. 2011-12-19 10:22:07 -08:00
Erick Tryzelaar
8e54e74be4 libcore: add vec push.
This is a simple wrapper around grow for the common
case of pushing a value on the end of a vector.
2011-12-19 10:22:07 -08:00
Erick Tryzelaar
6b1c60d312 libcore: Add vec any2 and all2 functions. 2011-12-19 10:22:07 -08:00
Erick Tryzelaar
f9df32adac vim comment highlighting can contain comments. 2011-12-19 07:27:17 -08:00
Erick Tryzelaar
a66f0688fd getopts: add test for strings with spaces. 2011-12-19 07:27:16 -08:00
Erick Tryzelaar
8e9be037d1 Simplify getopts::find_opt. 2011-12-19 07:27:16 -08:00
Erick Tryzelaar
9db3525e42 Fix a typo. 2011-12-19 07:27:16 -08:00
Marijn Haverbeke
e4e2d6d1a1 Fix bug in type parameter handling for impl methods
The parameters of the impl weren't being combined in the right way
with the parameters of the methods. The test worked only by accident.

Issue #1227
2011-12-19 15:43:02 +01:00
Marijn Haverbeke
619d7c3f72 Associate names with types introduced by items
Issue #828

This is not a full solution yet. To really get sane error messages,
we'll also have to guess the name to apply to literals, which seems
non-trivial.
2011-12-19 13:52:58 +01:00
Marijn Haverbeke
60acae4df7 Add type argument field to expr_path
This way, you can explicitly provide type parameters when calling a
generic method.

Issue #1227
2011-12-19 10:43:23 +01:00
Marijn Haverbeke
4d524b957f Complain when multiple methods in the same scope match a call
Issue #1227
2011-12-19 10:13:42 +01:00
Marijn Haverbeke
7185ea35c3 Use quotes around tokens in parser error messages to make them more readable
Closes #1328
2011-12-19 09:59:51 +01:00
Josh Matthews
6637340c28 Properly calculate base working dir for compile units. 2011-12-19 03:42:58 -05:00
Josh Matthews
1d3d28bdf1 Long lines. 2011-12-19 02:52:21 -05:00
Josh Matthews
52dbe4cc1d Fix merge error and rebasing changes for debug information. 2011-12-19 01:36:37 -05:00
Josh Matthews
df6052c4f8 Remove source line generation craziness. Ensure incorrect subprogram caches are not conflated. Generate ast_map entries for object members and resource constructors and destructors. 2011-12-18 23:53:44 -05:00