Skip to content

Commit 92814f2

Browse files
authored
Merge pull request rust-lang#109 from wasmerio/thread-init
Use std::sync::RwLock to make LLVM target registry access thread-safe.
2 parents 463c1d4 + 81f0406 commit 92814f2

File tree

10 files changed

+658
-511
lines changed

10 files changed

+658
-511
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ libc = "0.2"
6363
llvm-sys = "80.1"
6464
regex = "1"
6565
static-alloc = { version = "0.1", optional = true }
66+
lazy_static = "1.3.0"
6667

6768
[badges]
6869
travis-ci = { repository = "TheDan64/inkwell" }

src/context.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ impl Context {
5252
///
5353
/// # Example
5454
///
55-
/// ```
55+
/// ```no_run
5656
/// use inkwell::context::Context;
5757
///
5858
/// let context = Context::create();
@@ -69,7 +69,7 @@ impl Context {
6969
///
7070
/// # Example
7171
///
72-
/// ```
72+
/// ```no_run
7373
/// use inkwell::context::Context;
7474
///
7575
/// let context = Context::get_global();
@@ -86,7 +86,7 @@ impl Context {
8686
///
8787
/// # Example
8888
///
89-
/// ```
89+
/// ```no_run
9090
/// use inkwell::context::Context;
9191
///
9292
/// let context = Context::create();
@@ -104,7 +104,7 @@ impl Context {
104104
///
105105
/// # Example
106106
///
107-
/// ```
107+
/// ```no_run
108108
/// use inkwell::context::Context;
109109
///
110110
/// let context = Context::create();

src/execution_engine.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ impl ExecutionEngine {
255255
/// # Examples
256256
///
257257
///
258-
/// ```rust
258+
/// ```rust,no_run
259259
/// # use inkwell::targets::{InitializationConfig, Target};
260260
/// # use inkwell::context::Context;
261261
/// # use inkwell::OptimizationLevel;

src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ extern crate libc;
1616
extern crate llvm_sys;
1717
#[macro_use]
1818
extern crate inkwell_internal_macros;
19+
#[macro_use]
20+
extern crate lazy_static;
1921

2022
#[macro_use]
2123
pub mod support;

src/module.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ impl Module {
155155
/// To use your own `Context`, see [inkwell::context::create_module()](../context/struct.Context.html#method.create_module)
156156
///
157157
/// # Example
158-
/// ```
158+
/// ```no_run
159159
/// use inkwell::context::Context;
160160
/// use inkwell::module::Module;
161161
///
@@ -181,7 +181,7 @@ impl Module {
181181
/// `Linkage::ExternalLinkage` will be used.
182182
///
183183
/// # Example
184-
/// ```
184+
/// ```no_run
185185
/// use inkwell::context::Context;
186186
/// use inkwell::module::{Module, Linkage};
187187
///
@@ -213,7 +213,7 @@ impl Module {
213213
/// Gets the `Context` from which this `Module` originates.
214214
///
215215
/// # Example
216-
/// ```
216+
/// ```no_run
217217
/// use inkwell::context::{Context, ContextRef};
218218
/// use inkwell::module::Module;
219219
///

src/passes.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ impl PassManagerBuilder {
8282
///
8383
/// # Example
8484
///
85-
/// ```
85+
/// ```no_run
8686
/// use inkwell::OptimizationLevel::Aggressive;
8787
/// use inkwell::module::Module;
8888
/// use inkwell::passes::{PassManager, PassManagerBuilder};
@@ -107,7 +107,7 @@ impl PassManagerBuilder {
107107
///
108108
/// # Example
109109
///
110-
/// ```
110+
/// ```no_run
111111
/// use inkwell::OptimizationLevel::Aggressive;
112112
/// use inkwell::passes::{PassManager, PassManagerBuilder};
113113
/// use inkwell::targets::{InitializationConfig, Target};
@@ -133,7 +133,7 @@ impl PassManagerBuilder {
133133
///
134134
/// # Example
135135
///
136-
/// ```
136+
/// ```no_run
137137
/// use inkwell::OptimizationLevel::Aggressive;
138138
/// use inkwell::passes::{PassManager, PassManagerBuilder};
139139
/// use inkwell::targets::{InitializationConfig, Target};

0 commit comments

Comments
 (0)