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 b31009688..16f239df6 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/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); 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 {