Graydon Hoare
539cfe8a85
Merge pull request #1336 from erickt/master
...
misc fixes and library functions
2011-12-19 11:57:44 -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
ebdf3ef2c0
Don't make rustc depend on librustc
2011-12-19 15:48:58 +01: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
Josh Matthews
c6f16ed2c4
Hide extended, unfinished debug information behind --xg compiler flag.
2011-12-18 23:48:04 -05:00
Josh Matthews
8597077b7a
Clean up some names and factor out some common code.
2011-12-18 23:46:39 -05:00
Josh Matthews
61e8b44f20
Add support for vectors.
2011-12-18 23:46:39 -05:00
Josh Matthews
30d019d520
Add record debug information.
2011-12-18 23:46:39 -05:00
Josh Matthews
f43ed8f1bd
Fix up ast types after literal changes.
2011-12-18 23:44:21 -05:00
Josh Matthews
134585bb06
Add debug information for boxed and unique values.
2011-12-18 23:44:21 -05:00
Josh Matthews
e25f6d03eb
Remove rebase error.
2011-12-18 23:44:21 -05:00
Josh Matthews
064d757ece
Handle inferred basic types when generating debug information for types.
2011-12-18 23:44:21 -05:00
Josh Matthews
6c26b892e4
Add argument metadata and aborted return value code.
2011-12-18 23:44:21 -05:00
Josh Matthews
0752252737
Use proper size and alignment of types for debuginfo.
2011-12-18 23:44:21 -05:00
Josh Matthews
1da4b3b987
Fix build error after rebasing.
2011-12-18 23:44:21 -05:00
Josh Matthews
0b303523bd
Fix up local variable support so it actually works.
2011-12-18 23:44:21 -05:00
Josh Matthews
e95c56f855
Fix up subprogram composite type nodes, and lexical block context nodes.
2011-12-18 23:44:21 -05:00
Josh Matthews
544bcfece2
Fix LLVM assertions when lowering log statements.
2011-12-18 23:44:21 -05:00
Josh Matthews
fa6d871e11
Build fix.
2011-12-18 23:43:37 -05:00
Josh Matthews
e383004985
Add debug info for local vars, basic fundamental types, and lexical blocks, along with source line information generation for individual instructions.
2011-12-18 23:41:03 -05:00
Josh Matthews
10030a37d5
Generate basic debug info for files, functions and compile units.
2011-12-18 23:39:54 -05:00
Stefan Plantikow
fa27724a4b
std: getopts now uses result::t ( fixes #1289 )
2011-12-18 18:55:39 -08:00
Brian Anderson
bd6b80c972
rt: Get rid of the rethrow in upcall_fail
...
Throwing in upcall_fail ends up running lots of code in the red zone. To avoid
it we have the personality function figure out which stack it's on and switch
as needed.
2011-12-18 17:17:31 -08:00
Brian Anderson
c73eb8ff51
rt: Create different stack-switching paths for upcalls and shims
...
Shims need to play with the stack limit, upcalls don't. Only one upcall,
upcall_fail is allowed to catch, and we need a find a way to get rid of that
catch as well because it results in _Unwind_Resume running off the end of the
Rust stack.
2011-12-18 16:17:55 -08:00
Brian Anderson
f57fd8de1f
rt: Run the cycle collector on the C stack
2011-12-18 15:23:44 -08:00
Brian Anderson
74d5faa86e
rt: Give each platform its own red zone definition
2011-12-18 15:23:41 -08:00
Brian Anderson
762d7e43a6
rt: Trim the red zone to 20k on all platforms
2011-12-18 15:22:56 -08:00
Brian Anderson
12cde6ebee
libcore: Remove task::set_min_stack
...
This existed to make up for the lack of stack growth, and wasn't generally
safe.
2011-12-18 14:10:41 -08:00
Brian Anderson
22ac628e8c
test: Enable all morestack tests
2011-12-18 13:37:33 -08:00
Marijn Haverbeke
f4acaf6934
Only look for a matching method when normal field access fails
...
We should probalby warn when defining a method foo on {foo: int} etc.
This should reduce the amount of useless typevars that are allocated.
Issue #1227
2011-12-18 19:41:44 +01:00
Marijn Haverbeke
b36ade1367
Improve efficienty of impl cache in resolve
...
And fix a bug where importing anything from an external module would
import all impls in the module.
Issue #1227
2011-12-18 19:07:26 +01:00
Brian Anderson
3fa930f598
rt: Remove a bogus FIXME from ~rust_task
2011-12-18 02:09:41 -08:00
Brian Anderson
1a1fdf34b1
rt: Add lots of documentation to __morestack
2011-12-18 02:02:35 -08:00
Brian Anderson
7359fa422b
Revert "rt: Turn on big stacks again. Unwinding still doesn't always succeed on mac"
...
This reverts commit 68f4849f0f
.
2011-12-18 00:42:46 -08:00
Brian Anderson
cb5f636ff1
rustc: Don't emit compact unwind info on mac
...
It's not compatible with the subtlety of __morestack
2011-12-18 00:42:37 -08:00
Brian Anderson
68f4849f0f
rt: Turn on big stacks again. Unwinding still doesn't always succeed on mac
2011-12-17 17:54:43 -08:00