diff options
| author | Stuart Pernsteiner <spernsteiner@mozilla.com> | 2014-08-01 12:27:12 -0700 |
|---|---|---|
| committer | Stuart Pernsteiner <spernsteiner@mozilla.com> | 2014-09-05 09:18:57 -0700 |
| commit | 73f8adcbc830b3099026832eadb1ee5f876e041b (patch) | |
| tree | 874582eb457b438645cbef6c8ce4e3cda57817dd /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | edc5cdcba2c217d3a4d75801190cc34096ee80c2 (diff) | |
| download | rust-73f8adcbc830b3099026832eadb1ee5f876e041b.tar.gz rust-73f8adcbc830b3099026832eadb1ee5f876e041b.zip | |
make separate compilation respect #[inline] attributes
Adjust the handling of `#[inline]` items so that they get translated into every compilation unit that uses them. This is necessary to preserve the semantics of `#[inline(always)]`. Crate-local `#[inline]` functions and statics are blindly translated into every compilation unit. Cross-crate inlined items and monomorphizations of `#[inline]` functions are translated the first time a reference is seen in each compilation unit. When using multiple compilation units, inlined items are given `available_externally` linkage whenever possible to avoid duplicating object code.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
