diff options
Diffstat (limited to 'llvm/tools/llvm-mc/AsmParser.cpp')
| -rw-r--r-- | llvm/tools/llvm-mc/AsmParser.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/tools/llvm-mc/AsmParser.cpp b/llvm/tools/llvm-mc/AsmParser.cpp index a2cdea4c4dc..fe9d4f3352f 100644 --- a/llvm/tools/llvm-mc/AsmParser.cpp +++ b/llvm/tools/llvm-mc/AsmParser.cpp @@ -527,6 +527,9 @@ bool AsmParser::ParseStatement() { if (!strcmp(IDVal, ".zerofill")) return ParseDirectiveDarwinZerofill(); + if (!strcmp(IDVal, ".subsections_via_symbols")) + return ParseDirectiveDarwinSubsectionsViaSymbols(); + Warning(IDLoc, "ignoring directive for now"); EatToEndOfStatement(); return false; @@ -1052,3 +1055,16 @@ bool AsmParser::ParseDirectiveDarwinZerofill() { return false; } + +/// ParseDirectiveDarwinSubsectionsViaSymbols +/// ::= .subsections_via_symbols +bool AsmParser::ParseDirectiveDarwinSubsectionsViaSymbols() { + if (Lexer.isNot(asmtok::EndOfStatement)) + return TokError("unexpected token in '.subsections_via_symbols' directive"); + + Lexer.Lex(); + + Out.SubsectionsViaSymbols(); + + return false; +} |

