mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #10568 from ethereum/oldClangFixes
Deal with old clang compilers.
This commit is contained in:
commit
90c693be09
@ -65,11 +65,8 @@ if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MA
|
||||
|
||||
# Additional GCC-specific compiler settings.
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
|
||||
|
||||
# Check that we've got GCC 8.0 or newer.
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
|
||||
if (NOT (GCC_VERSION VERSION_GREATER 8.0 OR GCC_VERSION VERSION_EQUAL 8.0))
|
||||
if (NOT (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0))
|
||||
message(FATAL_ERROR "${PROJECT_NAME} requires g++ 8.0 or greater.")
|
||||
endif ()
|
||||
|
||||
@ -78,6 +75,11 @@ if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MA
|
||||
|
||||
# Additional Clang-specific compiler settings.
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||
# Check that we've got clang 7.0 or newer.
|
||||
if (NOT (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 7.0))
|
||||
message(FATAL_ERROR "${PROJECT_NAME} requires clang++ 7.0 or greater.")
|
||||
endif ()
|
||||
|
||||
if ("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
|
||||
# Set stack size to 32MB - by default Apple's clang defines a stack size of 8MB.
|
||||
# Normally 16MB is enough to run all tests, but it will exceed the stack, if -DSANITIZE=address is used.
|
||||
|
@ -164,11 +164,11 @@ void CHC::endVisit(ContractDefinition const& _contract)
|
||||
if (base != &_contract)
|
||||
{
|
||||
m_callGraph[&_contract].insert(base);
|
||||
vector<ASTPointer<Expression>> const& args = baseArgs.count(base) ? baseArgs.at(base) : decltype(args){};
|
||||
|
||||
auto baseConstructor = base->constructor();
|
||||
if (baseConstructor && !args.empty())
|
||||
if (baseConstructor && baseArgs.count(base))
|
||||
{
|
||||
vector<ASTPointer<Expression>> const& args = baseArgs.at(base);
|
||||
auto const& params = baseConstructor->parameters();
|
||||
solAssert(params.size() == args.size(), "");
|
||||
for (unsigned i = 0; i < params.size(); ++i)
|
||||
|
Loading…
Reference in New Issue
Block a user