return false;
}
-MCSymbol *AsmParser::CreateSymbol(StringRef Name) {
- // FIXME: Inline into callers.
- return Ctx.GetOrCreateSymbol(Name);
-}
-
/// ParsePrimaryExpr - Parse a primary expression and return it.
/// primaryexpr ::= (parenexpr
/// primaryexpr ::= symbol
case AsmToken::Identifier: {
// This is a symbol reference.
std::pair<StringRef, StringRef> Split = getTok().getIdentifier().split('@');
- MCSymbol *Sym = CreateSymbol(Split.first);
+ MCSymbol *Sym = getContext().GetOrCreateSymbol(Split.first);
// Mark the symbol as used in an expression.
Sym->setUsedInExpr(true);
// implicitly marked as external.
MCSymbol *Sym;
if (LocalLabelVal == -1)
- Sym = CreateSymbol(IDVal);
+ Sym = getContext().GetOrCreateSymbol(IDVal);
else
Sym = Ctx.CreateDirectionalLocalSymbol(LocalLabelVal);
if (!Sym->isUndefined() || Sym->isVariable())
return Error(EqualLoc, "invalid reassignment of non-absolute variable '" +
Name + "'");
} else
- Sym = CreateSymbol(Name);
+ Sym = getContext().GetOrCreateSymbol(Name);
// FIXME: Handle '.'.
if (ParseIdentifier(Name))
return TokError("expected identifier in directive");
- MCSymbol *Sym = CreateSymbol(Name);
+ MCSymbol *Sym = getContext().GetOrCreateSymbol(Name);
getStreamer().EmitSymbolAttribute(Sym, Attr);
return TokError("expected identifier in directive");
// Handle the identifier as the key symbol.
- MCSymbol *Sym = CreateSymbol(Name);
+ MCSymbol *Sym = getContext().GetOrCreateSymbol(Name);
if (getLexer().isNot(AsmToken::Comma))
return TokError("unexpected token in '.type' directive");
return TokError("expected identifier in directive");
// Handle the identifier as the key symbol.
- MCSymbol *Sym = CreateSymbol(Name);
+ MCSymbol *Sym = getContext().GetOrCreateSymbol(Name);
if (getLexer().isNot(AsmToken::Comma))
return TokError("unexpected token in directive");