Skip to content

Commit fbc8c0e

Browse files
authored
chore(avm): pilcom compatibility changes (#10544)
For compatibility with upcoming design. * Creates a columns file * Relations now have subrelation constexpr * Relative includes for generated files * Now you can specify output path for generated files with `-o path` * Full row uses macro list of columns!* *warning: GCC didn't like this so I added ``` "CXXFLAGS": "-Wno-missing-field-initializers" ``` the reason is that I'm now defining the AvmFullRow as `FF ALL_ENTITIES;` but GCC prefers it if I do `FF col1{}; FF col2{};...` with the explicit `{}`. If I need to do that, then I need to codegen and repeat again all names. To be honest IDK why it complains so much, if you Google this, you'll find other people running into it. This should NOT be a problem since any field not specified in aggregate initialization WILL be value-initialized. Now, FF's are special in that they don't initialize themselves by default, to accommodate array/other uses cases. (this is a BAD choice if you ask me, there are other ways to avoid explicit initialization if and only when you want to, especially for arrays etc). Let's see what tests say. In our case the AvmFullRow is only used in a vector, which does somehow force full initialization of all the fields (or at least it did).
1 parent a204d1b commit fbc8c0e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+478
-979
lines changed

barretenberg/cpp/CMakePresets.json

+6-3
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,8 @@
223223
"binaryDir": "build-gcc",
224224
"environment": {
225225
"CC": "gcc",
226-
"CXX": "g++"
226+
"CXX": "g++",
227+
"CXXFLAGS": "-Wno-missing-field-initializers"
227228
}
228229
},
229230
{
@@ -233,7 +234,8 @@
233234
"inherits": "default",
234235
"environment": {
235236
"CC": "gcc-10",
236-
"CXX": "g++-10"
237+
"CXX": "g++-10",
238+
"CXXFLAGS": "-Wno-missing-field-initializers"
237239
}
238240
},
239241
{
@@ -243,7 +245,8 @@
243245
"inherits": "default",
244246
"environment": {
245247
"CC": "gcc-13",
246-
"CXX": "g++-13"
248+
"CXX": "g++-13",
249+
"CXXFLAGS": "-Wno-missing-field-initializers"
247250
}
248251
},
249252
{

barretenberg/cpp/src/barretenberg/vm/avm/generated/circuit_builder.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// AUTOGENERATED FILE
2-
#include "barretenberg/vm/avm/generated/circuit_builder.hpp"
2+
#include "circuit_builder.hpp"
33

44
#include <mutex>
55
#include <set>

barretenberg/cpp/src/barretenberg/vm/avm/generated/circuit_builder.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
#include <vector>
55

6-
#include "barretenberg/vm/avm/generated/flavor.hpp"
7-
#include "barretenberg/vm/avm/generated/full_row.hpp"
6+
#include "flavor.hpp"
7+
#include "full_row.hpp"
88

99
namespace bb {
1010

barretenberg/cpp/src/barretenberg/vm/avm/generated/columns.hpp

+38
Large diffs are not rendered by default.

barretenberg/cpp/src/barretenberg/vm/avm/generated/composer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// AUTOGENERATED FILE
2-
#include "barretenberg/vm/avm/generated/composer.hpp"
2+
#include "composer.hpp"
33
#include "barretenberg/vm/stats.hpp"
44

55
namespace bb {

barretenberg/cpp/src/barretenberg/vm/avm/generated/composer.hpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
#pragma once
33

44
#include "barretenberg/srs/global_crs.hpp"
5-
#include "barretenberg/vm/avm/generated/circuit_builder.hpp"
6-
#include "barretenberg/vm/avm/generated/prover.hpp"
7-
#include "barretenberg/vm/avm/generated/verifier.hpp"
5+
#include "circuit_builder.hpp"
6+
#include "prover.hpp"
7+
#include "verifier.hpp"
88

99
namespace bb {
1010

barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// AUTOGENERATED FILE
2-
#include "barretenberg/vm/avm/generated/flavor.hpp"
2+
#include "flavor.hpp"
33

44
namespace bb {
55

barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp

+87-96
Large diffs are not rendered by default.

barretenberg/cpp/src/barretenberg/vm/avm/generated/full_row.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// AUTOGENERATED FILE
2-
#include "barretenberg/vm/avm/generated/full_row.hpp"
3-
#include "barretenberg/vm/avm/generated/flavor_settings.hpp"
2+
#include "full_row.hpp"
3+
#include "flavor_settings.hpp"
44

5-
namespace bb {
5+
namespace bb::avm {
66
namespace {
77

88
template <typename FF> std::string field_to_string(const FF& ff)
@@ -1568,4 +1568,4 @@ template std::ostream& operator<<(std::ostream& os, AvmFullRow<AvmFlavorSettings
15681568
template std::vector<std::string> AvmFullRow<AvmFlavorSettings::FF>::names();
15691569
template RefVector<const AvmFlavorSettings::FF> AvmFullRow<AvmFlavorSettings::FF>::as_vector() const;
15701570

1571-
} // namespace bb
1571+
} // namespace bb::avm

0 commit comments

Comments
 (0)