mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #3565 from ethereum/doNotWarnAboutAnalysisOnlyExpFeatures
Do not warn about analysis-only experimental features.
This commit is contained in:
commit
8fc9535d43
@ -4,6 +4,7 @@ Features:
|
|||||||
* Code Generator: Assert that ``k != 0`` for ``molmod(a, b, k)`` and ``addmod(a, b, k)`` as experimental 0.5.0 feature.
|
* Code Generator: Assert that ``k != 0`` for ``molmod(a, b, k)`` and ``addmod(a, b, k)`` as experimental 0.5.0 feature.
|
||||||
* Standard JSON: Reject badly formatted invalid JSON inputs.
|
* Standard JSON: Reject badly formatted invalid JSON inputs.
|
||||||
* Type Checker: Disallow uninitialized storage pointers as experimental 0.5.0 feature.
|
* Type Checker: Disallow uninitialized storage pointers as experimental 0.5.0 feature.
|
||||||
|
* Syntax Analyser: Do not warn about experimental features if they do not concern code generation.
|
||||||
|
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
* Assembly: Raise error on oversized number literals in assembly.
|
* Assembly: Raise error on oversized number literals in assembly.
|
||||||
|
@ -93,7 +93,9 @@ bool SyntaxChecker::visit(PragmaDirective const& _pragma)
|
|||||||
m_errorReporter.syntaxError(_pragma.location(), "Duplicate experimental feature name.");
|
m_errorReporter.syntaxError(_pragma.location(), "Duplicate experimental feature name.");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_sourceUnit->annotation().experimentalFeatures.insert(ExperimentalFeatureNames.at(literal));
|
auto feature = ExperimentalFeatureNames.at(literal);
|
||||||
|
m_sourceUnit->annotation().experimentalFeatures.insert(feature);
|
||||||
|
if (!ExperimentalFeatureOnlyAnalysis.count(feature))
|
||||||
m_errorReporter.warning(_pragma.location(), "Experimental features are turned on. Do not use experimental features on live deployments.");
|
m_errorReporter.warning(_pragma.location(), "Experimental features are turned on. Do not use experimental features on live deployments.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,12 +35,6 @@ namespace test
|
|||||||
|
|
||||||
class SMTCheckerFramework: public AnalysisFramework
|
class SMTCheckerFramework: public AnalysisFramework
|
||||||
{
|
{
|
||||||
public:
|
|
||||||
SMTCheckerFramework()
|
|
||||||
{
|
|
||||||
m_warningsToFilter.push_back("Experimental features are turned on.");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual std::pair<SourceUnit const*, ErrorList>
|
virtual std::pair<SourceUnit const*, ErrorList>
|
||||||
parseAnalyseAndReturnError(
|
parseAnalyseAndReturnError(
|
||||||
@ -103,6 +97,7 @@ BOOST_AUTO_TEST_CASE(warn_on_struct)
|
|||||||
}
|
}
|
||||||
)";
|
)";
|
||||||
CHECK_WARNING_ALLOW_MULTI(text, (vector<string>{
|
CHECK_WARNING_ALLOW_MULTI(text, (vector<string>{
|
||||||
|
"Experimental feature",
|
||||||
"Assertion checker does not yet implement this expression.",
|
"Assertion checker does not yet implement this expression.",
|
||||||
"Assertion checker does not yet support the type of this variable."
|
"Assertion checker does not yet support the type of this variable."
|
||||||
}));
|
}));
|
||||||
|
Loading…
Reference in New Issue
Block a user