rustc: Don't deduplicate libraries linked to

Linker argument order with respect to libraries is important enough that we
shouldn't be attempting to filter out libraries getting passed through to the
linker. When linking with a native library that has multiple dependant native
libraries, it's useful to have control over the link argument order.
libstd: Add some functionality to `Vec<T>`
libsyntax: Mechanically change `~[T]` to `Vec<T>`
libsyntax: Fix errors arising from the automated `~[T]` conversion
librustc: Fix errors arising from the automated `~[T]` conversion
librustdoc: Fix errors arising from the automated `~[T]` conversion
libfourcc: Fix errors arising from the automated `~[T]` conversion
librustc: add LLVM LDFLAGS to deps

This commit let librustc automatically pickup LDFLAGS dependencies
inherited from LLVM, which may otherwise result in undefined
references to external symbols under certain linking environment.

A symptom of this issue is eg. a failure when trying to link against
librustc (due to unresolved ffi_*i symbols), while using a system-wide
LLVM.

Signed-off-by: Luca Bruno <lucab@debian.org>
auto merge of #12637 : pcwalton/rust/devecing, r=alexcrichton

r? @alexcrichton
travis: remove manually added RUSTFLAGS

Indirect dependencies should now be picked up through the
autogenerated llvmdeps.rs instead.

Signed-off-by: Luca Bruno <lucab@debian.org>
auto merge of #12651 : lucab/rust/llvmdep-ldflags, r=alexcrichton

This commit let librustc automatically pickup LDFLAGS dependencies
inherited from LLVM, which may otherwise result in undefined
references to external symbols under certain linking environment.

A symptom of this issue is eg. a failure when trying to link against
librustc (due to unresolved ffi_* symbols), while using a system-wide
LLVM.

Signed-off-by: Luca Bruno <lucab@debian.org>
Add /etc/terminfo to the terminfo search paths
auto merge of #12656 : Armavica/rust/terminfo, r=sfackler

According to `/etc/terminfo/README`,
```
This directory is for system-local terminfo descriptions. By default,
ncurses will search ${HOME}/.terminfo first, then /etc/terminfo (this
directory), then /lib/terminfo, and last not least /usr/share/terminfo.
```
Expand string literals and exprs inside of macros

A couple of syntax extensions manually expanded expressions, but it
wasn't done universally, most noticably inside of asm!().

There's also a bit of random cleanup.
test: Ignore some phase(syntax) tests

These tests are failing on the snap builders, and are now tagged with a FIXME.

cc #12102
auto merge of #12658 : sfackler/rust/asm-expand, r=alexcrichton

A couple of syntax extensions manually expanded expressions, but it
wasn't done universally, most noticably inside of asm!().

There's also a bit of random cleanup.
Make visible types public in rustc
auto merge of #12659 : alexcrichton/rust/fix-snap, r=sfackler

These tests are failing on the snap builders, and are now tagged with a FIXME.

cc #12102
auto merge of #12662 : sfackler/rust/unexported-type, r=cmr
Emacs: Remove README warning of old whitespace bug

The incompatibility of rust-mode with global-whitespace-mode warned
about in the README was actually fixed by commit 581b3db3b3.  Remove the
warning from the README and close #3994.