Commit graph

6649 commits

Author SHA1 Message Date
Niko Matsakis 9b7347dd96 modify upcalls to take structs as args 2011-12-06 21:44:18 -08:00
Niko Matsakis 8b608125ac fix hash function: + binds tighter than << 2011-12-06 21:34:50 -08:00
Niko Matsakis 66355607da hack for now: map uint hashes into a u32, which helps x86_64 perf. 2011-12-06 19:55:46 -08:00
Niko Matsakis aa99bfa170 do not stringify AST nodes unless emitting comments 2011-12-06 19:55:45 -08:00
Niko Matsakis 15d60326f6 helpful targets 2011-12-06 19:55:45 -08:00
Niko Matsakis 84bbc12444 Merge branch 'master' of github.com:graydon/rust 2011-12-06 19:55:20 -08:00
Graydon Hoare 1652b921fa Fix condition in snapshot script. Argv is never 2 long, it can be 3 or 4. 2011-12-06 17:50:21 -08:00
Brian Anderson 9a738fd61d rt: Various tweaks to make __morestack unwinding work on linux
When unwinding through __morestack the stack limit in the TLS is invalidated
and must be reset. Instead of actually landing at __morestack we're
just going to make all our Rust landing pads call upcall_reset_stack_limit,
which will find the stack segment that corresponds to the current stack
pointer and put the limit in the TLS.

Also massively expand the stack segment red zone to make more room for the
dynamic linker. Will fix in the future.
2011-12-06 16:32:41 -08:00
Niko Matsakis 28f9af6074 Merge branch 'master' of github.com:graydon/rust 2011-12-06 15:19:03 -08:00
Graydon Hoare a1b215aea1 Add --no-core option and inject a use core/import core::* pair into crate unless it's given. 2011-12-06 14:40:30 -08:00
Graydon Hoare 03d4ec5415 Fix next-node-id "hackasaurus" in comp/front/test.rs. 2011-12-06 14:40:30 -08:00
Niko Matsakis 39b1657b2c Merge branch 'master' of github.com:graydon/rust 2011-12-06 14:02:32 -08:00
Brian Anderson 89efb7d981 libstd: Update docs 2011-12-06 13:58:54 -08:00
Graydon Hoare baf3de4733 Rename --noverify flag to --no-verify. 2011-12-06 13:02:59 -08:00
Graydon Hoare 447414f007 Establish 'core' library separate from 'std'. 2011-12-06 12:13:04 -08:00
Austin Seipp b513a5a500 Make valgrind usage more consistent and less error prone.
I was still having issues with the build system somehow getting confused
as to which set of valgrind headers to use when compiling rt.

This commit moves all the valgrind headers into their own directory
under rt and makes the usage more consistent. The compiler is now passed
the -DNVALGRIND flag when valgrind is not installed, as opposed to
passing -DHAVE_VALGRIND.

We also pass -I src/rt to the compiler when building rt so you can more
easily import what you want. I also cleaned up some erroneous #includes
along the way.

It should be safe to always just import the local valgrind headers and use
them without question. NVALGRIND turns the operations to no-ops when it
is active, and the build and tests run cleanly with or without.
2011-12-06 01:15:29 -06:00
Brian Anderson 8d8148f1f7 test: More tests for unwinding + morestack 2011-12-05 19:21:46 -08:00
Brian Anderson 58844aee42 rt: Make stack unwinding work more correctly with stack growth 2011-12-05 17:42:58 -08:00
Brian Anderson a731f165df test: Test hitting the dynamic linker in the red zone 2011-12-05 17:20:59 -08:00
Brian Anderson 3b8bfaf534 rt: Use an out pointer for rust_new_stack
upcall_call_shim_on_c_stack does not handle return values
2011-12-05 17:11:35 -08:00
Niko Matsakis 7bf41392b6 correct the use of 'sed -i' 2011-12-05 15:12:36 -08:00
Brian Anderson 98cd96ce96 test: Add more tests for stack growth 2011-12-05 14:44:15 -08:00
Brian Anderson 1720bc2e81 rt: Unwind through __morestack on 32-bit linux 2011-12-05 12:10:55 -08:00
Brian Anderson 12e401cc7e rustc: Remove whitespace 2011-12-05 11:21:44 -08:00
Haitao Li 47ea57fead rustc: Add suffix ".rc" to LLVM module identifier
LLVM code generator emits the ".file filename" directive for ELF
backends. Value of the "filename" is set as the LLVM module identifier.
Due to a LLVM MC bug[1], LLVM crashes if the module identifer is same as
other symbols such as a function name in the module.

This patch adds a ".rc" suffix (means crates) to LLVM module identifier
to workaround the bug.

Fixes issue #1251.

1. http://llvm.org/bugs/show_bug.cgi?id=11479
2011-12-05 17:21:20 +08:00
Brian Anderson 52d7dc5e0a rt: Update 32-bit __morestack for recent LLVM changes 2011-12-04 20:40:34 -08:00
Stefan Plantikow a69eab16ec typeck: Fix for #932 2011-12-05 01:23:10 +01:00
Brian Anderson f1eb7ce013 configure: LLVM 3.0 no longer supported 2011-12-04 15:01:41 -08:00
Brian Anderson a92218e630 Upgrade LLVM to svn revision 145779
This pulls in commits 145765 & 145766, which are required for split stacks.
2011-12-04 14:59:56 -08:00
Haitao Li 96b0881a68 rustc: Fix memory leak in do-while loop
Issue #1257
2011-12-05 00:38:38 +08:00
Brian Anderson 9711596bec Fix definition of check-stageN-all targets 2011-12-03 20:23:54 -08:00
Niko Matsakis 9cc2515dfa make check test stage3 2011-12-02 19:05:50 -08:00
Niko Matsakis 1eb378b23a make "check" match "all": only the host triple 2011-12-02 19:05:49 -08:00
Niko Matsakis 493492910f adopt -H-all convention 2011-12-02 19:05:49 -08:00
Niko Matsakis 3bbfe515df make convenient rustc targets 2011-12-02 19:05:49 -08:00
Niko Matsakis 9acc2bfcad add --host-triple 2011-12-02 19:05:49 -08:00
Brian Anderson 292663b8ef rt: Implement 32-bit __morestack for mac 2011-12-02 17:44:23 -08:00
Brian Anderson c254936f32 rt: Fix __morestack prologue on x86_64 mac 2011-12-02 15:32:51 -08:00
Stefan Plantikow 1b7f1415d6 build: added CFG_INSTALL_SNAP for automatically activating test snapshots
This is only guaranteed to work when building in the top-level dir
2011-12-02 12:23:50 -08:00
Stefan Plantikow 68a82e4468 const_check: trans: added support for trivial casts
Part of #1215
2011-12-02 11:58:35 -08:00
Stefan Plantikow 3ee2eb656e doc: added definition of trivial casts to spec
(cf @ignored Expr.Be and #1215 for intended use)
2011-12-02 11:38:24 -08:00
Stefan Plantikow 4ba3158e4f parse: typeck: enabling trivial casts of tail-call return values
introduces ctypes::m_* machine type aliases for int, uint, float
depending on cfg(target_arch) that are used in tests
2011-12-02 11:38:24 -08:00
Stefan Plantikow 29f7cdffa4 ty: trans: added support for dropping trivial casts 2011-12-02 11:38:24 -08:00
Stefan Plantikow d116a6f2d3 ty: added type comparison that subs prim types with targ_cfg machine types 2011-12-02 11:38:24 -08:00
Brian Anderson 236bf7a9b8 stdlib: Actually write the word 'fail' instead of just thinking it 2011-12-02 11:10:03 -08:00
Brian Anderson e814c42000 stdlib: Add issue number to win32 fsync FIXME 2011-12-02 11:07:55 -08:00
Brian Anderson 39b05c85b8 stdlib: Win32 fsync is just fail
No fsync function on windows. Needs custom implementation.
2011-12-02 11:06:42 -08:00
Stefan Plantikow 21c69d4ba4 Added cross-platform fsync api to io; win32 impl needs to be refined
No tests, need mktmpfile first
2011-12-02 11:06:03 -08:00
Marijn Haverbeke 46e5e2f685 Be less specific in 'unresolved import' error patterns
To make sure different test set-ups (check-fast) don't cause the
tests to fail.
2011-12-02 17:20:03 +01:00
Marijn Haverbeke 30d923d14b Disable a test that's failing on 32-bit due to imprecise literal handling
7655b3c0c6 (re-)introduced the problem
2011-12-02 16:56:52 +01:00