Commit Graph

3671 Commits

Author SHA1 Message Date
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
Marijn Haverbeke
c2fe7b6398 When pretty-printing fn types, leave off arg modes when they are the default
This reduces ++/&& spam in the output to a bare minimum.

Issue #1507
2012-01-16 12:08:00 +01:00
Kevin Atkinson
e1c50c4410 Don't evaluate discriminator value constants when parsing.
Remove disr_val from ast::variant_ and always use ty::variant_info
when the value is needed.  Move what was done during parsing into
other passes, primary typeck.rs.  This move also correctly type checks
the disr. value expression; thus, fixing rustc --pretty=typed when
disr. values are used.
2012-01-16 11:19:33 +01:00
Marijn Haverbeke
96f1eda6d0 Be more careful about pretty-printing literals
Before, literal printing would basically get derailed completely when
a literal was encountered that did not end up being printed. This
caused the strangeness seen in #1532.

Also cleans up pretty-printing of discriminants a little.

Closes #1510
Closes #1532
2012-01-16 11:19:32 +01:00
Kevin Atkinson
2d36a71aee Update pretty printer to print out disr. values.
Partly fixes issue #1510.  "rustc --pretty=typed" fails.
2012-01-16 11:19:32 +01:00
Marijn Haverbeke
13b9a16a7b Properly print u suffix for uint literals
Issue #1532
2012-01-16 11:19:32 +01:00
Brian Anderson
3466c9b4be rustc: Parse fn inner attributes. Closes #1506 2012-01-15 17:48:58 -08:00
Brian Anderson
17585cc47e rustc: Extract comman parts of view parsing 2012-01-15 16:25:31 -08: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
Josh Matthews
7cbd90f501 Fix up LLVM type stringification to correspond to Core.h 2012-01-14 18:13:26 -05:00
Brian Anderson
9e40e43e74 build: Build libraries in the bin directory on win32 2012-01-14 13:43:04 -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
478134354d rustc: Rename the lexer's err message to fatal and make it fail 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
bb1e8d2339 rustc: Some more codemap refactoring 2012-01-13 15:52:03 -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
Graydon Hoare
91b0a51290 Change builtin macro defs to use #macro() 2012-01-13 15:43:12 -08:00
Josh Matthews
bdf3a6ba88 Undo over-enthusiastic obj system removal in debuginfo. 2012-01-13 17:28:23 -05:00
Brian Anderson
6c05214ef8 rustc: Turn logging off by default 2012-01-13 13:44:09 -08:00
Brian Anderson
bb1e79768c llvm: Switch back to LLVM trunk 2012-01-13 11:05:59 -08:00
Niko Matsakis
8685a1f7c4 distinguish "any closure" and "stack closure" (block) 2012-01-13 09:31:40 -08:00
Niko Matsakis
47a534c197 make blocks fn& and fn stand for "any closure" 2012-01-13 06:36:31 -08:00
Niko Matsakis
3f3bfeec27 make "native fn" the type for bare functions, remove fn exprs 2012-01-13 06:27:35 -08:00
Niko Matsakis
455f8b0d45 deprecate fn exprs and the fn() type, preferring fn@ and native fn 2012-01-13 06:27:34 -08:00
Marijn Haverbeke
24102d50ad Obj system? What obj system?
Removes the obj system from the compiler.

Closes #1484
2012-01-13 11:51:29 +01:00
Marijn Haverbeke
eb07fa4d3b Remove all remaining uses of objs from the compiler 2012-01-13 11:51:17 +01:00
Marijn Haverbeke
7f62944559 Convert the objects used in the lexer and parser to records + impls 2012-01-13 11:50:53 +01:00
Brian Anderson
dcac427795 Revert "build: Build libraries in the bin directory on win32"
This reverts commit 23e0d16b5f.
2012-01-12 20:06:45 -08:00
Brian Anderson
d95de0dd95 Merge remote-tracking branch 'brson/win32' 2012-01-12 19:25:27 -08:00
Tim Chevalier
565ea068ca Add type parameters when checking wildcard patterns
For some reason, wildcard patterns were never getting type parameter
substitutions attached. This would cause an assertion failure when
checking a wildcard pattern that matches against a tag with
polymorphic type (not sure why this didn't come up before). Fixed it.
(The diff and test case may be easier to understand than this note
:P)

Closes #1503.
2012-01-12 16:51:07 -08:00
Brian Anderson
23e0d16b5f build: Build libraries in the bin directory on win32 2012-01-12 13:59:05 -08:00
Niko Matsakis
8818f42b19 make parser disambiguate fn~ at top level correctly 2012-01-12 13:47:38 -08:00