aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/ASTMerge.cpp
diff options
context:
space:
mode:
authorAnutosh Bhat <andersonbhat491@gmail.com>2025-04-25 20:05:00 +0530
committerGitHub <noreply@github.com>2025-04-25 07:35:00 -0700
commit9cbbb74d370c09e13b8412f21dccb7d2c4afc6a4 (patch)
treef9ae166df0fc653762c9434280ca5d8ab689ebb6 /clang/lib/Frontend/ASTMerge.cpp
parentdb53dfce415f47b964616e271350223e8a08f217 (diff)
downloadllvm-9cbbb74d370c09e13b8412f21dccb7d2c4afc6a4.zip
llvm-9cbbb74d370c09e13b8412f21dccb7d2c4afc6a4.tar.gz
llvm-9cbbb74d370c09e13b8412f21dccb7d2c4afc6a4.tar.bz2
[wasm-ld] Refactor WasmSym from static globals to per-link context (#134970)
Towards #https://github.com/llvm/llvm-project/issues/134809#issuecomment-2787206873 This change moves WasmSym from a static global struct to an instance owned by Ctx, allowing it to be reset cleanly between linker runs. This enables safe support for multiple invocations of wasm-ld within the same process Changes done - Converted WasmSym from a static struct to a regular struct with instance members. - Added a std::unique_ptr<WasmSym> wasmSym field inside Ctx. - Reset wasmSym in Ctx::reset() to clear state between links. - Replaced all WasmSym:: references with ctx.wasmSym->. - Removed global symbol definitions from Symbols.cpp that are no longer needed. Clearing wasmSym in ctx.reset() ensures a clean slate for each link invocation, preventing symbol leakage across runs—critical when using wasm-ld/lld as a reentrant library where global state can cause subtle, hard-to-debug errors. --------- Co-authored-by: Vassil Vassilev <v.g.vassilev@gmail.com>
Diffstat (limited to 'clang/lib/Frontend/ASTMerge.cpp')
0 files changed, 0 insertions, 0 deletions