From 71ebfe773600e6944f5dfbf50a4e0fcbed2f73dd Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Thu, 11 Dec 2014 11:56:47 +0100 Subject: [PATCH 1/3] fixed solidity not building on macos --- libsolidity/Types.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libsolidity/Types.cpp b/libsolidity/Types.cpp index 6c971a742..d14311a26 100644 --- a/libsolidity/Types.cpp +++ b/libsolidity/Types.cpp @@ -52,7 +52,7 @@ shared_ptr Type::fromElementaryTypeName(Token::Value _typeToken) else if (_typeToken == Token::ADDRESS) return make_shared(0, IntegerType::Modifier::ADDRESS); else if (_typeToken == Token::BOOL) - return make_shared(); + return shared_ptr(); else BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unable to convert elementary typename " + std::string(Token::toString(_typeToken)) + " to type.")); @@ -87,7 +87,7 @@ shared_ptr Type::forLiteral(Literal const& _literal) { case Token::TRUE_LITERAL: case Token::FALSE_LITERAL: - return make_shared(); + return shared_ptr(); case Token::NUMBER: return IntegerType::smallestTypeForLiteral(_literal.getValue()); case Token::STRING_LITERAL: From 4b90d315b7c0930593d5ae66a61eac0348c5e913 Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Thu, 11 Dec 2014 12:31:14 +0100 Subject: [PATCH 2/3] user-provided default constructor --- libsolidity/Types.cpp | 4 ++-- libsolidity/Types.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libsolidity/Types.cpp b/libsolidity/Types.cpp index d14311a26..6c971a742 100644 --- a/libsolidity/Types.cpp +++ b/libsolidity/Types.cpp @@ -52,7 +52,7 @@ shared_ptr Type::fromElementaryTypeName(Token::Value _typeToken) else if (_typeToken == Token::ADDRESS) return make_shared(0, IntegerType::Modifier::ADDRESS); else if (_typeToken == Token::BOOL) - return shared_ptr(); + return make_shared(); else BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unable to convert elementary typename " + std::string(Token::toString(_typeToken)) + " to type.")); @@ -87,7 +87,7 @@ shared_ptr Type::forLiteral(Literal const& _literal) { case Token::TRUE_LITERAL: case Token::FALSE_LITERAL: - return shared_ptr(); + return make_shared(); case Token::NUMBER: return IntegerType::smallestTypeForLiteral(_literal.getValue()); case Token::STRING_LITERAL: diff --git a/libsolidity/Types.h b/libsolidity/Types.h index 887a1ee16..718f347f8 100644 --- a/libsolidity/Types.h +++ b/libsolidity/Types.h @@ -184,6 +184,7 @@ private: class BoolType: public Type { public: + explicit BoolType() {} virtual Category getCategory() const { return Category::BOOL; } virtual bool isExplicitlyConvertibleTo(Type const& _convertTo) const override; virtual bool acceptsBinaryOperator(Token::Value _operator) const override From d70190b0da68a03000dba255ede92304db7ed49c Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Thu, 11 Dec 2014 14:12:49 +0100 Subject: [PATCH 3/3] removed explicit --- libsolidity/Types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsolidity/Types.h b/libsolidity/Types.h index 718f347f8..dd89f311d 100644 --- a/libsolidity/Types.h +++ b/libsolidity/Types.h @@ -184,7 +184,7 @@ private: class BoolType: public Type { public: - explicit BoolType() {} + BoolType() {} virtual Category getCategory() const { return Category::BOOL; } virtual bool isExplicitlyConvertibleTo(Type const& _convertTo) const override; virtual bool acceptsBinaryOperator(Token::Value _operator) const override