about summary refs log tree commit diff
path: root/src/comp/driver/rustc.rs
AgeCommit message (Collapse)AuthorLines
2011-06-29"Try" push without -lssp on windows to see what needs it.Rafael Ávila de Espíndola-1/+1
2011-06-28Implement "claim"Tim Chevalier-2/+5
Implement "claim" (issue #14), which is a version of "check" that doesn't really do the check at runtime. It's an unsafe feature. The new flag --check-claims turns claims into checks automatically -- but it's off by default, so by default, the assertion in a claim doesn't execute at runtime.
2011-06-28Move glue.o to stageN/lib.Rafael Ávila de Espíndola-1/+1
2011-06-27Rename middle::metadata to metadata::cwriter. Move creader to metadataBrian Anderson-2/+2
Preparation for a lot more metadata refactoring
2011-06-27Record and link with used native libraries.Rafael Ávila de Espíndola-3/+10
2011-06-20Make trans use the new ast_map instead of building its ownMarijn Haverbeke-2/+2
2011-06-20Use ast_map in typeck, instead of building another indexMarijn Haverbeke-2/+2
2011-06-20Add a separate AST mapping phaseMarijn Haverbeke-2/+5
This will replace the various node_id-to-node mappings done in several other passes. This commit already uses the new map in resolve, dropping the ast_map that was built there before.
2011-06-20Get rid of def_ids and anns in AST nodes, use single node_idMarijn Haverbeke-4/+2
This reduces some redundancy in the AST data structures and cruft in the code that works with them. To get a def_id from a node_id, apply ast::local_def, which adds the local crate_num to the given node_id. Most code only deals with crate-local node_ids, and won't have to create def_ids at all.
2011-06-20Remember the library files we used in rustc and pass them to the "linker".Rafael Ávila de Espíndola-2/+5
This avoid the hardcoded -lstd, allows programs to use other crates and avoids any differences that may exist in the rustc and ld search logic.
2011-06-20Remove flags that are not used during linking.Rafael Ávila de Espíndola-5/+4
2011-06-19rustc: Re-introduce session.span_err, session.errBrian Anderson-1/+1
These errors are non-fatal. The session.abort_if_errors function needs to be called at strategic points to convert the previous errors to utter failure. Issue #440
2011-06-19rustc: Rename session.span_err -> span_fatal, err -> fatalBrian Anderson-5/+5
Issue #440
2011-06-19Revert previous 6 commits. Hopefully put out Windows fire.Brian Anderson-6/+6
Revert "rustc: Export only what's needed from middle::ty" This reverts commit 4255d58aa5db2a05362c4435a0e807205e1b8ed7. Revert "rustc: Make name resolution errors less fatal" This reverts commit b8ab9ea89c16c60237e7660804f4321f59ae0435. Revert "rustc: Make import resolution errors less fatal" This reverts commit 92a8ae94b971206bf0502da3dc5f416fcb24cc36. Revert "rustc: Export only what's used from middle::resolve" This reverts commit 4539a2cf7ad99851a165c98ed2f4e4a475cffd7d. Revert "rustc: Re-introduce session.span_err, session.err" This reverts commit 7fe9a88e31ae07f2fd89f6715efedd7e3edf49e6. Revert "rustc: Rename session.span_err -> span_fatal, err -> fatal" This reverts commit c394a7f49ac29a099994e243017065de2ff97f2a.
2011-06-19rustc: Re-introduce session.span_err, session.errBrian Anderson-1/+1
These errors are non-fatal. The session.abort_if_errors function needs to be called at strategic points to convert the previous errors to utter failure. Issue #440
2011-06-19rustc: Rename session.span_err -> span_fatal, err -> fatalBrian Anderson-5/+5
Issue #440
2011-06-18Add -lssp on windows in attempt to put out tinderbox; no idea why ssp seems ↵Graydon Hoare-1/+1
required on mingw.
2011-06-17rustc: Remove metadata from the session.Brian Anderson-2/+1
This mechanism was not being used for anything. Issue #487.
2011-06-17Put std in stageN/lib. This avoids windows trying to load stageN/std.ll whenRafael Ávila de Espíndola-2/+2
stageN/runstc.exe is run.
2011-06-17Automatically add a -L to the directory the binary is in.Rafael Ávila de Espíndola-4/+5
2011-06-16rustc: Change print_file to print_crateBrian Anderson-2/+2
The pretty-printer needs access to the crate attributes in order to reproduce inner crate attributes in standalone .rs files Issue #487
2011-06-16Reformat a bunch of recent churn.Graydon Hoare-11/+9
2011-06-15Refactor data structures representing constraints (again...)Tim Chevalier-5/+5
I added a "resolved" version of the ast::constr type -- ty::constr_def -- that has a def_id field instead of an ann_field. This is more consistent with other types and eliminates some checking. Incidentally, I removed the def_map argument to the top-level function in middle::alias, since the ty::ctxt already has a def_map field.
2011-06-15Add support for producing shared libraries directly in the rust driver.Rafael Ávila de Espíndola-22/+19
2011-06-15Reformat source tree (minus a couple tests that are still grumpy).Graydon Hoare-220/+168
2011-06-14Apply the makefile changes again, this time fixin the driver to not produce aRafael Ávila de Espíndola-5/+3
rustc.exe.exe.
2011-06-13Enough driver support to link an empty program on linux. WillRafael Ávila de Espíndola-5/+16
try to update the Makefiles to use it.
2011-06-11rustc: Link with main.oPatrick Walton-3/+4
2011-06-09Further support for predicate constraintsTim Chevalier-3/+4
Changed function types to include a list of constraints. Added code for parsing and pretty-printing constraints. This necessitated splitting pprust into two files (pprust and ppaux) to break a circulate dependency, as ty_to_str now needs to print out constraints, which may include literals, but pprust depended on ty.
2011-06-07rustc: Use a set-based approach to unification; remove ty_bound_param and ↵Patrick Walton-1/+1
ty_local. Sorry, big perf regression; will fix soon.
2011-06-06First take on an alias-safety checkerMarijn Haverbeke-0/+3
The alias checker works by ensuring that any value to which an alias is created is rooted in some way that ensures it outlives the alias. It is now disallowed to create an alias to the content of a mutable box, or to a box hanging off a mutable field. There is also machinery in place to prevent assignment to local variables whenever they are the root of a live alias.
2011-06-01rustc: Add a new mode to the pretty printer that prints out node IDs, for ↵Patrick Walton-3/+6
debugging
2011-06-01rustc: Remove else-after-return in mainPatrick Walton-21/+21
2011-06-01rustc: Fold --pretty and --typed-pretty into a single option with an ↵Patrick Walton-17/+39
optional argument
2011-05-31Now imports are not re-exported unless 'export' is explicitly used.Paul Stansifer-3/+3
2011-05-31rustc: Remove unneeded type params from alt patternsBrian Anderson-4/+4
2011-05-26Remove residual uses of fold, and fold itself.Graydon Hoare-3/+0
2011-05-26Add early returns to rustc main on non-compiling paths.Graydon Hoare-0/+2
2011-05-22rustc: More cleanup of rustc.rsBrian Anderson-65/+61
2011-05-22rustc: Some refactoring of rustc.rsBrian Anderson-46/+63
2011-05-22rustc: Cleanup formatting in rustc.rsBrian Anderson-16/+12
2011-05-20Options fix from erickt.Graydon Hoare-1/+1
2011-05-19Move type cache and node type table into type context.Graydon Hoare-12/+9
2011-05-19OptLevel changes. Accepts levels 0 to 3 only. '-O' is synonym for --OptLevel=2.Graydon Hoare-6/+39
2011-05-19Typestate checking code no longer uses fold -- only walk.Tim Chevalier-3/+3
2011-05-17rustc: Have typechecking no longer rebuild the ASTPatrick Walton-3/+1
2011-05-17rustc: Add a typed pretty-printing mode for debuggingPatrick Walton-8/+24
2011-05-17Finally rename std::_xxx to std::xxxMarijn Haverbeke-24/+24
Except for _task, which is still a keyword.
2011-05-16Merge remote branch 'origin/master' into HEADGraydon Hoare-14/+20
Conflicts: src/comp/middle/trans.rs
2011-05-16Rewrite everything to use [] instead of vec() in value position.Graydon Hoare-22/+22