aboutsummaryrefslogtreecommitdiffstats
path: root/solc
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-07-31 22:14:46 +0800
committerGitHub <noreply@github.com>2017-07-31 22:14:46 +0800
commitc2215d4605d1fbcef1366d6b822ec610fc031b3c (patch)
tree940ba55f0f27e8884332eaf90c11da48d5e98980 /solc
parent0fb4cb1ab9bb4b6cc72e28cc5a1753ad14781f14 (diff)
parent2abfdb65c8dcda6866143280b7ff1bde094a1419 (diff)
downloaddexon-solidity-c2215d4605d1fbcef1366d6b822ec610fc031b3c.tar
dexon-solidity-c2215d4605d1fbcef1366d6b822ec610fc031b3c.tar.gz
dexon-solidity-c2215d4605d1fbcef1366d6b822ec610fc031b3c.tar.bz2
dexon-solidity-c2215d4605d1fbcef1366d6b822ec610fc031b3c.tar.lz
dexon-solidity-c2215d4605d1fbcef1366d6b822ec610fc031b3c.tar.xz
dexon-solidity-c2215d4605d1fbcef1366d6b822ec610fc031b3c.tar.zst
dexon-solidity-c2215d4605d1fbcef1366d6b822ec610fc031b3c.zip
Merge pull request #2667 from ethereum/develop
Merge develop into release in proparation for 0.4.14
Diffstat (limited to 'solc')
-rw-r--r--solc/CMakeLists.txt2
-rw-r--r--solc/CommandLineInterface.cpp14
-rw-r--r--solc/CommandLineInterface.h2
3 files changed, 11 insertions, 7 deletions
diff --git a/solc/CMakeLists.txt b/solc/CMakeLists.txt
index a5515d81..18e83e75 100644
--- a/solc/CMakeLists.txt
+++ b/solc/CMakeLists.txt
@@ -18,7 +18,7 @@ else()
endif()
if (EMSCRIPTEN)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s EXPORTED_FUNCTIONS='[\"_compileJSON\",\"_version\",\"_compileJSONMulti\",\"_compileJSONCallback\",\"_compileStandard\"]' -s RESERVED_FUNCTION_POINTERS=20")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s EXPORTED_FUNCTIONS='[\"_compileJSON\",\"_license\",\"_version\",\"_compileJSONMulti\",\"_compileJSONCallback\",\"_compileStandard\"]' -s RESERVED_FUNCTION_POINTERS=20")
add_executable(soljson jsonCompiler.cpp ${HEADERS})
eth_use(soljson REQUIRED Solidity::solidity)
else()
diff --git a/solc/CommandLineInterface.cpp b/solc/CommandLineInterface.cpp
index 0222ccb0..740061a1 100644
--- a/solc/CommandLineInterface.cpp
+++ b/solc/CommandLineInterface.cpp
@@ -292,12 +292,12 @@ void CommandLineInterface::handleSignatureHashes(string const& _contract)
cout << "Function signatures: " << endl << out;
}
-void CommandLineInterface::handleOnChainMetadata(string const& _contract)
+void CommandLineInterface::handleMetadata(string const& _contract)
{
if (!m_args.count(g_argMetadata))
return;
- string data = m_compiler->onChainMetadata(_contract);
+ string data = m_compiler->metadata(_contract);
if (m_args.count(g_argOutputDir))
createFile(m_compiler->filesystemFriendlyName(_contract) + "_meta.json", data);
else
@@ -774,10 +774,14 @@ bool CommandLineInterface::processInput()
m_compiler->setRemappings(m_args[g_argInputFile].as<vector<string>>());
for (auto const& sourceCode: m_sourceCodes)
m_compiler->addSource(sourceCode.first, sourceCode.second);
+ if (m_args.count(g_argLibraries))
+ m_compiler->setLibraries(m_libraries);
// TODO: Perhaps we should not compile unless requested
bool optimize = m_args.count(g_argOptimize) > 0;
unsigned runs = m_args[g_argOptimizeRuns].as<unsigned>();
- bool successful = m_compiler->compile(optimize, runs, m_libraries);
+ m_compiler->setOptimiserSettings(optimize, runs);
+
+ bool successful = m_compiler->compile();
for (auto const& error: m_compiler->errors())
SourceReferenceFormatter::printExceptionInformation(
@@ -850,7 +854,7 @@ void CommandLineInterface::handleCombinedJSON()
if (requests.count(g_strAbi))
contractData[g_strAbi] = dev::jsonCompactPrint(m_compiler->contractABI(contractName));
if (requests.count("metadata"))
- contractData["metadata"] = m_compiler->onChainMetadata(contractName);
+ contractData["metadata"] = m_compiler->metadata(contractName);
if (requests.count(g_strBinary))
contractData[g_strBinary] = m_compiler->object(contractName).toHex();
if (requests.count(g_strBinaryRuntime))
@@ -1164,7 +1168,7 @@ void CommandLineInterface::outputCompilationResults()
handleBytecode(contract);
handleSignatureHashes(contract);
- handleOnChainMetadata(contract);
+ handleMetadata(contract);
handleABI(contract);
handleNatspec(DocumentationType::NatspecDev, contract);
handleNatspec(DocumentationType::NatspecUser, contract);
diff --git a/solc/CommandLineInterface.h b/solc/CommandLineInterface.h
index b482c20b..8a476ef5 100644
--- a/solc/CommandLineInterface.h
+++ b/solc/CommandLineInterface.h
@@ -64,7 +64,7 @@ private:
void handleOpcode(std::string const& _contract);
void handleBytecode(std::string const& _contract);
void handleSignatureHashes(std::string const& _contract);
- void handleOnChainMetadata(std::string const& _contract);
+ void handleMetadata(std::string const& _contract);
void handleABI(std::string const& _contract);
void handleNatspec(DocumentationType _type, std::string const& _contract);
void handleGasEstimation(std::string const& _contract);