Commit Graph

2593 Commits

Author SHA1 Message Date
Graydon Hoare 376b087f3f Add Eric to AUTHORS. 2011-05-17 14:59:25 -07:00
Eric Holk cff9a3cc2a Fixing compile problems from recent changes. 2011-05-17 14:38:32 -07:00
Eric Holk cf02c67137 Removing the TODO comment. 2011-05-17 14:38:32 -07:00
Eric Holk 8d10594ed5 Added a few more expr_spawn cases so the spawn.rs test case gets a little further before failing. 2011-05-17 14:38:32 -07:00
Patrick Walton 37768cba92 rustc: Don't rebuild call or bind expressions during typechecking 2011-05-17 14:37:23 -07:00
Patrick Walton f300de2963 rustc: Make return value checking warnings a little prettier. Also introduce a new "note" diagnostic level. 2011-05-17 14:12:49 -07:00
Patrick Walton 5047ab0b0c rustc: Flatten annotations 2011-05-17 13:55:32 -07:00
Marijn Haverbeke a90df393f9 Alias-ify the parser and lexer
This only shaves a measly 19k off the rustc binary... but hey, every
little thing helps.
2011-05-17 20:45:49 +02:00
Marijn Haverbeke 09d8ef8d51 Finally rename std::_xxx to std::xxx
Except for _task, which is still a keyword.
2011-05-17 20:41:41 +02:00
Graydon Hoare 6067050656 Add Paul to AUTHORS. 2011-05-17 06:04:30 +00:00
Paul Stansifer 1fdc75ee7c Parser fix: 'fail' was eating the next token that came after it. 2011-05-17 05:40:17 +00:00
Marijn Haverbeke f7df3696de Switch pretty printer to new vec syntax 2011-05-17 07:19:34 +02:00
Brian Anderson 63cf381ca1 stdlib: Remove transitional extfmt.RT module 2011-05-17 00:58:52 -04:00
Brian Anderson fbfd8552ab Return a better result from blocks. Closes issue #377
Blocks return in a copy of the result of their ending expression, not the
direct result of the ending expression, as that may be a local variable which
gets zeroed by drop_slot.
2011-05-17 00:46:56 -04:00
Graydon Hoare 4539b3f6ab Register new snapshots. 2011-05-16 19:57:03 -07:00
Graydon Hoare 4c5e315843 Rename aux.rs to auxiliary.rs since win32 doesn't like files named "aux". Really. 2011-05-16 19:21:29 -07:00
Graydon Hoare cc27e0f8c6 Update a couple tests that slipped through. 2011-05-16 19:08:59 -07:00
Graydon Hoare 550667a538 Fix snap rules to depend more correctly on rustc$(X) not rustc. 2011-05-16 19:05:08 -07:00
Graydon Hoare a2e2e78103 Merge remote branch 'origin/master' into HEAD
Conflicts:
	src/comp/middle/trans.rs
2011-05-16 19:04:45 -07:00
Graydon Hoare fbbc1a77d2 Rewrite everything to use [] instead of vec() in value position. 2011-05-16 18:21:22 -07:00
Graydon Hoare ae030c5bf2 Begin vec() -> [] transition. 2011-05-16 17:04:12 -07:00
Tim Chevalier 41b7af9652 make the return-checker happy about pretty::pp::base_indent 2011-05-16 16:59:30 -07:00
Tim Chevalier 387a8888ee Fix get_os and get_arch
get_os and get_arch were failing to return a value in the error
case; they were also assuming that strings are indexed from 1. No
idea how they ever worked, but anyway, fixed.
2011-05-16 16:59:30 -07:00
Tim Chevalier b42bb2cff2 Two tests that the typechecker correctly unifies type arguments in patterns with their expected tag types 2011-05-16 16:59:30 -07:00
Tim Chevalier 971b5d5151 Started adding support for return checking and non-returning function annotations
* Reorganized typestate into several modules.

* Made typestate check that any function with a non-nil return type
  returns a value. For now, the check is a warning and not an error
  (see next item).

* Added a "bot" type (prettyprinted as _|_), for constructs like be, ret, break, cont, and
  fail that don't locally return a value that can be inspected. "bot"
  is distinct from "nil". There is no concrete syntax for _|_, while
  the concrete syntax for the nil type is ().

* Added support to the parser for a ! annotation on functions whose
  result type is _|_. Such a function is required to have either a
  fail or a call to another ! function that is reached in all control
  flow paths. The point of this annotation is to mark functions like
  unimpl() and span_err(), so that an alt with a call to err() in one
  case isn't a false positive for the return-value checker. I haven't
  actually annotated anything with it yet.

* Random bugfixes:

* * Fixed bug in trans::trans_binary that was throwing away the
    cleanups for nested subexpressions of an and or or
    (tests: box-inside-if and box-inside-if2).

** In typeck, unify the expected type arguments of a tag with the
   actual specified arguments.
2011-05-16 16:59:25 -07:00
Tim Chevalier c75125fcce Noticed that metadata::Encode::enc_sty didn't have a case for ty_task, so I added one (though this wasn't causing the problem I was seeing... 2011-05-16 16:13:11 -07:00
Tim Chevalier 251cbaba63 Added .bz2 and stage1 directory to .gitignore 2011-05-16 16:13:11 -07:00
Tim Chevalier e217981a2c add dl/ and .pyc files to .gitignore 2011-05-16 16:13:11 -07:00
Patrick Walton f74298215c rustc: Fix indentation in typeck::check_lit() 2011-05-16 15:24:32 -07:00
Patrick Walton 1fc1ad91ce rustc: Don't rebuild the call expression in typeck::replace_expr_type() 2011-05-16 15:20:11 -07:00
Patrick Walton 278d64dafc rustc: Don't unpack annotations in trans::lval_generic_fn() 2011-05-16 15:20:11 -07:00
Graydon Hoare 9ac29480ce Be a bit noisier about being in a transition. 2011-05-16 15:14:58 -07:00
Graydon Hoare d577f5bdf9 Let the snapshot-file parser parse empty T lines, since they are used to start a transition. 2011-05-16 15:14:44 -07:00
Patrick Walton 3ea3d9eed6 rustc: Make the parser use the interner 2011-05-16 14:54:10 -07:00
Kelly Wilson b91ef944c8 Replace --bitcode with the canonical --emit-llvm 2011-05-16 14:07:43 -07:00
Kelly Wilson 196351aa44 Add automatic exe generation capabilities. Add --bitcode flag to generate only an LLVM bitcode file. 2011-05-16 14:07:43 -07:00
Patrick Walton 32b8dcb97c rustc: Factor out the code that interns types into an "interner" data structure 2011-05-16 13:58:13 -07:00
Patrick Walton 3760bfab87 rustc: Don't rebuild AST patterns during typechecking 2011-05-16 11:45:00 -07:00
Patrick Walton ca51b49c0a rustc: Replace the redundant typeck::node_ann_ty_params() with ty::ann_to_type_params() 2011-05-16 11:43:50 -07:00
Patrick Walton 3aaf02b907 rustc: Make the type collection pass no longer rebuild the AST 2011-05-16 10:34:32 -07:00
Patrick Walton 525a5c582f rustc: Fix indentation in ty_param_count_and_ty_for_def() 2011-05-16 10:32:38 -07:00
Patrick Walton 594c70f788 rustc: Add an item_ann() accessor function 2011-05-16 10:32:38 -07:00
Brian Anderson f77c5ba512 rustc: Wait until generic glue is actually emitted to define it as internal
The verifier was not liking this when generating unoptimized bitcode. Per LLVM
docs it is not valid for function declarations to be marked internal, but
their implementations may be.
2011-05-15 19:53:06 -04:00
Brian Anderson 8eaafdaa2d rustc: Rename 'Unify' modules to 'unify' 2011-05-14 21:13:47 -04:00
Brian Anderson f33d490032 Remove xfail-boot lines from tests 2011-05-14 21:05:22 -04:00
Brian Anderson 072305af13 Remove CFG_OCAMLC_OPT 2011-05-14 16:08:22 -04:00
Patrick Walton de421afa55 rustc: Use walk instead of fold for the first item collection pass 2011-05-14 11:03:10 -07:00
Patrick Walton 8b3f359442 rustc: Change "Collect" to "collect" 2011-05-14 11:03:10 -07:00
Brian Anderson ec30c71296 Add a regression test for issue #374 (XFAILed) 2011-05-14 13:29:49 -04:00
Brian Anderson fb76c25729 WIP 2011-05-14 13:11:37 -04:00