From eafcb42be78ed768a67847307a9cdda34f639b5e Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Thu, 12 Dec 2019 23:25:12 +0000 Subject: [PATCH 1/2] Enable more compiler warnings in the build system "-pedantic -Wno-unknown-pragmas -Wimplicit-fallthrough" --- cmake/EthCompilerSettings.cmake | 3 +++ libevmasm/SimplificationRule.h | 4 ++-- libsolidity/ast/Types.cpp | 2 +- test/libsolutil/CommonData.cpp | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cmake/EthCompilerSettings.cmake b/cmake/EthCompilerSettings.cmake index 18b4e9fe5..4d73a52cf 100644 --- a/cmake/EthCompilerSettings.cmake +++ b/cmake/EthCompilerSettings.cmake @@ -34,6 +34,9 @@ if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MA add_compile_options(-Wall) add_compile_options(-Wextra) add_compile_options(-Werror) + add_compile_options(-pedantic) + add_compile_options(-Wno-unknown-pragmas) + add_compile_options(-Wimplicit-fallthrough) # Configuration-specific compiler settings. set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -DETH_DEBUG") diff --git a/libevmasm/SimplificationRule.h b/libevmasm/SimplificationRule.h index 3e40e25ed..1fa1d8ea8 100644 --- a/libevmasm/SimplificationRule.h +++ b/libevmasm/SimplificationRule.h @@ -65,7 +65,7 @@ struct EVMBuiltins template constexpr Pattern operator()(Args&&... _args) const { return {inst, {std::forward(_args)...}}; - }; + } }; struct PatternGeneratorInstance @@ -74,7 +74,7 @@ struct EVMBuiltins template constexpr Pattern operator()(Args&&... _args) const { return {instruction, {std::forward(_args)...}}; - }; + } }; diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp index f3f575a18..42ce6375d 100644 --- a/libsolidity/ast/Types.cpp +++ b/libsolidity/ast/Types.cpp @@ -2354,7 +2354,7 @@ string EnumType::canonicalName() const size_t EnumType::numberOfMembers() const { return m_enum.members().size(); -}; +} BoolResult EnumType::isExplicitlyConvertibleTo(Type const& _convertTo) const { diff --git a/test/libsolutil/CommonData.cpp b/test/libsolutil/CommonData.cpp index e2687b53b..63bd6bbd7 100644 --- a/test/libsolutil/CommonData.cpp +++ b/test/libsolutil/CommonData.cpp @@ -29,7 +29,7 @@ using namespace std; using namespace solidity::frontend; // TODO: Fix Boost... -BOOST_TEST_DONT_PRINT_LOG_VALUE(solidity::bytes); +BOOST_TEST_DONT_PRINT_LOG_VALUE(solidity::bytes) namespace solidity::util::test { From 1d7f25e809ec00dc622028cca34811f70e288e2d Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Wed, 15 Jan 2020 14:22:47 +0000 Subject: [PATCH 2/2] Remove unnecessary statement --- libsolidity/codegen/LValue.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/libsolidity/codegen/LValue.cpp b/libsolidity/codegen/LValue.cpp index a7eb0aaf3..5fd17bf5c 100644 --- a/libsolidity/codegen/LValue.cpp +++ b/libsolidity/codegen/LValue.cpp @@ -340,7 +340,6 @@ void StorageItem::storeValue(Type const& _sourceType, SourceLocation const& _loc { solAssert(sourceType.location() == DataLocation::Memory, ""); // stack layout: source_ref target_ref - TypePointer sourceMemberType = sourceType.memberType(member.name); m_context << sourceType.memoryOffsetOfMember(member.name); m_context << Instruction::DUP3 << Instruction::ADD; MemoryItem(m_context, *sourceMemberType).retrieveValue(_location, true);