about summary refs log tree commit diff
path: root/src/librustc_trans/back/msvc
AgeCommit message (Collapse)AuthorLines
2017-06-01Support VS 2017Brian Anderson-497/+0
Fixes #38584
2017-05-27Remove trans-internal re-exports of rustc modulesRobin Kruppe-2/+2
The previous commit removed them from the public API, this rewrites the use statements to get rid of the non-standard re-exports.
2017-05-12Remove some unused macros from the rust codebaseest31-0/+1
Removes unused macros from: * libcore * libcollections The last use of these two macros was removed in commit b64c9d56700e2c41207166fe8709711ff02488ff when the char_range_at_reverse function was been removed. * librustc_errors Their last use was removed by commits 2f2c3e178325dc1837badcd7573c2c0905fab979 and 11dc974a38fd533aa692cea213305056cd3a6902. * libsyntax_ext * librustc_trans Also, put the otry macro in back/msvc/mod.rs under the same cfg argument as the places that use it.
2016-12-18Fix WindowsSeo Sanghyeon-3/+1
2016-06-28Make MSVC detection ludicrously robustPeter Atashian-168/+241
Should fix a few more edge cases Fixes https://github.com/rust-lang/rust/issues/31151 Fixes https://github.com/rust-lang/rust/issues/32159 Fixes https://github.com/rust-lang/rust/issues/34484 Improves https://github.com/rust-lang/rust-packaging/issues/50 Signed-off-by: Peter Atashian <retep998@gmail.com>
2016-01-20Add host toolchain DLLs to PATH when executing link.exePeter Atashian-83/+103
Fixes https://github.com/rust-lang/rust/issues/31063 Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-12-21Fix Universal CRT detection on weird setupsPeter Atashian-2/+9
Checks for a `10.` prefix on the subfolder Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-12-18Do not substitute type aliases during error reportingVadim Petrochenkov-1/+1
Type aliases are still substituted when determining impl publicity
2015-12-18Substitute type aliases before checking for privacyVadim Petrochenkov-1/+1
2015-12-18Fix the falloutVadim Petrochenkov-2/+2
2015-12-14Overhaul MSVC linker and Windows SDK detection codePeter Atashian-286/+173
Fixes https://github.com/rust-lang/rust/issues/30229 Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-11-09std: Migrate to the new libcAlex Crichton-2/+9
* Delete `sys::unix::{c, sync}` as these are now all folded into libc itself * Update all references to use `libc` as a result. * Update all references to the new flat namespace. * Moves all windows bindings into sys::c
2015-09-03Use `null()`/`null_mut()` instead of `0 as *const T`/`0 as *mut T`Vadim Petrochenkov-7/+8
2015-07-31Add Win10 SDK lib subfolder namePeter Atashian-7/+36
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-07-27Auto merge of #27250 - alexcrichton:ucrt, r=brsonbors-12/+76
Visual Studio 2015, recently released, includes the Universal CRT, a different flavor than was provided before. The binaries and header files for this library are included in new locations not previously known about by gcc-rs, and this commit adds support for the necessary probing to find these. Unfortunately there are no prior examples of this probing to be found in frameworks like CMake or clang, so this is done is a bit of a sketchy method today. It assumes that the installation is in a relatively standard format and then blindly looks for the location of the UCRT. I'd love to switch this over to using registry keys for probing, but I was currently unable to find such keys. This should enable the compiler to work outside VS 2015 dev tools prompts.
2015-07-24trans: Try to detect the Universal CRT on MSVCAlex Crichton-12/+76
Visual Studio 2015, recently released, includes the Universal CRT, a different flavor than was provided before. The binaries and header files for this library are included in new locations not previously known about by gcc-rs, and this commit adds support for the necessary probing to find these. Unfortunately there are no prior examples of this probing to be found in frameworks like CMake or clang, so this is done is a bit of a sketchy method today. It assumes that the installation is in a relatively standard format and then blindly looks for the location of the UCRT. I'd love to switch this over to using registry keys for probing, but I was currently unable to find such keys. This should enable the compiler to work outside VS 2015 dev tools prompts.
2015-07-23Rewrite the improper_ctypes lint.Eli Friedman-1/+2
Makes the lint a bit more accurate, and improves the quality of the diagnostic messages by explicitly returning an error message. The new lint is also a little more aggressive: specifically, it now rejects tuples, and it recurses into function pointers.
2015-07-01msvc: Lookup linker in windows registryAlex Crichton-0/+409
This commit alters the compiler to no longer "just run link.exe" but instead probe the system's registry to find where the linker is located. The default library search path (normally found through LIB) is also found through the registry. This also brings us in line with the default behavior of Clang, and much of the logic of where to look for information is copied over from Clang as well. Finally, this commit removes the makefile logic for updating the environment variables for the compiler, except for stage0 where it's still necessary. The motivation for this change is rooted in two positions: * Not having to set up these environment variables is much less hassle both for the bootstrap and for running the compiler itself. This means that the compiler can be run outside of VS shells and be run inside of cmd.exe or a MSYS shell. * When dealing with cross compilation, there's not actually a set of environment variables that can be set for the compiler. This means, for example, if a Cargo compilation is targeting 32-bit from 64-bit you can't actually set up one set of environment variables. Having the compiler deal with the logic instead is generally much more convenient!