Add tests for E-needstest issues
Translate SIMD construction as `insertelement`s and a single store.

This almost completely avoids GEPi's and pointer manipulation,
postponing it until the end with one big write of the whole vector. This
leads to a small speed-up in compilation, and makes it easier for LLVM
to work with the values, e.g. with `--opt-level=0`,

    pub fn foo() -> f32x4 {
        f32x4(0.,0.,0.,0.)
    }

was previously compiled to

    define <4 x float> @_ZN3foo20h74913e8b13d89666eaaE() unnamed_addr #0 {
    entry-block:
      %sret_slot = alloca <4 x float>
      %0 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 0
      store float 0.000000e+00, float* %0
      %1 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 1
      store float 0.000000e+00, float* %1
      %2 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 2
      store float 0.000000e+00, float* %2
      %3 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 3
      store float 0.000000e+00, float* %3
      %4 = load <4 x float>* %sret_slot
      ret <4 x float> %4
    }

but now becomes

    define <4 x float> @_ZN3foo20h74913e8b13d89666eaaE() unnamed_addr #0 {
    entry-block:
      ret <4 x float> zeroinitializer
    }
rustc: Support stability attributes on crates

This commit adds support for linting `extern crate` statements for stability
attributes attached to the crate itself. This is likely to be the mechanism used
to deny access to experimental crates that are part of the standard
distribution.

cc #18585
std::error: fix stray doc comment
test: correct spelling error & inverted match.
librustc_back: Fix triple for linux armhf.
librustc: Call return_type only for functions.
Make trans::adt know that some structs are unsized
Test
Added ToSocketAddr trait

This commit adds ToSocketAddr trait to std::io::net::ip module. This
trait is used for generic conversion from different types (strings,
(string, u16) tuples, etc.) into a SocketAddr instance. It supports
multiple output SocketAddresses when it is appropriate (e.g. DNS name
resolution).

This trait is going to be used by TcpStream, TcpListener and UdpSocket
structures.
Switched io::net::tcp to use ToSocketAddr

TcpListener and TcpStream are converted to use ToSocketAddr trait in
their constructor methods.

[breaking-change]
Migrated io::net::udp over to ToSocketAddr

UdpSocket constructor methods now use ToSocketAddr trait instead of
SocketAddr.

[breaking-change]
Fixed other tests to pass make check
Fixed tidy errors
Added more documentation on ToSocketAddr trait
debuginfo: Make LLDB test make targets dependent on lldb python scripts.
debuginfo: Add timeout before running executable in LLDB tests.

This should help with a potential race condition.
rename deprecated non_uppercase_statics to non_upper_case_globals
Repair various cases where values of distinct types were being operated
upon (e.g., `&int` added to `int`).
Add impls of the comparison operators for fixed-length arrays of lengths 0...32 and repair various cases where slices and fixed-length arrays were being compared.