[llvm] r213706 - [MCJIT] Teach RuntimeDyldChecker to handle underscores at the start of symbols.

Lang Hames lhames at gmail.com
Tue Jul 22 16:17:21 PDT 2014


Author: lhames
Date: Tue Jul 22 18:17:21 2014
New Revision: 213706

URL: http://llvm.org/viewvc/llvm-project?rev=213706&view=rev
Log:
[MCJIT] Teach RuntimeDyldChecker to handle underscores at the start of symbols.

RuntimeDyldChecker had been testing isalpha(Expr[0]) to recognise symbol tokens,
and throwing unrecognized token errors when it hit symbols with leading
underscores. This fixes that.


Modified:
    llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp

Modified: llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp?rev=213706&r1=213705&r2=213706&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp (original)
+++ llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp Tue Jul 22 18:17:21 2014
@@ -519,7 +519,7 @@ private:
       std::tie(SubExprResult, RemainingExpr) = evalParensExpr(Expr, PCtx);
     else if (Expr[0] == '*')
       std::tie(SubExprResult, RemainingExpr) = evalLoadExpr(Expr);
-    else if (isalpha(Expr[0]))
+    else if (isalpha(Expr[0]) || Expr[0] == '_')
       std::tie(SubExprResult, RemainingExpr) = evalIdentifierExpr(Expr, PCtx);
     else if (isdigit(Expr[0]))
       std::tie(SubExprResult, RemainingExpr) = evalNumberExpr(Expr);





More information about the llvm-commits mailing list