From e44da40835670e667eda0ca30467fa52328a9075 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Wed, 2 Aug 2017 20:05:35 +0100 Subject: Warn if using experimental pragma --- libsolidity/analysis/SyntaxChecker.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libsolidity/analysis/SyntaxChecker.cpp b/libsolidity/analysis/SyntaxChecker.cpp index 04c4e2d8..db3e0a7a 100644 --- a/libsolidity/analysis/SyntaxChecker.cpp +++ b/libsolidity/analysis/SyntaxChecker.cpp @@ -77,6 +77,7 @@ bool SyntaxChecker::visit(PragmaDirective const& _pragma) "At least one experimental feature or the wildcard symbol \"*\" is required." ); else + { for (string const literal: literals) { if (literal.empty()) @@ -84,8 +85,12 @@ bool SyntaxChecker::visit(PragmaDirective const& _pragma) else if (m_sourceUnit->annotation().experimentalFeatures.count(literal)) m_errorReporter.syntaxError(_pragma.location(), "Duplicate experimental feature name."); else + { m_sourceUnit->annotation().experimentalFeatures.insert(literal); + m_errorReporter.warning(_pragma.location(), "Experimental features are turned on. Do not use experimental features on live deployments."); + } } + } } else if (_pragma.literals()[0] == "solidity") { -- cgit v1.2.3