Brian Anderson
991db34b5b
rustc: Fix fun_to_str
2012-01-19 18:14:17 -08:00
Patrick Walton
c267821742
rustc: ";" to "," in enums
2012-01-19 18:04:25 -08:00
Patrick Walton
7a663032fb
rustc: Remove trailing whitespace
2012-01-19 17:49:23 -08:00
Tim Chevalier
c7592803d9
Compute typestates for FRU exprs correctly, plus a bit of cleanup
...
The code in Issue 948 was causing typestate to diverge because
it was using the prestate for the whole expression -- not the post-
state for the fields list -- as the prestate for the record base
expression. Fixed.
Closes #948
2012-01-19 17:24:27 -08:00
Tim Chevalier
94d2063577
Handle log expressions with a _|_-typed level
...
If we have log(foo, quux) where foo:_|_, just translate foo and
ignore the rest of the expression.
Closes #1459
2012-01-19 14:44:40 -08:00
Patrick Walton
daaeac56b1
rustc: Fix long lines
2012-01-19 14:34:23 -08:00
Patrick Walton
bdb8f6cf52
rustc: "tag" -> "enum"
2012-01-19 14:24:03 -08:00
Brian Anderson
f15182fffc
Use fn~ to simplify the core::test interface
2012-01-19 13:37:01 -08:00
Tim Chevalier
3e25444e51
In trans, allow _|_-typed things to be the argument to fail
...
Rationale: _|_-typed things diverge, so it's safe to use them in
any context.
Closes #1465
2012-01-19 13:30:31 -08:00
Graydon Hoare
4e7de69cda
Partial fix for #1561 , doesn't actually "fix" the problem but you get output now.
...
There's still something wrong with #error here, possibly cross-crate issue.
2012-01-19 11:11:47 -08:00
Niko Matsakis
882bea5b6d
Rename fn*() to fn() as originally planned.
2012-01-19 07:11:50 -08:00
Niko Matsakis
1f0b3d2247
treat fn*() as fn&()
...
This is not my ideal way of going about things. I'd prefer not
to have expressions typed as fn*(), for example, but I couldn't
get that to work together with inferring the modes of arguments
and other corner cases.
2012-01-19 07:10:59 -08:00
Haitao Li
d699db699a
rustc: Refactor lint check and avoid a segv fault
...
The segv fault issue is #1566
2012-01-19 20:31:43 +08:00
Haitao Li
7ffb2cb7e8
rustc: Name the lint-style check module lint
...
Issue #1543
2012-01-19 17:54:38 +08:00
Haitao Li
327a15d58c
rustc: Add a usage pass to collect one-off analyses
...
This patch starts from move the analysis which checkes of probably
incorrectly usage of `int|uint` in native fn.
Issue #1543
2012-01-19 17:27:44 +08:00
Haitao Li
45c0651a49
rustc: Use io::println for time-passes data
...
Issue #1561
2012-01-19 17:25:15 +08:00
Tim Chevalier
5b028f527f
Remove support for the '.' after a nullary tag in a pattern
...
(Commit also includes lots of changes to remove '.'s that a git
merge messed up, or else it was monkeys.)
2012-01-19 01:04:59 -08:00
Tim Chevalier
04a2887f87
Remove '.' after nullary tags in patterns
...
Does what it says on the tin.
The next commit will remove support for this syntax.
2012-01-18 23:17:34 -08:00
Tim Chevalier
8c97854c7d
Allow any alternative (not just a block) to follow a nullary tag pattern
2012-01-18 21:29:02 -08:00
Tim Chevalier
209d8c854f
allow dotless nullary patterns inside or-patterns
2012-01-18 21:29:02 -08:00
Tim Chevalier
a453197734
Another minor parser fix for nullary-tag patterns
2012-01-18 21:29:02 -08:00
Tim Chevalier
bf83fd3091
Allow nullary tag names to be qualified
2012-01-18 21:29:02 -08:00
Brian Anderson
3ebf7b42bd
rustc: Assert that the parser doesn't assign node id 0
...
It is reserved for indicating the crate, but doesn't exist in the AST
2012-01-18 19:59:24 -08:00
Graydon Hoare
6a6aec04a2
Fix --out-dir a bit more in driver.
2012-01-18 18:44:07 -08:00
Niko Matsakis
54f6bf57e6
remove align_mode and rewrite GEP_tup_like to align correctly
...
Although the old version of GEP_tup_like was incorrect in some
cases, I do not believe we ever used it in an incorrect fashion.
In particular, it could go wrong with extended index sequences
like [0, 1, 3], but as near as I can tell we only ever use it
with short sequences like [0, i].
2012-01-18 17:20:46 -08:00
Niko Matsakis
da828747e6
correct use of GEP_tup_like in closure constr
...
also, streamline type_is_tup_like() to the cases which
actually work
2012-01-18 17:20:46 -08:00
Patrick Walton
1aaee20737
rustc: Accept commas to separate tag variants
2012-01-18 12:27:12 -08:00
Haitao Li
04882d7c43
rustc: Use integer from ctypes consistently
2012-01-19 02:10:36 +08:00
Haitao Li
dde41869ce
Use ctypes in native function declarations
2012-01-19 02:10:36 +08:00
Haitao Li
f03eb96f39
rustc: Warn when int or uint is used in a native type decl
...
Issue #1403
2012-01-19 02:10:36 +08:00
Niko Matsakis
31b25d81eb
use 64-bit memset on 64-bit platforms. Fixes #1546 . Fixes #843 .
...
Actually, we don't "fix" #843 so much as close it: as with memmove,
we simply use an alignment of 1 with dynamically sized types.
2012-01-17 20:21:09 -08:00
Niko Matsakis
7bc2930cfa
roll back commit 1c7a62
2012-01-17 20:21:09 -08:00
Brian Anderson
8acae671c7
rustc: Allow std to be built as a test runner
2012-01-17 19:41:05 -08:00
Graydon Hoare
80c7bfb069
Rename some readmes and fix some dist logic.
2012-01-17 16:50:13 -08:00
Brian Anderson
c0df13958c
Update crates with correct crate_type attribute
2012-01-17 15:13:43 -08:00
Brian Anderson
47b9fc278e
rustc: --test overrides the crate_type attribute
2012-01-17 15:13:43 -08:00
Graydon Hoare
711fc20d88
Merge pull request #1544 from kevina/issue-1393
...
Minor cleanups to custom discriminator code.
2012-01-17 12:45:09 -08:00
Niko Matsakis
a83ad1b9e6
encode variant names and have log print them out.
2012-01-17 10:33:28 -08:00
Tim Chevalier
c3bc8fada8
Allow omission of the '.' after nullary tag patterns
...
This commit allows patterns like:
alt x { some(_) { ... } none { } }
without the '.' after none. The parser suspends judgment about
whether a bare ident is a tag or a new bound variable; instead,
the resolver disambiguates.
This means that any code after resolution that pattern-matches on
patterns needs to call pat_util::normalize_pat, which consults
an environment to do this disambiguation.
In addition, local variables are no longer allowed to shadow
tag names, so this required changing some code (e.g. renaming
variables named "mut", and renaming ast::sub to subtract).
The parser currently accepts patterns with and without the '.'.
Once the compiler and libraries are changed, it will no longer
accept the '.'.
2012-01-17 10:08:16 -08:00
Tim Chevalier
a7bd817017
Fail slightly more gracefully when given an -o filename that doesn't have an extension
2012-01-17 10:08:16 -08:00
Marijn Haverbeke
87418dbc93
Prevent pretty-printer from trying to consume stdin twice
...
Why this didn't fail on my machine, I don't know.
2012-01-17 17:44:38 +01:00
Marijn Haverbeke
54d5a9846f
Try to fix pretty-printer failure
...
I can't reproduce it on my side, unfortunately.
2012-01-17 17:12:58 +01:00
Marijn Haverbeke
08c16b17e9
Fix --pretty normal, reorganize some code in driver.rs
...
There is now only one path doing crate expanding and typechecking,
which should make it less likely for the pretty-printing code to be
broken by changes to the compilation pipeline.
Closes #1536
2012-01-17 16:42:49 +01:00
Marijn Haverbeke
1c7a62c93b
Use a memset upcall to zero things without static alignment
...
This fixes issues #843 and #1546 . The cost of an upcall is
unfortunate, though. I assume there must be a way to simply manually
compute the pointer or size, using something akin to the formula in
`align_to` in `rust_util.h`. I could not get this to work,
unfortunately.
2012-01-17 14:04:55 +01:00
Brian Anderson
bd63c3928e
rustc: Move some attribute accessors from rustdoc to rustc
2012-01-16 21:12:36 -08:00
Kevin Atkinson
bdc8e8d222
Minor cleanups to custom discriminator code.
...
Mostly updates to the comments and docs from Pull Request #1537 .
2012-01-16 21:04:02 -07:00
Josh Matthews
ea1e360c15
Ensure library file always has a proper suffix.
2012-01-16 13:35:35 -05:00
Marijn Haverbeke
b3927d6052
Don't write out type names when hashing types
...
I hope this is why my patch made things so much slower...
2012-01-16 17:03:51 +01:00
Marijn Haverbeke
d673f76fdf
Remove misguided indirect return in trans_closure
...
Closes #1528
2012-01-16 14:27:41 +01:00
Marijn Haverbeke
1375b31c1c
Store type names in crate metadata
...
Improves type error messages referring to external types.
Issue #1507
2012-01-16 12:08:00 +01:00