Use an absolute path in test_process_output_fail_to_start

This test is designed to ensure that running a non-existent executable
results in a correct error message (FileNotFound in this case of this
test).  However, if you try to run an executable that doesn't exist, and
that requires searching through the $PATH, and one of the $PATH components
is not readable, then a PermissionDenied error will be returned, instead
of FileNotFound.
Unhide lines in rustdoc's doc -- Closes #11645
Add a limited prim type lookup for safer const expr evaluation
Fix SIMD bit shifts
stop making visit glue for closures and traits
Allow empty functional updating of structs

Fixes #8972
use a more efficient vtable representation

[TyDesc, ... methods] -> [destructor, ... methods]
Add test for issue 6157
Remove unused imports.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
Prefix _ to unused variables.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
Append ; to #[allow(dead_code)].

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
remove a layer of indirection from most intrinsics
Rename std::borrow to std::reference.

Fixes #11814
Remove double-use of logging.
Remove seldom-used std::reference functions.
Check enum and struct representability properly (issues #3008 and #3779)
Add compile-fail tests for non-representable structs and enums
Consider types that contain fixed-length-zero vectors of themselves as non-representable until #11924 is resolved
auto merge of #11839 : typelist/rust/issue3008, r=huonw

It was possible to trigger a stack overflow in rustc because the routine used to verify enum representability,
type_structurally_contains, would recurse on inner types until hitting the original type. The overflow condition was when a different structurally recursive type (enum or struct) was contained in the type being checked.

I suspect my solution isn't as efficient as it could be. I pondered adding a cache of previously-seen types to avoid duplicating work (if enums A and B both contain type C, my code goes through C twice), but I didn't want to do anything that may not be necessary.

I'm a new contributor, so please pay particular attention to any unidiomatic code, misuse of terminology, bad naming of tests, or similar horribleness :)

Updated to verify struct representability as well.

Fixes #3008.
Fixes #3779.
Upgrade LLVM

This upgrade brings commit by @eddyb to help optimizations of virtual calls in
a few places (https://github.com/llvm-mirror/llvm/commit/6d2bd95) as well as a
commit by @c-a to *greatly* improve the runtime of the optimization passes
(https://github.com/rust-lang/llvm/pull/3).

Nice work to these guys!