Commit graph

2382 commits

Author SHA1 Message Date
Graydon Hoare f5f2f76339 Add --help, --version and -v flags (not yet supporting GIT_REV env var, waiting on snapshot). 2011-05-05 13:09:43 -07:00
Patrick Walton a74feaf159 rustc: Link with intrinsics.bc; change intrinsics linkage to linkonce_odr 2011-05-05 12:46:22 -07:00
Graydon Hoare 48e0de22c1 Put out burning tinderbox. 2011-05-05 11:54:45 -07:00
Patrick Walton 5fb6e6364b rustc: Add a binding to LLVM's bitcode parser 2011-05-05 11:34:45 -07:00
Tim Chevalier 6b742aec91 Enforce in typechecker that preds return a bool
as well as a test case
2011-05-05 11:26:07 -07:00
Tim Chevalier 910a05d875 Update docs to reflect preds 2011-05-05 11:26:07 -07:00
Tim Chevalier acf9bd7909 Test cases for pred / check stuff 2011-05-05 11:26:07 -07:00
Tim Chevalier e3a68e235c Bring back "pred" syntax for writing predicates for check
This commit reinstates the requirement that the predicate in a
"check" must be a manifest call to a special kind of function
declared with the new "pred" keyword instead of "fn". Preds must
have a boolean return type and can only call other preds; they
can't have any effects (as enforced by the typechecker).
The arguments to a predicate in a check expression must be
slot variables or literals.
2011-05-05 11:26:07 -07:00
Tim Chevalier d9c9982f0a Update docs to reflect assert vs. check
Also added the --batch flag to texi2pdf, as it doesn't really ever
seem useful to drop to the TeX prompt during a build.
2011-05-05 11:26:07 -07:00
Tim Chevalier 0da33de278 add dl/ and .pyc files to .gitignore 2011-05-05 11:26:07 -07:00
Tim Chevalier 3060eadcba Check well-formedness of constraints
Check that the operand in a constraint is an explicit name,
and that the operands are all local variables or literals. Still need
to check that the name refers to a pure function.
2011-05-05 11:26:07 -07:00
Tim Chevalier bc5650a9d0 Change checks to asserts in test/bench files 2011-05-05 11:26:07 -07:00
Tim Chevalier 4f892dd9d7 Check that the operand in a check is a call
In addition, fix bug in fold that was turning asserts into checks.

More typechecking still needs to be done.
2011-05-05 11:26:07 -07:00
Tim Chevalier 59a0e98096 Un-XFAILed not-a-pred in stage0 (it fails correctly) 2011-05-05 11:26:07 -07:00
Marijn Haverbeke 1f45dda9d2 Remove 'deprecated mutable...' from our code
This should make compilation a bit less noisy.
2011-05-05 20:19:43 +02:00
Marijn Haverbeke 3d738e9e06 Return a fresh, unreachable context after ret, break, and cont
This ensures we don't get compile errors on unreachable code (see
test/run-pass/artificial-block.rs for an example of sane code that
wasn't compiling). In the future, we might want to warn about
non-trivial code appearing in an unreachable context, and/or avoid
generating unreachable code altogether (though I'm sure LLVM will weed
it out as well).
2011-05-05 20:19:43 +02:00
Marijn Haverbeke 9432626b68 Eradicate fold from capture.rs
The pass now uses walk.
2011-05-05 20:19:43 +02:00
Ralph Giles 0b2cfcaab9 Make ocamlc and optional dependency.
Since moving to a downloadable snapshot for stage0, it's been
possible to complete the build without compiling code written
in ocaml. However, the configure script still required it to
be present.

This commit changes detection failure to a non-fatal condition,
allowing the build to complete on systems without an ocaml
compiler.

An info message is also made conditional.
2011-05-05 11:02:16 -07:00
Ralph Giles 06f0713906 Mark valgrind's _qzz_res as unused to silence warnings on gcc 4.6.
This applies c11675 by Julian Seward from valgrind trunk
(svn://svn.valgrind.org/valgrind/trunk) to rustrt's included
copies of memcheck.h and valgrind.h, effectively backporting
the fix from the unreleased 3.6.2. The commit simply applies
the gcc 'unused' attribute to the relevant declarations.

This change allows compilation of the runtime code under
gcc 4.6 with -Werror, as the makefile currently requests.
2011-05-05 10:55:54 -07:00
Patrick Walton fea623211f rustc: Add a Link module; move crate writing to it to slim down trans slightly 2011-05-05 10:48:02 -07:00
Patrick Walton 729648282b rustllvm: Add bindings to the LLVM linker 2011-05-04 21:27:00 -07:00
Patrick Walton c47a075a99 rustllvm: Whitespace police in RustWrapper.cpp 2011-05-04 20:30:23 -07:00
Patrick Walton bde44a03a9 rustc: Detect the system root and allow the user to override if necessary 2011-05-04 19:27:54 -07:00
Patrick Walton 1299e74db3 build: Whitespace police in configure. Puts out burning tinderbox. 2011-05-04 19:14:19 -07:00
Graydon Hoare d55fa2a9a3 Add #env syntax extension for plucking strings out of the compilation environment. 2011-05-04 19:05:32 -07:00
Graydon Hoare a7db032725 Re-snapshot to pick up fixed crasher bugs in resolve and performance improvements. 2011-05-04 19:05:32 -07:00
Patrick Walton e78a9c321b build: Add missing intrinsics.mk 2011-05-04 18:35:36 -07:00
Patrick Walton 04f966f0bc build: Build intrinsics.bc 2011-05-04 18:29:08 -07:00
Graydon Hoare add7d34164 Add stage-specific test targets (make check-stage1 etc.) 2011-05-04 17:32:35 -07:00
Marijn Haverbeke 898e089d7b Fix and re-enable destructors
There was some confusion on whether the destructors took their
argument by pointer or direct value. They now take it directly, just
like other methods. You no longer get a segfault when a constructor
actually does something with its self value.
2011-05-05 02:16:49 +02:00
Graydon Hoare cdb6822405 Add a structure for passing option flags around the compiler, put it in session, and use it. 2011-05-04 16:59:21 -07:00
Brian Anderson 619b4743e3 Add *.pyc to .gitignore 2011-05-04 19:34:46 -04:00
Brian Anderson bd34770a92 Add missing ret statements to check_mod
Un-XFAIL compile-fail export tests
2011-05-04 19:29:27 -04:00
Graydon Hoare ce9468761c Support new -g flag, only mangle glue names by type when it's passed. 2011-05-04 15:36:42 -07:00
Graydon Hoare b73a640ce0 More export XFAILs. 2011-05-04 15:35:41 -07:00
Graydon Hoare 54dc34b658 Re-snapshot stage0 2011-05-04 14:45:09 -07:00
Graydon Hoare 978e3d0f4a XFAIL some compile-fail tests mysteriously failing on win32 tinderbox. 2011-05-04 14:44:57 -07:00
Graydon Hoare 4642d7a355 extend xfail-stage0 to stage1, stage2 on obj-dtor-2.rs 2011-05-04 11:23:05 -07:00
Graydon Hoare 48021ef1f6 Fix horrible rule-hijacking bug that was causing compile-fail targets to trigger honest compile attempts. 2011-05-04 11:21:14 -07:00
Graydon Hoare 456398a403 Change two compile-fail patterns to match rustc output. 2011-05-04 11:20:47 -07:00
Graydon Hoare 895ec07453 Try to fail nicely, again. 2011-05-04 15:04:53 +00:00
Graydon Hoare 99f1dffd49 Fail in a slightly more organized fashion for now. 2011-05-04 06:19:58 +00:00
Patrick Walton dc181bca4e rustc: Stub Rust intrinsics. We check in the .ll file for now to temporarily dodge a dependency on clang. 2011-05-03 18:51:41 -07:00
Graydon Hoare c36645b358 Assume xfail-stage0 implies stage1 and stage2 in tests, for now. 2011-05-03 18:14:02 -07:00
Graydon Hoare 846068046d Fix bug in CFG_TESTLIB that only manifests on stage1, stage2. 2011-05-03 18:14:02 -07:00
Patrick Walton ac8eb20224 rustc: Stub support for Rust intrinsics 2011-05-03 18:03:59 -07:00
Patrick Walton 2bc17adc29 Revert "Rename the "llvm" API to "llvm-intrinsic"" due to tinderbox bustage
This reverts commit 6871c245a6.
2011-05-03 17:50:37 -07:00
Graydon Hoare b81897d7e4 More python portability fixes (for windows). 2011-05-03 16:53:36 -07:00
Graydon Hoare 1965a156f0 Attempt to use more portable python 2011-05-03 16:22:00 -07:00
Graydon Hoare 4f52ab52c1 Remove everything to do with rustboot from makefiles. 2011-05-03 15:56:00 -07:00