diff options
| author | Sam Clegg <sbc@chromium.org> | 2017-12-03 01:19:23 +0000 |
|---|---|---|
| committer | Sam Clegg <sbc@chromium.org> | 2017-12-03 01:19:23 +0000 |
| commit | a2b35dac03f0bb58f9b8bba0810257616a1a0e21 (patch) | |
| tree | a4c7c2f287250d981cc5880ce79cce50d1e8c2a2 /llvm/lib/MC/WasmObjectWriter.cpp | |
| parent | 2e8be9d1269af2cf0cdb896e204e6b5823d66c53 (diff) | |
| download | bcm5719-llvm-a2b35dac03f0bb58f9b8bba0810257616a1a0e21.tar.gz bcm5719-llvm-a2b35dac03f0bb58f9b8bba0810257616a1a0e21.zip | |
Reland "[WebAssembly] Add visibility flag to Wasm symbol flags""
Original change was rL319488.
This was reverted rL319602 due to a gcc 7.1 warning.
Differential Revision: https://reviews.llvm.org/D40772
llvm-svn: 319626
Diffstat (limited to 'llvm/lib/MC/WasmObjectWriter.cpp')
| -rw-r--r-- | llvm/lib/MC/WasmObjectWriter.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/MC/WasmObjectWriter.cpp b/llvm/lib/MC/WasmObjectWriter.cpp index 6e9088b9d0d..42521ac72e2 100644 --- a/llvm/lib/MC/WasmObjectWriter.cpp +++ b/llvm/lib/MC/WasmObjectWriter.cpp @@ -1180,10 +1180,14 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm, << S.isExternal() << " isTemporary=" << S.isTemporary() << " isFunction=" << WS.isFunction() << " isWeak=" << WS.isWeak() + << " isHidden=" << WS.isHidden() << " isVariable=" << WS.isVariable() << "\n"); - if (WS.isWeak()) - SymbolFlags.emplace_back(WS.getName(), wasm::WASM_SYMBOL_BINDING_WEAK); + if (WS.isWeak() || WS.isHidden()) { + uint32_t Flags = (WS.isWeak() ? wasm::WASM_SYMBOL_BINDING_WEAK : 0) | + (WS.isHidden() ? wasm::WASM_SYMBOL_VISIBILITY_HIDDEN : 0); + SymbolFlags.emplace_back(WS.getName(), Flags); + } if (WS.isVariable()) continue; |

