Haitao Li
2a59ab8fa5
rustc: Specify lint checks via crate attributes
...
A crate attribute like `#[lint(no_ctypes)]` can now be used to turn off
ctypes checking.
Issue #1543
2012-01-22 01:33:37 +08:00
Patrick Walton
c267821742
rustc: ";" to "," in enums
2012-01-19 18:04:25 -08:00
Patrick Walton
bdb8f6cf52
rustc: "tag" -> "enum"
2012-01-19 14:24:03 -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
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
Graydon Hoare
6a6aec04a2
Fix --out-dir a bit more in driver.
2012-01-18 18:44:07 -08:00
Brian Anderson
47b9fc278e
rustc: --test overrides the crate_type attribute
2012-01-17 15:13:43 -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
Josh Matthews
ea1e360c15
Ensure library file always has a proper suffix.
2012-01-16 13:35:35 -05:00
Brian Anderson
793e3b231c
rustc: Output a note about how to debug unexpected failures
2012-01-14 16:33:33 -08:00
Brian Anderson
cb8eabab3d
rustc: Fix tests
2012-01-14 15:14:43 -08:00
Brian Anderson
e36ea8e993
rustc: Run the compiler in a subtask and monitor the diagnostics
...
Since we are no longer logging to the console it's possible for us to
hit a plain-old-fail statement and not output anything.
This adds a defensive mechanism that will monitor the emitted errors
and compare them to the result of the compiler task. If the compiler
fails without emitting an error it results in an ICE.
2012-01-14 15:14:43 -08:00
Brian Anderson
d9d3be7acc
rustc: Extract the logic for generating an ICE message
2012-01-14 15:14:43 -08:00
Brian Anderson
8f57be5bff
rustc: Rename mk_codemap_handler to mk_handler
2012-01-14 15:14:43 -08:00
Brian Anderson
77e95dcf9f
rustc: Rename emit_diagnostic to emit
2012-01-14 15:14:43 -08:00
Brian Anderson
ff24f7e583
rustc: Use the same diagnostic emmiter for both early errors and the session
...
This funnels all properly reported errors through a single closure. Yay.
2012-01-14 15:14:43 -08:00
Brian Anderson
9820abfcc7
rustc: Thread a diagnostic::emitter through driver
2012-01-14 15:14:43 -08:00
Brian Anderson
e78b1040e7
rustc: Pull some uses of early_error up into build_target_config
2012-01-14 15:14:43 -08:00
Brian Anderson
876e9fdc06
rustc: Rename diagnostic::diagnostictype to 'level'
2012-01-14 15:14:43 -08:00
Brian Anderson
824beb4c3b
rustc: Make it not an error when the source can't be loaded for highlighting
...
I plan to have a callback mechanism for reporting errors and it gets wierd
when reporting errors while reporting an error.
2012-01-14 15:14:43 -08:00
Brian Anderson
e4849d5e5d
rustc: Allow a custom diagnostic emitter when building the handler
2012-01-14 15:14:43 -08:00
Brian Anderson
dbf6ed9221
rustc: Remove emit_fatal/error/warning/note functions
2012-01-13 22:07:55 -08:00
Brian Anderson
1a6383a0eb
rustc: Add a distinct fatal diagnostic level
2012-01-13 22:07:55 -08:00
Brian Anderson
f4bd03b998
rustc: Replace the lexer's error handling with diagnostic impl
2012-01-13 22:07:55 -08:00
Brian Anderson
e90701c546
rustc: Replace parser's error handling with diagnostic impl
2012-01-13 22:07:55 -08:00
Brian Anderson
2e69c29660
rustc: Replace session's error handling with diagnostic impl
2012-01-13 22:07:55 -08:00
Brian Anderson
d4e089e94b
rustc: Add diagnostic::handler iface and default impl
...
This is for moving error handling logic out of the session
2012-01-13 22:07:55 -08:00
Brian Anderson
da6674baed
rustc: Stop exporting various things from driver::diagnostic
2012-01-13 16:08:59 -08:00
Brian Anderson
ced0aa13d3
rustc: Extract driver::diagnostic from syntax::codemap
2012-01-13 16:06:56 -08:00
Brian Anderson
f26266e03d
rustc: Refactor codemap::emit_* functions
...
A codemap is only needed when we have a span so put them both into the option.
2012-01-13 15:52:03 -08:00
Brian Anderson
6c05214ef8
rustc: Turn logging off by default
2012-01-13 13:44:09 -08:00
Marijn Haverbeke
efb9df1ebd
Make driver::session::session no longer an object
...
Rather, it is now a struct where properties like opts are accessed
directly, and the error-reporting methods are part of a static impl
(with the same name as the type).
2012-01-12 18:04:02 +01:00
Marijn Haverbeke
34d7f05292
Major clean-up of std::io
...
Use ifaces instead of objs, stop wrapping everything in two (or three)
layers of no-value-added indirection, and remove some of the more
pointless/outdated idioms from the code.
2012-01-11 21:00:11 +01:00
Brian Anderson
c2c497ff53
rustc: Configure out #[test] functions when not testing
2012-01-05 17:31:57 -08:00
Marijn Haverbeke
60ae1590af
Switch to new param kind bound syntax
...
And remove support for the old syntax
2012-01-05 15:50:02 +01:00
Marijn Haverbeke
e1dc40b271
More work on translating dictionary-passing
...
Reached a point where simple uses of interfaces without bounds work.
Issue #1227
2012-01-03 15:36:57 +01:00
User Jyyou
a59c4b1b47
freebsd support
2012-01-01 20:18: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
Graydon Hoare
389329ef1e
Merge all 3 log syntaxes, tidy up residual misuses.
2011-12-22 16:14:00 -08: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
5cfcf20b25
rustc: Cleanup unused ext_map
2011-12-20 15:38:40 +08:00
Josh Matthews
6637340c28
Properly calculate base working dir for compile units.
2011-12-19 03:42:58 -05:00
Josh Matthews
c6f16ed2c4
Hide extended, unfinished debug information behind --xg compiler flag.
2011-12-18 23:48:04 -05:00