Issue title: "ignoring specified output filename for library" warning even if output filename is not ignored
 Issue body: Given foo.rs:

``` rust
#[crate_type="lib"];
static x: int = 1;
```

`rustc --emit-llvm foo.rs -o bar.bc` generates bar.bc, but "ignoring specified output filename for library" warning is emitted.

 Comments: 
 Comment 0: Even if you're in fact building a library, the filename passed with `-o` is apparently used (though the extension is discarded and it's surrounded by `lib` and `-<hash>-<version>.so` or whatever).

When is the output filename actually entirely ignored?

 Comment 1: Oh, I guess when there is a `link(name=...)` attribute, that overrides the commandline argument... nevermind.

 Comment 2: The link attribute also _has_ to be at the top and end with a semicolon to not get the warning, apparently.

 Comment 3: This has been fixed since the output flags were redesigned awhile back.

{'source': 'GithubIssues', 'repo_name_with_owner': 'rust-lang/rust', 'issue_id': 19446369, 'repo_stars': 73938.0}