aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
diff options
context:
space:
mode:
authorWouter van Oortmerssen <aardappel@gmail.com>2019-06-28 20:29:16 +0000
committerWouter van Oortmerssen <aardappel@gmail.com>2019-06-28 20:29:16 +0000
commit597ba1800869e6db6819014ce5e843a6a709bb45 (patch)
tree5c47bdfcebfcd81c75288dffe0bbbd80b312b4ef /llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
parent30e5cf1d8f3ae419d9786595558707b1f230d081 (diff)
downloadllvm-597ba1800869e6db6819014ce5e843a6a709bb45.zip
llvm-597ba1800869e6db6819014ce5e843a6a709bb45.tar.gz
llvm-597ba1800869e6db6819014ce5e843a6a709bb45.tar.bz2
[WebAssembly] Assembler: Improve section parsing.
Reviewers: sbc100 Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63947 llvm-svn: 364681
Diffstat (limited to 'llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp b/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
index 196ef2d..b891f886 100644
--- a/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
+++ b/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
@@ -748,6 +748,10 @@ public:
auto SymName = Symbol->getName();
if (SymName.startswith(".L"))
return; // Local Symbol.
+ // Only create a new text section if we're already in one.
+ auto CWS = cast<MCSectionWasm>(getStreamer().getCurrentSection().first);
+ if (!CWS || !CWS->getKind().isText())
+ return;
auto SecName = ".text." + SymName;
auto WS = getContext().getWasmSection(SecName, SectionKind::getText());
getStreamer().SwitchSection(WS);