rust/src/librustdoc
bors f65d96fe3f Auto merge of #35340 - michaelwoerister:incr-comp-cli-args, r=nikomatsakis
Take commandline arguments into account for incr. comp.

Implements the conservative strategy described in https://github.com/rust-lang/rust/issues/33727.

From now one, every time a new commandline option is added, one has to specify if it influences the incremental compilation cache. I've tried to implement this as automatic as possible: One just has to added either the `[TRACKED]` or the `[UNTRACKED]` marker next to the field. The `Options`, `CodegenOptions`, and `DebuggingOptions` definitions in `session::config` show plenty of examples.

The PR removes some cruft from `session::config::Options`, mostly unnecessary copies of flags also present in `DebuggingOptions` or `CodeGenOptions` in the same struct.

One notable removal is the `cfg` field that contained the values passed via `--cfg` commandline arguments. I chose to remove it because (1) its content is only a subset of what later is stored in `hir::Crate::config` and it's pretty likely that reading the cfgs from `Options` would not be what you wanted, and (2) we could not incorporate it into the dep-tracking hash of the `Options` struct because of how the test framework works, leaving us with a piece of untracked but vital data.

It is now recommended (just as before) to access the crate config via the `krate()` method in the HIR map.

Because the `cfg` field is not present in the `Options` struct any more, some methods in the `CompilerCalls` trait now take the crate config as an explicit parameter -- which might constitute a breaking change for plugin authors.
2016-08-15 08:35:18 -07:00
..
clean rustc: add TyAnon (impl Trait) to the typesystem. 2016-08-12 06:43:34 +03:00
html syntax: add anonymized type syntax, i.e. impl TraitA+TraitB. 2016-08-12 06:43:34 +03:00
build.rs bootstrap: Add directives to not double-link libs 2016-02-11 11:12:32 -08:00
Cargo.toml Update gcc crate dependency to 0.3.27. 2016-07-30 15:39:13 -05:00
core.rs Remove the 'cfg' field from session::config::Options. 2016-08-11 09:56:00 -04:00
doctree.rs Address comments and fix travis warning 2016-06-23 08:07:35 -04:00
externalfiles.rs try! -> ? 2016-03-22 22:01:37 -05:00
flock.rs Rename sunos to solaris 2016-01-31 19:01:30 +03:00
fold.rs Make the rendering process less pass-aware 2016-04-02 12:00:55 +02:00
lib.rs Add the notion of a dependency tracking status to commandline arguments. 2016-08-11 09:56:00 -04:00
markdown.rs Add the notion of a dependency tracking status to commandline arguments. 2016-08-11 09:56:00 -04:00
passes.rs rustdoc: Fix a few stripping issues 2016-06-27 23:26:29 +01:00
plugins.rs Remove rustdocs json format 2016-04-07 06:01:55 +02:00
test.rs Remove the 'cfg' field from session::config::Options. 2016-08-11 09:56:00 -04:00
visit_ast.rs Rollup merge of #34479 - ollie27:rustdoc_renamed_reexport_list, r=GuillaumeGomez 2016-06-28 16:05:15 +02:00
visit_lib.rs Linkify extern crates on rustdoc pages 2016-04-25 11:26:33 +02:00