Pass DebugInfoSelection down to the code handling assembly printing

This commit is contained in:
Kamil Śliwak
2021-10-11 20:34:48 +02:00
parent f7c4ed849d
commit bcfefc79d9
28 changed files with 170 additions and 47 deletions
+4 -1
View File
@@ -23,6 +23,8 @@
#include <libsolidity/interface/OptimiserSettings.h>
#include <liblangutil/DebugInfoSelection.h>
namespace solidity::test::fuzzer
{
class YulAssembler
@@ -36,7 +38,8 @@ public:
m_stack(
_version,
solidity::yul::AssemblyStack::Language::StrictAssembly,
_optSettings
_optSettings,
langutil::DebugInfoSelection::All()
),
m_yulProgram(_yulSource),
m_optimiseYul(_optSettings.runYulOptimiser)
@@ -19,6 +19,7 @@
#include <libyul/AssemblyStack.h>
#include <libyul/backends/evm/EVMCodeTransform.h>
#include <liblangutil/DebugInfoSelection.h>
#include <liblangutil/EVMVersion.h>
using namespace solidity;
@@ -39,7 +40,8 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size)
AssemblyStack stack(
langutil::EVMVersion(),
AssemblyStack::Language::StrictAssembly,
solidity::frontend::OptimiserSettings::full()
solidity::frontend::OptimiserSettings::full(),
langutil::DebugInfoSelection::All()
);
if (!stack.parseAndAnalyze("source", input))
@@ -22,6 +22,7 @@
#include <libyul/backends/evm/EVMDialect.h>
#include <libyul/AssemblyStack.h>
#include <liblangutil/DebugInfoSelection.h>
#include <liblangutil/Exceptions.h>
#include <liblangutil/EVMVersion.h>
@@ -61,7 +62,8 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size)
AssemblyStack stack(
langutil::EVMVersion(),
AssemblyStack::Language::StrictAssembly,
solidity::frontend::OptimiserSettings::full()
solidity::frontend::OptimiserSettings::full(),
DebugInfoSelection::All()
);
try
{
+5 -1
View File
@@ -17,9 +17,12 @@
// SPDX-License-Identifier: GPL-3.0
#include <libyul/AssemblyStack.h>
#include <liblangutil/DebugInfoSelection.h>
#include <liblangutil/EVMVersion.h>
using namespace solidity;
using namespace solidity::langutil;
using namespace solidity::util;
using namespace solidity::yul;
using namespace std;
@@ -38,7 +41,8 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size)
AssemblyStack stack(
langutil::EVMVersion(),
AssemblyStack::Language::StrictAssembly,
solidity::frontend::OptimiserSettings::full()
solidity::frontend::OptimiserSettings::full(),
DebugInfoSelection::All()
);
if (!stack.parseAndAnalyze("source", input))
+3 -1
View File
@@ -30,6 +30,7 @@
#include <libyul/backends/evm/EVMDialect.h>
#include <liblangutil/DebugInfoSelection.h>
#include <liblangutil/EVMVersion.h>
#include <src/libfuzzer/libfuzzer_macro.h>
@@ -64,7 +65,8 @@ DEFINE_PROTO_FUZZER(Program const& _input)
AssemblyStack stack(
version,
AssemblyStack::Language::StrictAssembly,
solidity::frontend::OptimiserSettings::full()
solidity::frontend::OptimiserSettings::full(),
DebugInfoSelection::All()
);
// Parse protobuf mutated YUL code
+3 -1
View File
@@ -30,6 +30,7 @@
#include <libyul/backends/evm/EVMDialect.h>
#include <libyul/Exceptions.h>
#include <liblangutil/DebugInfoSelection.h>
#include <liblangutil/EVMVersion.h>
#include <liblangutil/SourceReferenceFormatter.h>
@@ -63,7 +64,8 @@ DEFINE_PROTO_FUZZER(Program const& _input)
AssemblyStack stack(
version,
AssemblyStack::Language::StrictAssembly,
solidity::frontend::OptimiserSettings::full()
solidity::frontend::OptimiserSettings::full(),
DebugInfoSelection::All()
);
// Parse protobuf mutated YUL code
+3 -1
View File
@@ -27,6 +27,7 @@
#include <libyul/backends/evm/EVMDialect.h>
#include <libyul/AssemblyStack.h>
#include <liblangutil/DebugInfoSelection.h>
#include <liblangutil/Exceptions.h>
#include <liblangutil/EVMVersion.h>
#include <liblangutil/SourceReferenceFormatter.h>
@@ -58,7 +59,8 @@ pair<shared_ptr<Block>, shared_ptr<AsmAnalysisInfo>> parse(string const& _source
AssemblyStack stack(
langutil::EVMVersion(),
AssemblyStack::Language::StrictAssembly,
solidity::frontend::OptimiserSettings::none()
solidity::frontend::OptimiserSettings::none(),
DebugInfoSelection::Default()
);
if (stack.parseAndAnalyze("--INPUT--", _source))
{