about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTamir Duberstein <tamird@gmail.com>2017-11-26 12:09:35 -0500
committerTamir Duberstein <tamird@gmail.com>2017-11-28 18:15:28 -0500
commit658ea389fd753049bd8ef3f100ee4edb9c9f2a44 (patch)
tree521ed7a26f8e775ff3a97490b3631176cb21ee79
parent71340ca4e181b824bcefa887f1be60dd0b7352ce (diff)
downloadrust-658ea389fd753049bd8ef3f100ee4edb9c9f2a44.tar.gz
rust-658ea389fd753049bd8ef3f100ee4edb9c9f2a44.zip
rustc_llvm: remove stale references
...that were removed in 77c3bfa7429abf87b76ba84108df018d9e9d90e2.
-rw-r--r--.gitignore1
-rw-r--r--src/librustc_llvm/ffi.rs18
2 files changed, 7 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore
index 309fbd95345..57407a2399a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -95,7 +95,6 @@ config.stamp
 keywords.md
 lexer.ml
 src/etc/dl
-src/librustc_llvm/llvmdeps.rs
 tmp.*.rs
 version.md
 version.ml
diff --git a/src/librustc_llvm/ffi.rs b/src/librustc_llvm/ffi.rs
index dd64d76bc0c..1c2fa1bbb48 100644
--- a/src/librustc_llvm/ffi.rs
+++ b/src/librustc_llvm/ffi.rs
@@ -505,17 +505,13 @@ pub mod debuginfo {
 
 pub enum ModuleBuffer {}
 
-// Link to our native llvm bindings (things that we need to use the C++ api
-// for) and because llvm is written in C++ we need to link against libstdc++
-//
-// You'll probably notice that there is an omission of all LLVM libraries
-// from this location. This is because the set of LLVM libraries that we
-// link to is mostly defined by LLVM, and the `llvm-config` tool is used to
-// figure out the exact set of libraries. To do this, the build system
-// generates an llvmdeps.rs file next to this one which will be
-// automatically updated whenever LLVM is updated to include an up-to-date
-// set of the libraries we need to link to LLVM for.
-#[link(name = "rustllvm", kind = "static")] // not quite true but good enough
+// This annotation is primarily needed for MSVC where attributes like
+// dllimport/dllexport are applied and need to be correct for everything to
+// link successfully. The #[link] annotation here says "these symbols are
+// included statically" which means that they're all exported with dllexport
+// and from the rustc_llvm dynamic library. Otherwise the rustc_trans dynamic
+// library would not be able to access these symbols.
+#[link(name = "rustllvm", kind = "static")]
 extern "C" {
     // Create and destroy contexts.
     pub fn LLVMContextCreate() -> ContextRef;