aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCParser/ELFAsmParser.cpp
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2013-01-16 00:50:52 +0000
committerEli Bendersky <eliben@google.com>2013-01-16 00:50:52 +0000
commit29b9f477964e204c9f018dff77f6f889773f64d9 (patch)
tree292327b4d223803a88e612c450000896f5aca8b5 /llvm/lib/MC/MCParser/ELFAsmParser.cpp
parent2abd5ef841a458d1f55ccfe424b2570d8213ad9f (diff)
downloadllvm-29b9f477964e204c9f018dff77f6f889773f64d9.zip
llvm-29b9f477964e204c9f018dff77f6f889773f64d9.tar.gz
llvm-29b9f477964e204c9f018dff77f6f889773f64d9.tar.bz2
Use the ExtensionDirectiveHandler type in other places where it makes sense.
Since we already have this type it's a shame to keep dragging a pair of object and method around explicitly. llvm-svn: 172584
Diffstat (limited to 'llvm/lib/MC/MCParser/ELFAsmParser.cpp')
-rw-r--r--llvm/lib/MC/MCParser/ELFAsmParser.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCParser/ELFAsmParser.cpp b/llvm/lib/MC/MCParser/ELFAsmParser.cpp
index 87126f0..eb39415 100644
--- a/llvm/lib/MC/MCParser/ELFAsmParser.cpp
+++ b/llvm/lib/MC/MCParser/ELFAsmParser.cpp
@@ -22,10 +22,12 @@ using namespace llvm;
namespace {
class ELFAsmParser : public MCAsmParserExtension {
- template<bool (ELFAsmParser::*Handler)(StringRef, SMLoc)>
+ template<bool (ELFAsmParser::*HandlerMethod)(StringRef, SMLoc)>
void AddDirectiveHandler(StringRef Directive) {
- getParser().AddDirectiveHandler(this, Directive,
- HandleDirective<ELFAsmParser, Handler>);
+ MCAsmParser::ExtensionDirectiveHandler Handler = std::make_pair(
+ this, HandleDirective<ELFAsmParser, HandlerMethod>);
+
+ getParser().AddDirectiveHandler(Directive, Handler);
}
bool ParseSectionSwitch(StringRef Section, unsigned Type,