aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/ExpressionCompiler.cpp
diff options
context:
space:
mode:
authorGav Wood <g@ethdev.com>2015-11-23 19:42:28 +0800
committerGav Wood <g@ethdev.com>2015-11-23 19:42:28 +0800
commit2554d6104a491e586ecad9cf7fe31949dc46e968 (patch)
tree3a3639713c76c95f33f432bb00bbba2842682557 /libsolidity/codegen/ExpressionCompiler.cpp
parent58110b27c14962b6a46bc3b09e8ea1a75a4087e7 (diff)
parentbff172cf656843dd0f05def1f920be3d98df9640 (diff)
downloaddexon-solidity-2554d6104a491e586ecad9cf7fe31949dc46e968.tar
dexon-solidity-2554d6104a491e586ecad9cf7fe31949dc46e968.tar.gz
dexon-solidity-2554d6104a491e586ecad9cf7fe31949dc46e968.tar.bz2
dexon-solidity-2554d6104a491e586ecad9cf7fe31949dc46e968.tar.lz
dexon-solidity-2554d6104a491e586ecad9cf7fe31949dc46e968.tar.xz
dexon-solidity-2554d6104a491e586ecad9cf7fe31949dc46e968.tar.zst
dexon-solidity-2554d6104a491e586ecad9cf7fe31949dc46e968.zip
Merge pull request #236 from ethereum/hot_gav
Fix up for new API from EIP-1.1.
Diffstat (limited to 'libsolidity/codegen/ExpressionCompiler.cpp')
-rw-r--r--libsolidity/codegen/ExpressionCompiler.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/libsolidity/codegen/ExpressionCompiler.cpp b/libsolidity/codegen/ExpressionCompiler.cpp
index 0f952f9c..05d9ea1c 100644
--- a/libsolidity/codegen/ExpressionCompiler.cpp
+++ b/libsolidity/codegen/ExpressionCompiler.cpp
@@ -23,17 +23,18 @@
#include <utility>
#include <numeric>
#include <boost/range/adaptor/reversed.hpp>
-#include <libevmcore/Params.h>
#include <libdevcore/Common.h>
#include <libdevcore/SHA3.h>
+#include <libethcore/ChainOperationParams.h>
#include <libsolidity/ast/AST.h>
#include <libsolidity/codegen/ExpressionCompiler.h>
#include <libsolidity/codegen/CompilerContext.h>
#include <libsolidity/codegen/CompilerUtils.h>
#include <libsolidity/codegen/LValue.h>
-
using namespace std;
+// TODO: FIXME: HOMESTEAD: XXX: @chriseth Params deprecated - use EVMSchedule instead.
+
namespace dev
{
namespace solidity
@@ -1195,6 +1196,7 @@ void ExpressionCompiler::appendExternalFunctionCall(
vector<ASTPointer<Expression const>> const& _arguments
)
{
+ eth::EVMSchedule schedule;// TODO: Make relevant to current suppose context.
solAssert(
_functionType.takesArbitraryParameters() ||
_arguments.size() == _functionType.parameterTypes().size(), ""
@@ -1303,11 +1305,11 @@ void ExpressionCompiler::appendExternalFunctionCall(
{
// send all gas except the amount needed to execute "SUB" and "CALL"
// @todo this retains too much gas for now, needs to be fine-tuned.
- u256 gasNeededByCaller = eth::c_callGas + 10;
+ u256 gasNeededByCaller = schedule.callGas + 10;
if (_functionType.valueSet())
- gasNeededByCaller += eth::c_callValueTransferGas;
+ gasNeededByCaller += schedule.callValueTransferGas;
if (!isCallCode)
- gasNeededByCaller += eth::c_callNewAccountGas; // we never know
+ gasNeededByCaller += schedule.callNewAccountGas; // we never know
m_context <<
gasNeededByCaller <<
eth::Instruction::GAS <<