summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/WasmObjectWriter.cpp
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2017-12-03 01:19:23 +0000
committerSam Clegg <sbc@chromium.org>2017-12-03 01:19:23 +0000
commita2b35dac03f0bb58f9b8bba0810257616a1a0e21 (patch)
treea4c7c2f287250d981cc5880ce79cce50d1e8c2a2 /llvm/lib/MC/WasmObjectWriter.cpp
parent2e8be9d1269af2cf0cdb896e204e6b5823d66c53 (diff)
downloadbcm5719-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.cpp8
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;
OpenPOWER on IntegriCloud