aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-02-27 02:22:59 +0800
committerchriseth <chris@ethereum.org>2018-03-05 19:14:44 +0800
commit477571e19015f1c7806526d58d0ddffd91fe5823 (patch)
tree8f3acbbe3bb96f234fbce538dbce3870ae5fbd28
parent6dc137317fa8249a9c1b19ff6430840974393f90 (diff)
downloaddexon-solidity-477571e19015f1c7806526d58d0ddffd91fe5823.tar.gz
dexon-solidity-477571e19015f1c7806526d58d0ddffd91fe5823.tar.zst
dexon-solidity-477571e19015f1c7806526d58d0ddffd91fe5823.zip
Do not warn about 0.5.0 experimental pragma.
-rw-r--r--Changelog.md1
-rw-r--r--libsolidity/ast/ExperimentalFeatures.h1
-rw-r--r--test/libsolidity/SolidityNameAndTypeResolution.cpp9
3 files changed, 5 insertions, 6 deletions
diff --git a/Changelog.md b/Changelog.md
index 3c875a8f..04a45f7d 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -8,6 +8,7 @@ Features:
* Type Checker: Disallow uninitialized storage pointers as experimental 0.5.0 feature.
* Support and recommend using ``emit EventName();`` to call events explicitly.
* Syntax Analyser: Do not warn about experimental features if they do not concern code generation.
+ * Syntax Analyser: Do not warn about ``pragma experimental "v0.5.0"`` since it does not affect code generation.
* Syntax Checker: Mark ``throw`` as an error as experimental 0.5.0 feature.
* Syntax Checker: Issue error if no visibility is specified on contract functions as experimental 0.5.0 feature.
* Type Checker: disallow combining hex numbers and unit denominations as experimental 0.5.0 feature.
diff --git a/libsolidity/ast/ExperimentalFeatures.h b/libsolidity/ast/ExperimentalFeatures.h
index 3ecfac7b..a17778b4 100644
--- a/libsolidity/ast/ExperimentalFeatures.h
+++ b/libsolidity/ast/ExperimentalFeatures.h
@@ -40,6 +40,7 @@ static const std::map<ExperimentalFeature, bool> ExperimentalFeatureOnlyAnalysis
{
{ ExperimentalFeature::SMTChecker, true },
{ ExperimentalFeature::TestOnlyAnalysis, true },
+ { ExperimentalFeature::V050, true }
};
static const std::map<std::string, ExperimentalFeature> ExperimentalFeatureNames =
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp
index 4fb62821..e503c22b 100644
--- a/test/libsolidity/SolidityNameAndTypeResolution.cpp
+++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp
@@ -102,7 +102,6 @@ BOOST_AUTO_TEST_CASE(double_variable_declaration_050)
)";
CHECK_WARNING_ALLOW_MULTI(text, (vector<string>{
"This declaration shadows an existing declaration.",
- "Experimental features",
"Unused local variable",
"Unused local variable"
}));
@@ -133,7 +132,6 @@ BOOST_AUTO_TEST_CASE(double_variable_declaration_disjoint_scope_050)
}
)";
CHECK_WARNING_ALLOW_MULTI(text, (vector<string>{
- "Experimental features",
"Unused local variable",
"Unused local variable"
}));
@@ -164,7 +162,6 @@ BOOST_AUTO_TEST_CASE(double_variable_declaration_disjoint_scope_activation_050)
}
)";
CHECK_WARNING_ALLOW_MULTI(text, (vector<string>{
- "Experimental features",
"Unused local variable",
"Unused local variable"
}));
@@ -262,7 +259,7 @@ BOOST_AUTO_TEST_CASE(scoping_for)
}
}
)";
- CHECK_WARNING(text, "Experimental features");
+ CHECK_SUCCESS_NO_WARNINGS(text);
}
BOOST_AUTO_TEST_CASE(scoping_for2)
@@ -276,7 +273,7 @@ BOOST_AUTO_TEST_CASE(scoping_for2)
}
}
)";
- CHECK_WARNING(text, "Experimental features");
+ CHECK_SUCCESS_NO_WARNINGS(text);
}
BOOST_AUTO_TEST_CASE(scoping_for3)
@@ -7674,7 +7671,7 @@ BOOST_AUTO_TEST_CASE(non_external_fallback)
function () external { }
}
)";
- CHECK_WARNING(text, "Experimental features are turned on.");
+ CHECK_SUCCESS_NO_WARNINGS(text);
text = R"(
pragma experimental "v0.5.0";
contract C {