>>> lua-cffi 0.2.1 Extracting gzip -d -c /home/buildroot/autobuild/instance-0/dl/lua-cffi/lua-cffi-0.2.1.tar.gz | tar --strip-components=1 -C /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1 -xf - >>> lua-cffi 0.2.1 Patching >>> lua-cffi 0.2.1 Configuring rm -rf /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1//build mkdir -p /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1//build sed -e "/^\[binaries\]$/s:$::" -e "/^\[properties\]$/s:$::" -e "s%@TARGET_CC@%/home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-gcc%g" -e "s%@TARGET_CXX@%/home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-g++%g" -e "s%@TARGET_AR@%/home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-gcc-ar%g" -e "s%@TARGET_STRIP@%/home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-strip%g" -e "s%@TARGET_ARCH@%arm%g" -e "s%@TARGET_CPU@%arm920t%g" -e "s%@TARGET_ENDIAN@%little%g" -e "s%@TARGET_CFLAGS@%'-D_LARGEFILE_SOURCE', '-D_LARGEFILE64_SOURCE', '-D_FILE_OFFSET_BITS=64', '-Os', '-g0', '-D_FORTIFY_SOURCE=1'%g" -e "s%@TARGET_LDFLAGS@%%g" -e "s%@TARGET_CXXFLAGS@%'-D_LARGEFILE_SOURCE', '-D_LARGEFILE64_SOURCE', '-D_FILE_OFFSET_BITS=64', '-Os', '-g0', '-D_FORTIFY_SOURCE=1'%g" -e "s%@BR2_CMAKE@%/home/buildroot/autobuild/instance-0/output-1/host/bin/cmake%g" -e "s%@PKGCONF_HOST_BINARY@%/home/buildroot/autobuild/instance-0/output-1/host/bin/pkgconf%g" -e "s%@STAGING_DIR@%/home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot%g" -e "s%@STATIC@%false%g" /home/buildroot/autobuild/instance-0/buildroot/support/misc/cross-compilation.conf.in > /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1//build/cross-compilation.conf PATH="/home/buildroot/autobuild/instance-0/output-1/host/bin:/home/buildroot/autobuild/instance-0/output-1/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" CC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" PYTHONNOUSERSITE=y /home/buildroot/autobuild/instance-0/output-1/host/bin/meson --prefix=/usr --libdir=lib --default-library=shared --buildtype=release --cross-file=/home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1//build/cross-compilation.conf -Db_pie=false -Dstrip=false -Dbuild.pkg_config_path=/home/buildroot/autobuild/instance-0/output-1/host/lib/pkgconfig -Dbuild.cmake_prefix_path=/home/buildroot/autobuild/instance-0/output-1/host/lib/cmake /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1/ /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1//build The Meson build system Version: 0.61.4 Source dir: /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1 Build dir: /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1/build Build type: cross build Project name: cffi-lua Project version: 0.2.1 C++ compiler for the host machine: /home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-g++ (gcc 4.8.3 "arm-none-linux-gnueabi-g++ (Sourcery CodeBench Lite 2014.05-29) 4.8.3 20140320 (prerelease)") C++ linker for the host machine: /home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-g++ ld.bfd 2.24.51.20140217 C++ compiler for the build machine: /usr/bin/g++ (gcc 6.3.0 "g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516") C++ linker for the build machine: /usr/bin/g++ ld.bfd 2.28 Build machine cpu family: x86_64 Build machine cpu: x86_64 Host machine cpu family: arm Host machine cpu: arm920t Target machine cpu family: arm Target machine cpu: arm920t Compiler for C++ supports arguments -Wshadow: YES Compiler for C++ supports arguments -Wold-style-cast: YES Compiler for C++ supports arguments -fvisibility=hidden: YES Checking for size of "void *" : 4 Has header "endian.h" : YES Found pkg-config: /home/buildroot/autobuild/instance-0/output-1/host/bin/pkgconf (1.6.3) Run-time dependency lua found: YES 5.4.4 Run-time dependency libffi found: YES 3.4.2 Library dl found: YES Has header "ffi.h" with dependency libffi: YES Has header "lua.hpp" with dependency lua: YES Configuring config.h using configuration Computing int of "LUA_VERSION_NUM" with dependency lua: 504 Build targets in project: 1 NOTICE: Future-deprecated features used: * 0.56.0: {'meson.source_root', 'meson.build_root'} cffi-lua 0.2.1 User defined options Cross files : /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1//build/cross-compilation.conf build.cmake_prefix_path: /home/buildroot/autobuild/instance-0/output-1/host/lib/cmake build.pkg_config_path : /home/buildroot/autobuild/instance-0/output-1/host/lib/pkgconfig buildtype : release default_library : shared libdir : lib prefix : /usr strip : false b_pie : false Found ninja-1.10.2 at /home/buildroot/autobuild/instance-0/output-1/host/bin/ninja >>> lua-cffi 0.2.1 Building PATH="/home/buildroot/autobuild/instance-0/output-1/host/bin:/home/buildroot/autobuild/instance-0/output-1/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PYTHONNOUSERSITE=y /home/buildroot/autobuild/instance-0/output-1/host/bin/ninja -j4 -C /home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1//build ninja: Entering directory `/home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1//build' [1/8] Compiling C++ object cffi.so.p/src_util.cc.o In file included from ../src/util.cc:4:0: ../src/util.hh: In member function 'void util::vector::setbuf(const T*, std::size_t)': ../src/util.hh:571:49: warning: declaration of 'data' shadows a member of 'this' [-Wshadow] void setbuf(T const *data, std::size_t len) { ^ [2/8] Compiling C++ object cffi.so.p/src_lib.cc.o [3/8] Compiling C++ object cffi.so.p/src_ffilib.cc.o FAILED: cffi.so.p/src_ffilib.cc.o /home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-g++ -Icffi.so.p -I. -I.. -I/home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include -DNDEBUG -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++1y -fno-exceptions -fno-rtti -O3 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -fPIC -DCFFI_LUA_DLL -Wshadow -Wold-style-cast -fvisibility=hidden -DHAVE_CONFIG_H=1 -MD -MQ cffi.so.p/src_ffilib.cc.o -MF cffi.so.p/src_ffilib.cc.o.d -o cffi.so.p/src_ffilib.cc.o -c ../src/ffilib.cc In file included from ../src/libffi.hh:13:0, from ../src/ast.hh:10, from ../src/parser.hh:5, from ../src/ffilib.cc:7: ../src/util.hh: In member function 'void util::vector::setbuf(const T*, std::size_t)': ../src/util.hh:571:49: warning: declaration of 'data' shadows a member of 'this' [-Wshadow] void setbuf(T const *data, std::size_t len) { ^ In file included from ../src/parser.hh:5:0, from ../src/ffilib.cc:7: ../src/ast.hh: At global scope: ../src/ast.hh:239:28: error: template declaration of 'constexpr const ast::c_builtin ast::builtin_v' static constexpr c_builtin builtin_v = detail::builtin_v_base::value; ^ ../src/ast.hh: In constructor 'ast::c_param::c_param(util::strbuf, ast::c_type)': ../src/ast.hh:775:45: warning: declaration of 'type' shadows a member of 'this' [-Wshadow] c_param(util::strbuf pname, c_type type): ^ ../src/ast.hh: In constructor 'ast::c_function::c_function(ast::c_type, util::vector, uint32_t)': ../src/ast.hh:809:6: warning: declaration of 'params' shadows a member of 'this' [-Wshadow] ): ^ ../src/ast.hh:809:6: warning: declaration of 'result' shadows a member of 'this' [-Wshadow] ../src/ast.hh: In constructor 'ast::c_variable::c_variable(util::strbuf, util::strbuf, ast::c_type)': ../src/ast.hh:863:67: warning: declaration of 'sym' shadows a member of 'this' [-Wshadow] c_variable(util::strbuf vname, util::strbuf sym, c_type vtype): ^ ../src/ast.hh: In constructor 'ast::c_constant::c_constant(util::strbuf, ast::c_type, const ast::c_value&)': ../src/ast.hh:907:75: error: cannot convert 'const ast::c_value' to 'long double' in initialization p_name{util::move(cname)}, p_type{util::move(ctype)}, p_value{cval} ^ ../src/ast.hh: At global scope: ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::size' [-Wmissing-field-initializers] ffi_type p_ffi_type{}; ^ ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::alignment' [-Wmissing-field-initializers] ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::type' [-Wmissing-field-initializers] ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::elements' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::size' [-Wmissing-field-initializers] ffi_type p_ffi_flex{}; ^ ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::alignment' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::type' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::elements' [-Wmissing-field-initializers] ../src/ast.hh: In member function 'bool ast::c_record::passable() const': ../src/ast.hh:1056:33: error: parameter declared 'auto' iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:42: error: parameter declared 'auto' iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh: In lambda function: ../src/ast.hh:1057:18: error: 'type' was not declared in this scope if (!type.passable()) { ^ ../src/ast.hh: In constructor 'ast::c_enum::c_enum(util::strbuf, util::vector)': ../src/ast.hh:1120:59: warning: declaration of 'fields' shadows a member of 'this' [-Wshadow] c_enum(util::strbuf ename, util::vector fields): ^ ../src/ast.hh: In member function 'void ast::c_enum::set_fields(util::vector)': ../src/ast.hh:1161:49: warning: declaration of 'fields' shadows a member of 'this' [-Wshadow] void set_fields(util::vector fields) { ^ In file included from ../src/libffi.hh:13:0, from ../src/ast.hh:10, from ../src/parser.hh:5, from ../src/ffilib.cc:7: ../src/util.hh: In instantiation of 'constexpr T util::exchange(T&, U&&) [with T = ast::c_object*; U = std::nullptr_t]': ../src/ast.hh:1206:71: required from here ../src/util.hh:185:1: error: body of constexpr function 'constexpr T util::exchange(T&, U&&) [with T = ast::c_object*; U = std::nullptr_t]' not a return-statement } ^ In file included from ../src/ffilib.cc:11:0: ../src/ffi.hh: In function 'constexpr auto ffi::metafield_name(ffi::metatype_flag)': ../src/ffi.hh:66:19: warning: compound-statement in constexpr function [-Wpedantic] switch (flag) { ^ ../src/ffi.hh:107:1: error: body of constexpr function 'constexpr const char* ffi::metafield_name(ffi::metatype_flag)' not a return-statement } ^ ../src/ffilib.cc: In static member function 'static int cdata_meta::index(lua_State*)': ../src/ffilib.cc:321:46: error: parameter declared 'auto' if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc: In lambda function: ../src/ffilib.cc:322:33: error: 'decl' was not declared in this scope if (!ffi::to_lua(L, decl, val, ffi::RULE_CONV)) { ^ ../src/ffilib.cc: In static member function 'static int cdata_meta::newindex(lua_State*)': ../src/ffilib.cc:363:45: error: parameter declared 'auto' if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc: In lambda function: ../src/ffilib.cc:364:30: error: 'decl' was not declared in this scope ffi::from_lua(L, decl, val, 3); ^ ../src/ffilib.cc: In static member function 'static int ffi_module::load_f(lua_State*)': ../src/ffilib.cc:1163:41: warning: missing initializer for member 'lib::c_lib::h' [-Wmissing-field-initializers] auto *c_ud = new (L) lib::c_lib{}; ^ ../src/ffilib.cc:1163:41: warning: missing initializer for member 'lib::c_lib::cache' [-Wmissing-field-initializers] ../src/ffilib.cc: In static member function 'static void ffi_module::open(lua_State*)': ../src/ffilib.cc:1661:41: warning: missing initializer for member 'lib::c_lib::h' [-Wmissing-field-initializers] auto *c_ud = new (L) lib::c_lib{}; ^ ../src/ffilib.cc:1661:41: warning: missing initializer for member 'lib::c_lib::cache' [-Wmissing-field-initializers] In file included from ../src/parser.hh:5:0, from ../src/ffilib.cc:7: ../src/ast.hh: In instantiation of 'ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1': ../src/ast.hh:1086:22: required from 'struct ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1' ../src/ast.hh:1086:9: required from 'void ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]' ../src/ast.hh:1062:10: required from here ../src/ast.hh:1090:40: error: no match for call to '(ast::c_record::passable() const::__lambda0) (const char*&, const ast::c_type&, std::size_t&)' return acb(fname, type, off); ^ ../src/ast.hh:1056:26: note: candidate is: iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:59: note: ast::c_record::passable() const::__lambda0 iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:59: note: candidate expects 1 argument, 3 provided ../src/ast.hh: In instantiation of 'void ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]': ../src/ast.hh:1062:10: required from here ../src/ast.hh:1086:9: error: no matching function for call to 'ast::c_record::iter_fields(ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1, ast::c_record::passable() const::__lambda0*, int, bool&) const' iter_fields([]( ^ ../src/ast.hh:1086:9: note: candidates are: ../src/ast.hh:1084:10: note: template void ast::c_record::iter_fields(F&&) const void iter_fields(F &&cb) const { ^ ../src/ast.hh:1084:10: note: template argument deduction/substitution failed: ../src/ast.hh:1086:9: note: candidate expects 1 argument, 4 provided iter_fields([]( ^ ../src/ast.hh:1095:17: note: std::size_t ast::c_record::iter_fields(bool (*)(const char*, const ast::c_type&, std::size_t, void*), void*, std::size_t, bool&) const std::size_t iter_fields(bool (*cb)( ^ ../src/ast.hh:1095:17: note: no known conversion for argument 1 from 'ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1' to 'bool (*)(const char*, const ast::c_type&, std::size_t, void*) {aka bool (*)(const char*, const ast::c_type&, unsigned int, void*)}' ../src/ffilib.cc: In instantiation of 'static bool cdata_meta::index_common(lua_State*, F&&) [with bool New = false; F = cdata_meta::index(lua_State*)::__lambda4; lua_State = lua_State]': ../src/ffilib.cc:325:10: required from here ../src/ffilib.cc:254:75: error: no match for call to '(cdata_meta::index(lua_State*)::__lambda4) (const ast::c_type&, unsigned char*)' func(*outf, &reinterpret_cast(valp)[foff]); ^ ../src/ffilib.cc:321:38: note: candidate is: if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc:321:61: note: cdata_meta::index(lua_State*)::__lambda4 if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc:321:61: note: candidate expects 1 argument, 2 provided ../src/ffilib.cc:264:72: error: no match for call to '(cdata_meta::index(lua_State*)::__lambda4) (const ast::c_type&, void*)' func(decl->ptr_base(), static_cast(&ptr[sidx * elsize])); ^ ../src/ffilib.cc:321:38: note: candidate is: if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc:321:61: note: cdata_meta::index(lua_State*)::__lambda4 if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc:321:61: note: candidate expects 1 argument, 2 provided ../src/ffilib.cc: In instantiation of 'static bool cdata_meta::index_common(lua_State*, F&&) [with bool New = true; F = cdata_meta::newindex(lua_State*)::__lambda5; lua_State = lua_State]': ../src/ffilib.cc:365:10: required from here ../src/ffilib.cc:254:75: error: no match for call to '(cdata_meta::newindex(lua_State*)::__lambda5) (const ast::c_type&, unsigned char*)' func(*outf, &reinterpret_cast(valp)[foff]); ^ ../src/ffilib.cc:363:37: note: candidate is: if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc:363:60: note: cdata_meta::newindex(lua_State*)::__lambda5 if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc:363:60: note: candidate expects 1 argument, 2 provided ../src/ffilib.cc:264:72: error: no match for call to '(cdata_meta::newindex(lua_State*)::__lambda5) (const ast::c_type&, void*)' func(decl->ptr_base(), static_cast(&ptr[sidx * elsize])); ^ ../src/ffilib.cc:363:37: note: candidate is: if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc:363:60: note: cdata_meta::newindex(lua_State*)::__lambda5 if (index_common(L, [L](auto &decl, void *val) { ^ ../src/ffilib.cc:363:60: note: candidate expects 1 argument, 2 provided [4/8] Compiling C++ object cffi.so.p/src_ast.cc.o FAILED: cffi.so.p/src_ast.cc.o /home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-g++ -Icffi.so.p -I. -I.. -I/home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include -DNDEBUG -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++1y -fno-exceptions -fno-rtti -O3 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -fPIC -DCFFI_LUA_DLL -Wshadow -Wold-style-cast -fvisibility=hidden -DHAVE_CONFIG_H=1 -MD -MQ cffi.so.p/src_ast.cc.o -MF cffi.so.p/src_ast.cc.o.d -o cffi.so.p/src_ast.cc.o -c ../src/ast.cc In file included from ../src/ast.cc:5:0: ../src/util.hh: In member function 'void util::vector::setbuf(const T*, std::size_t)': ../src/util.hh:571:49: warning: declaration of 'data' shadows a member of 'this' [-Wshadow] void setbuf(T const *data, std::size_t len) { ^ In file included from ../src/ast.cc:6:0: ../src/ast.hh: At global scope: ../src/ast.hh:239:28: error: template declaration of 'constexpr const ast::c_builtin ast::builtin_v' static constexpr c_builtin builtin_v = detail::builtin_v_base::value; ^ ../src/ast.hh: In constructor 'ast::c_param::c_param(util::strbuf, ast::c_type)': ../src/ast.hh:775:45: warning: declaration of 'type' shadows a member of 'this' [-Wshadow] c_param(util::strbuf pname, c_type type): ^ ../src/ast.hh: In constructor 'ast::c_function::c_function(ast::c_type, util::vector, uint32_t)': ../src/ast.hh:809:6: warning: declaration of 'params' shadows a member of 'this' [-Wshadow] ): ^ ../src/ast.hh:809:6: warning: declaration of 'result' shadows a member of 'this' [-Wshadow] ../src/ast.hh: In constructor 'ast::c_variable::c_variable(util::strbuf, util::strbuf, ast::c_type)': ../src/ast.hh:863:67: warning: declaration of 'sym' shadows a member of 'this' [-Wshadow] c_variable(util::strbuf vname, util::strbuf sym, c_type vtype): ^ ../src/ast.hh: In constructor 'ast::c_constant::c_constant(util::strbuf, ast::c_type, const ast::c_value&)': ../src/ast.hh:907:75: error: cannot convert 'const ast::c_value' to 'long double' in initialization p_name{util::move(cname)}, p_type{util::move(ctype)}, p_value{cval} ^ ../src/ast.hh: At global scope: ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::size' [-Wmissing-field-initializers] ffi_type p_ffi_type{}; ^ ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::alignment' [-Wmissing-field-initializers] ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::type' [-Wmissing-field-initializers] ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::elements' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::size' [-Wmissing-field-initializers] ffi_type p_ffi_flex{}; ^ ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::alignment' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::type' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::elements' [-Wmissing-field-initializers] ../src/ast.hh: In member function 'bool ast::c_record::passable() const': ../src/ast.hh:1056:33: error: parameter declared 'auto' iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:42: error: parameter declared 'auto' iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh: In lambda function: ../src/ast.hh:1057:18: error: 'type' was not declared in this scope if (!type.passable()) { ^ ../src/ast.hh: In constructor 'ast::c_enum::c_enum(util::strbuf, util::vector)': ../src/ast.hh:1120:59: warning: declaration of 'fields' shadows a member of 'this' [-Wshadow] c_enum(util::strbuf ename, util::vector fields): ^ ../src/ast.hh: In member function 'void ast::c_enum::set_fields(util::vector)': ../src/ast.hh:1161:49: warning: declaration of 'fields' shadows a member of 'this' [-Wshadow] void set_fields(util::vector fields) { ^ In file included from ../src/ast.cc:5:0: ../src/util.hh: In instantiation of 'constexpr T util::exchange(T&, U&&) [with T = ast::c_object*; U = std::nullptr_t]': ../src/ast.hh:1206:71: required from here ../src/util.hh:185:1: error: body of constexpr function 'constexpr T util::exchange(T&, U&&) [with T = ast::c_object*; U = std::nullptr_t]' not a return-statement } ^ In file included from ../src/ast.cc:7:0: ../src/ffi.hh: In function 'constexpr auto ffi::metafield_name(ffi::metatype_flag)': ../src/ffi.hh:66:19: warning: compound-statement in constexpr function [-Wpedantic] switch (flag) { ^ ../src/ffi.hh:107:1: error: body of constexpr function 'constexpr const char* ffi::metafield_name(ffi::metatype_flag)' not a return-statement } ^ ../src/ast.cc: In function 'ast::c_type ast::from_lua_type(lua_State*, int)': ../src/ast.cc:1349:17: error: 'builtin_v' was not declared in this scope builtin_v != C_BUILTIN_INVALID, ^ ../src/ast.cc:1349:37: error: expected primary-expression before '>' token builtin_v != C_BUILTIN_INVALID, ^ ../src/ast.cc:1349:39: error: expected primary-expression before '!=' token builtin_v != C_BUILTIN_INVALID, ^ ../src/ast.cc:1353:38: error: expected primary-expression before '>' token builtin_v != C_BUILTIN_INVALID, ^ ../src/ast.cc:1353:40: error: expected primary-expression before '!=' token builtin_v != C_BUILTIN_INVALID, ^ ../src/ast.cc:1358:56: error: no matching function for call to 'ast::c_type::c_type()' return c_type{builtin_v, 0}; ^ ../src/ast.cc:1358:56: note: candidates are: ../src/ast.cc:698:1: note: ast::c_type::c_type(ast::c_type&&) c_type::c_type(c_type &&v): ^ ../src/ast.cc:698:1: note: candidate expects 1 argument, 2 provided In file included from ../src/ast.cc:6:0: ../src/ast.hh:556:5: note: ast::c_type::c_type(const ast::c_enum*, uint32_t) c_type(c_enum const *ctp, std::uint32_t qual): ^ ../src/ast.hh:556:5: note: no known conversion for argument 1 from '' to 'const ast::c_enum*' ../src/ast.hh:552:5: note: ast::c_type::c_type(const ast::c_record*, uint32_t) c_type(c_record const *ctp, std::uint32_t qual): ^ ../src/ast.hh:552:5: note: no known conversion for argument 1 from '' to 'const ast::c_record*' ../src/ast.hh:545:5: note: ast::c_type::c_type(util::rc_obj, uint32_t, bool) c_type(util::rc_obj ctp, std::uint32_t qual, bool cb): ^ ../src/ast.hh:545:5: note: candidate expects 3 arguments, 2 provided ../src/ast.hh:539:5: note: ast::c_type::c_type(util::rc_obj, uint32_t, ast::c_builtin) c_type(util::rc_obj ctp, std::uint32_t qual, c_builtin cbt): ^ ../src/ast.hh:539:5: note: candidate expects 3 arguments, 2 provided ../src/ast.hh:530:5: note: ast::c_type::c_type(util::rc_obj, uint32_t, std::size_t, uint32_t) c_type( ^ ../src/ast.hh:530:5: note: candidate expects 4 arguments, 2 provided ../src/ast.hh:526:5: note: ast::c_type::c_type(ast::c_builtin, uint32_t) c_type(c_builtin cbt, std::uint32_t qual): ^ ../src/ast.hh:526:5: note: no known conversion for argument 1 from '' to 'ast::c_builtin' ../src/ast.hh:522:5: note: ast::c_type::c_type() c_type(): ^ ../src/ast.hh:522:5: note: candidate expects 0 arguments, 2 provided ../src/ast.cc:1358:30: error: expected primary-expression before '{' token return c_type{builtin_v, 0}; ^ ../src/ast.cc:1358:30: error: expected ';' before '{' token ../src/ast.cc:1358:52: error: expected primary-expression before '>' token return c_type{builtin_v, 0}; ^ ../src/ast.cc:1358:53: error: expected primary-expression before ',' token return c_type{builtin_v, 0}; ^ ../src/ast.cc:1358:56: error: expected ';' before '}' token return c_type{builtin_v, 0}; ^ ../src/ast.cc:1360:51: error: no matching function for call to 'ast::c_type::c_type()' return c_type{builtin_v, 0}; ^ ../src/ast.cc:1360:51: note: candidates are: ../src/ast.cc:698:1: note: ast::c_type::c_type(ast::c_type&&) c_type::c_type(c_type &&v): ^ ../src/ast.cc:698:1: note: candidate expects 1 argument, 2 provided In file included from ../src/ast.cc:6:0: ../src/ast.hh:556:5: note: ast::c_type::c_type(const ast::c_enum*, uint32_t) c_type(c_enum const *ctp, std::uint32_t qual): ^ ../src/ast.hh:556:5: note: no known conversion for argument 1 from '' to 'const ast::c_enum*' ../src/ast.hh:552:5: note: ast::c_type::c_type(const ast::c_record*, uint32_t) c_type(c_record const *ctp, std::uint32_t qual): ^ ../src/ast.hh:552:5: note: no known conversion for argument 1 from '' to 'const ast::c_record*' ../src/ast.hh:545:5: note: ast::c_type::c_type(util::rc_obj, uint32_t, bool) c_type(util::rc_obj ctp, std::uint32_t qual, bool cb): ^ ../src/ast.hh:545:5: note: candidate expects 3 arguments, 2 provided ../src/ast.hh:539:5: note: ast::c_type::c_type(util::rc_obj, uint32_t, ast::c_builtin) c_type(util::rc_obj ctp, std::uint32_t qual, c_builtin cbt): ^ ../src/ast.hh:539:5: note: candidate expects 3 arguments, 2 provided ../src/ast.hh:530:5: note: ast::c_type::c_type(util::rc_obj, uint32_t, std::size_t, uint32_t) c_type( ^ ../src/ast.hh:530:5: note: candidate expects 4 arguments, 2 provided ../src/ast.hh:526:5: note: ast::c_type::c_type(ast::c_builtin, uint32_t) c_type(c_builtin cbt, std::uint32_t qual): ^ ../src/ast.hh:526:5: note: no known conversion for argument 1 from '' to 'ast::c_builtin' ../src/ast.hh:522:5: note: ast::c_type::c_type() c_type(): ^ ../src/ast.hh:522:5: note: candidate expects 0 arguments, 2 provided ../src/ast.cc:1360:26: error: expected primary-expression before '{' token return c_type{builtin_v, 0}; ^ ../src/ast.cc:1360:26: error: expected ';' before '{' token ../src/ast.cc:1360:47: error: expected primary-expression before '>' token return c_type{builtin_v, 0}; ^ ../src/ast.cc:1360:48: error: expected primary-expression before ',' token return c_type{builtin_v, 0}; ^ ../src/ast.cc:1360:51: error: expected ';' before '}' token return c_type{builtin_v, 0}; ^ In file included from ../src/ast.cc:6:0: ../src/ast.hh: In instantiation of 'ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1': ../src/ast.hh:1086:22: required from 'struct ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1' ../src/ast.hh:1086:9: required from 'void ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]' ../src/ast.hh:1062:10: required from here ../src/ast.hh:1090:40: error: no match for call to '(ast::c_record::passable() const::__lambda0) (const char*&, const ast::c_type&, std::size_t&)' return acb(fname, type, off); ^ ../src/ast.hh:1056:26: note: candidate is: iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:59: note: ast::c_record::passable() const::__lambda0 iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:59: note: candidate expects 1 argument, 3 provided ../src/ast.hh: In instantiation of 'void ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]': ../src/ast.hh:1062:10: required from here ../src/ast.hh:1086:9: error: no matching function for call to 'ast::c_record::iter_fields(ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1, ast::c_record::passable() const::__lambda0*, int, bool&) const' iter_fields([]( ^ ../src/ast.hh:1086:9: note: candidates are: ../src/ast.hh:1084:10: note: template void ast::c_record::iter_fields(F&&) const void iter_fields(F &&cb) const { ^ ../src/ast.hh:1084:10: note: template argument deduction/substitution failed: ../src/ast.hh:1086:9: note: candidate expects 1 argument, 4 provided iter_fields([]( ^ ../src/ast.cc:1091:13: note: std::size_t ast::c_record::iter_fields(bool (*)(const char*, const ast::c_type&, std::size_t, void*), void*, std::size_t, bool&) const std::size_t c_record::iter_fields(bool (*cb)( ^ ../src/ast.cc:1091:13: note: no known conversion for argument 1 from 'ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1' to 'bool (*)(const char*, const ast::c_type&, std::size_t, void*) {aka bool (*)(const char*, const ast::c_type&, unsigned int, void*)}' [5/8] Compiling C++ object cffi.so.p/src_parser.cc.o FAILED: cffi.so.p/src_parser.cc.o /home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-g++ -Icffi.so.p -I. -I.. -I/home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include -DNDEBUG -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++1y -fno-exceptions -fno-rtti -O3 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -fPIC -DCFFI_LUA_DLL -Wshadow -Wold-style-cast -fvisibility=hidden -DHAVE_CONFIG_H=1 -MD -MQ cffi.so.p/src_parser.cc.o -MF cffi.so.p/src_parser.cc.o.d -o cffi.so.p/src_parser.cc.o -c ../src/parser.cc In file included from ../src/libffi.hh:13:0, from ../src/ast.hh:10, from ../src/parser.hh:5, from ../src/parser.cc:6: ../src/util.hh: In member function 'void util::vector::setbuf(const T*, std::size_t)': ../src/util.hh:571:49: warning: declaration of 'data' shadows a member of 'this' [-Wshadow] void setbuf(T const *data, std::size_t len) { ^ In file included from ../src/parser.hh:5:0, from ../src/parser.cc:6: ../src/ast.hh: At global scope: ../src/ast.hh:239:28: error: template declaration of 'constexpr const ast::c_builtin ast::builtin_v' static constexpr c_builtin builtin_v = detail::builtin_v_base::value; ^ ../src/ast.hh: In constructor 'ast::c_param::c_param(util::strbuf, ast::c_type)': ../src/ast.hh:775:45: warning: declaration of 'type' shadows a member of 'this' [-Wshadow] c_param(util::strbuf pname, c_type type): ^ ../src/ast.hh: In constructor 'ast::c_function::c_function(ast::c_type, util::vector, uint32_t)': ../src/ast.hh:809:6: warning: declaration of 'params' shadows a member of 'this' [-Wshadow] ): ^ ../src/ast.hh:809:6: warning: declaration of 'result' shadows a member of 'this' [-Wshadow] ../src/ast.hh: In constructor 'ast::c_variable::c_variable(util::strbuf, util::strbuf, ast::c_type)': ../src/ast.hh:863:67: warning: declaration of 'sym' shadows a member of 'this' [-Wshadow] c_variable(util::strbuf vname, util::strbuf sym, c_type vtype): ^ ../src/ast.hh: In constructor 'ast::c_constant::c_constant(util::strbuf, ast::c_type, const ast::c_value&)': ../src/ast.hh:907:75: error: cannot convert 'const ast::c_value' to 'long double' in initialization p_name{util::move(cname)}, p_type{util::move(ctype)}, p_value{cval} ^ ../src/ast.hh: At global scope: ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::size' [-Wmissing-field-initializers] ffi_type p_ffi_type{}; ^ ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::alignment' [-Wmissing-field-initializers] ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::type' [-Wmissing-field-initializers] ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::elements' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::size' [-Wmissing-field-initializers] ffi_type p_ffi_flex{}; ^ ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::alignment' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::type' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::elements' [-Wmissing-field-initializers] ../src/ast.hh: In member function 'bool ast::c_record::passable() const': ../src/ast.hh:1056:33: error: parameter declared 'auto' iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:42: error: parameter declared 'auto' iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh: In lambda function: ../src/ast.hh:1057:18: error: 'type' was not declared in this scope if (!type.passable()) { ^ ../src/ast.hh: In constructor 'ast::c_enum::c_enum(util::strbuf, util::vector)': ../src/ast.hh:1120:59: warning: declaration of 'fields' shadows a member of 'this' [-Wshadow] c_enum(util::strbuf ename, util::vector fields): ^ ../src/ast.hh: In member function 'void ast::c_enum::set_fields(util::vector)': ../src/ast.hh:1161:49: warning: declaration of 'fields' shadows a member of 'this' [-Wshadow] void set_fields(util::vector fields) { ^ In file included from ../src/libffi.hh:13:0, from ../src/ast.hh:10, from ../src/parser.hh:5, from ../src/parser.cc:6: ../src/util.hh: In instantiation of 'constexpr T util::exchange(T&, U&&) [with T = ast::c_object*; U = std::nullptr_t]': ../src/ast.hh:1206:71: required from here ../src/util.hh:185:1: error: body of constexpr function 'constexpr T util::exchange(T&, U&&) [with T = ast::c_object*; U = std::nullptr_t]' not a return-statement } ^ ../src/parser.cc: In function 'bool parser::parse_typebase_core(parser::lex_state&, ast::c_type&, bool*, bool*)': ../src/parser.cc:2106:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2106:45: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2106:46: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2109:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2109:46: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2109:47: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2112:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2112:46: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2112:47: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2115:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2115:46: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2115:47: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2118:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2118:46: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2118:47: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2121:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2121:47: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2121:48: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2124:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2124:47: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2124:48: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2127:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2127:47: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2127:48: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2130:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2130:48: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2130:49: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2133:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2133:47: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2133:48: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2136:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2136:48: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2136:49: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2139:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2139:47: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2139:48: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2142:19: error: 'builtin_v' is not a member of 'ast' cbt = ast::builtin_v; ^ ../src/parser.cc:2142:45: error: expected primary-expression before '>' token cbt = ast::builtin_v; ^ ../src/parser.cc:2142:46: error: expected primary-expression before ';' token cbt = ast::builtin_v; ^ ../src/parser.cc:2149:34: error: 'builtin_v' is not a member of 'ast' case TOK_time_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2149:60: error: expected primary-expression before '>' token case TOK_time_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2149:61: error: expected primary-expression before ';' token case TOK_time_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2150:34: error: 'builtin_v' is not a member of 'ast' case TOK_wchar_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2150:49: error: expected primary-expression before 'wchar_t' case TOK_wchar_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2150:49: error: expected ';' before 'wchar_t' ../src/parser.cc:2151:34: error: 'builtin_v' is not a member of 'ast' case TOK_char16_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2151:49: error: expected primary-expression before 'char16_t' case TOK_char16_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2151:49: error: expected ';' before 'char16_t' ../src/parser.cc:2152:34: error: 'builtin_v' is not a member of 'ast' case TOK_char32_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2152:49: error: expected primary-expression before 'char32_t' case TOK_char32_t: cbt = ast::builtin_v; goto btype; ^ ../src/parser.cc:2152:49: error: expected ';' before 'char32_t' In file included from ../src/parser.hh:5:0, from ../src/parser.cc:6: ../src/ast.hh: In instantiation of 'ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1': ../src/ast.hh:1086:22: required from 'struct ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1' ../src/ast.hh:1086:9: required from 'void ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]' ../src/ast.hh:1062:10: required from here ../src/ast.hh:1090:40: error: no match for call to '(ast::c_record::passable() const::__lambda0) (const char*&, const ast::c_type&, std::size_t&)' return acb(fname, type, off); ^ ../src/ast.hh:1056:26: note: candidate is: iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:59: note: ast::c_record::passable() const::__lambda0 iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:59: note: candidate expects 1 argument, 3 provided ../src/ast.hh: In instantiation of 'void ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]': ../src/ast.hh:1062:10: required from here ../src/ast.hh:1086:9: error: no matching function for call to 'ast::c_record::iter_fields(ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1, ast::c_record::passable() const::__lambda0*, int, bool&) const' iter_fields([]( ^ ../src/ast.hh:1086:9: note: candidates are: ../src/ast.hh:1084:10: note: template void ast::c_record::iter_fields(F&&) const void iter_fields(F &&cb) const { ^ ../src/ast.hh:1084:10: note: template argument deduction/substitution failed: ../src/ast.hh:1086:9: note: candidate expects 1 argument, 4 provided iter_fields([]( ^ ../src/ast.hh:1095:17: note: std::size_t ast::c_record::iter_fields(bool (*)(const char*, const ast::c_type&, std::size_t, void*), void*, std::size_t, bool&) const std::size_t iter_fields(bool (*cb)( ^ ../src/ast.hh:1095:17: note: no known conversion for argument 1 from 'ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1' to 'bool (*)(const char*, const ast::c_type&, std::size_t, void*) {aka bool (*)(const char*, const ast::c_type&, unsigned int, void*)}' [6/8] Compiling C++ object cffi.so.p/src_ffi.cc.o FAILED: cffi.so.p/src_ffi.cc.o /home/buildroot/autobuild/instance-0/output-1/host/bin/arm-none-linux-gnueabi-g++ -Icffi.so.p -I. -I.. -I/home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include -DNDEBUG -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++1y -fno-exceptions -fno-rtti -O3 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -fPIC -DCFFI_LUA_DLL -Wshadow -Wold-style-cast -fvisibility=hidden -DHAVE_CONFIG_H=1 -MD -MQ cffi.so.p/src_ffi.cc.o -MF cffi.so.p/src_ffi.cc.o.d -o cffi.so.p/src_ffi.cc.o -c ../src/ffi.cc In file included from ../src/ffi.cc:2:0: ../src/util.hh: In member function 'void util::vector::setbuf(const T*, std::size_t)': ../src/util.hh:571:49: warning: declaration of 'data' shadows a member of 'this' [-Wshadow] void setbuf(T const *data, std::size_t len) { ^ In file included from ../src/ffi.hh:10:0, from ../src/ffi.cc:3: ../src/ast.hh: At global scope: ../src/ast.hh:239:28: error: template declaration of 'constexpr const ast::c_builtin ast::builtin_v' static constexpr c_builtin builtin_v = detail::builtin_v_base::value; ^ ../src/ast.hh: In constructor 'ast::c_param::c_param(util::strbuf, ast::c_type)': ../src/ast.hh:775:45: warning: declaration of 'type' shadows a member of 'this' [-Wshadow] c_param(util::strbuf pname, c_type type): ^ ../src/ast.hh: In constructor 'ast::c_function::c_function(ast::c_type, util::vector, uint32_t)': ../src/ast.hh:809:6: warning: declaration of 'params' shadows a member of 'this' [-Wshadow] ): ^ ../src/ast.hh:809:6: warning: declaration of 'result' shadows a member of 'this' [-Wshadow] ../src/ast.hh: In constructor 'ast::c_variable::c_variable(util::strbuf, util::strbuf, ast::c_type)': ../src/ast.hh:863:67: warning: declaration of 'sym' shadows a member of 'this' [-Wshadow] c_variable(util::strbuf vname, util::strbuf sym, c_type vtype): ^ ../src/ast.hh: In constructor 'ast::c_constant::c_constant(util::strbuf, ast::c_type, const ast::c_value&)': ../src/ast.hh:907:75: error: cannot convert 'const ast::c_value' to 'long double' in initialization p_name{util::move(cname)}, p_type{util::move(ctype)}, p_value{cval} ^ ../src/ast.hh: At global scope: ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::size' [-Wmissing-field-initializers] ffi_type p_ffi_type{}; ^ ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::alignment' [-Wmissing-field-initializers] ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::type' [-Wmissing-field-initializers] ../src/ast.hh:1103:25: warning: missing initializer for member '_ffi_type::elements' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::size' [-Wmissing-field-initializers] ffi_type p_ffi_flex{}; ^ ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::alignment' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::type' [-Wmissing-field-initializers] ../src/ast.hh:1104:25: warning: missing initializer for member '_ffi_type::elements' [-Wmissing-field-initializers] ../src/ast.hh: In member function 'bool ast::c_record::passable() const': ../src/ast.hh:1056:33: error: parameter declared 'auto' iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:42: error: parameter declared 'auto' iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh: In lambda function: ../src/ast.hh:1057:18: error: 'type' was not declared in this scope if (!type.passable()) { ^ ../src/ast.hh: In constructor 'ast::c_enum::c_enum(util::strbuf, util::vector)': ../src/ast.hh:1120:59: warning: declaration of 'fields' shadows a member of 'this' [-Wshadow] c_enum(util::strbuf ename, util::vector fields): ^ ../src/ast.hh: In member function 'void ast::c_enum::set_fields(util::vector)': ../src/ast.hh:1161:49: warning: declaration of 'fields' shadows a member of 'this' [-Wshadow] void set_fields(util::vector fields) { ^ In file included from ../src/ffi.cc:2:0: ../src/util.hh: In instantiation of 'constexpr T util::exchange(T&, U&&) [with T = ast::c_object*; U = std::nullptr_t]': ../src/ast.hh:1206:71: required from here ../src/util.hh:185:1: error: body of constexpr function 'constexpr T util::exchange(T&, U&&) [with T = ast::c_object*; U = std::nullptr_t]' not a return-statement } ^ In file included from ../src/ffi.cc:3:0: ../src/ffi.hh: In function 'constexpr auto ffi::metafield_name(ffi::metatype_flag)': ../src/ffi.hh:66:19: warning: compound-statement in constexpr function [-Wpedantic] switch (flag) { ^ ../src/ffi.hh:107:1: error: body of constexpr function 'constexpr const char* ffi::metafield_name(ffi::metatype_flag)' not a return-statement } ^ ../src/ffi.cc: In function 'void ffi::make_cdata_func(lua_State*, void (*)(), util::rc_obj, bool, ffi::closure_data*)': ../src/ffi.cc:289:49: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object [enabled by default] reinterpret_cast(fud.val.sym) ^ ../src/ffi.cc: In function 'void ffi::from_lua_str(lua_State*, const ast::c_type&, void*, std::size_t, int, std::size_t, std::size_t)': ../src/ffi.cc:1136:19: warning: missing initializer for member 'ffi::arg_stor_t::pad' [-Wmissing-field-initializers] arg_stor_t sv{}; ^ ../src/ffi.cc: In function 'bool ffi::from_lua_aggreg(lua_State*, const ast::c_type&, void*, std::size_t, int, int)': ../src/ffi.cc:1336:39: warning: missing initializer for member 'ffi::arg_stor_t::pad' [-Wmissing-field-initializers] arg_stor_t sv{}; ^ ../src/ffi.cc: In function 'void ffi::from_lua(lua_State*, const ast::c_type&, void*, int)': ../src/ffi.cc:1404:23: warning: missing initializer for member 'ffi::arg_stor_t::pad' [-Wmissing-field-initializers] arg_stor_t sv{}; ^ ../src/ffi.cc: In function 'void ffi::get_global(lua_State*, const lib::c_lib*, const char*)': ../src/ffi.cc:1437:57: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object [enabled by default] L, reinterpret_cast(symp), ^ ../src/ffi.cc: In function 'void ffi::make_cdata(lua_State*, const ast::c_type&, int, int)': ../src/ffi.cc:1483:21: warning: missing initializer for member 'ffi::arg_stor_t::pad' [-Wmissing-field-initializers] arg_stor_t stor{}; ^ In file included from ../src/ffi.hh:10:0, from ../src/ffi.cc:3: ../src/ast.hh: In instantiation of 'ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1': ../src/ast.hh:1086:22: required from 'struct ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1' ../src/ast.hh:1086:9: required from 'void ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]' ../src/ast.hh:1062:10: required from here ../src/ast.hh:1090:40: error: no match for call to '(ast::c_record::passable() const::__lambda0) (const char*&, const ast::c_type&, std::size_t&)' return acb(fname, type, off); ^ ../src/ast.hh:1056:26: note: candidate is: iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:59: note: ast::c_record::passable() const::__lambda0 iter_fields([&ret](auto *, auto &type, std::size_t) { ^ ../src/ast.hh:1056:59: note: candidate expects 1 argument, 3 provided ../src/ast.hh: In instantiation of 'void ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]': ../src/ast.hh:1062:10: required from here ../src/ast.hh:1086:9: error: no matching function for call to 'ast::c_record::iter_fields(ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1, ast::c_record::passable() const::__lambda0*, int, bool&) const' iter_fields([]( ^ ../src/ast.hh:1086:9: note: candidates are: ../src/ast.hh:1084:10: note: template void ast::c_record::iter_fields(F&&) const void iter_fields(F &&cb) const { ^ ../src/ast.hh:1084:10: note: template argument deduction/substitution failed: ../src/ast.hh:1086:9: note: candidate expects 1 argument, 4 provided iter_fields([]( ^ ../src/ast.hh:1095:17: note: std::size_t ast::c_record::iter_fields(bool (*)(const char*, const ast::c_type&, std::size_t, void*), void*, std::size_t, bool&) const std::size_t iter_fields(bool (*cb)( ^ ../src/ast.hh:1095:17: note: no known conversion for argument 1 from 'ast::c_record::iter_fields(F&&) const [with F = ast::c_record::passable() const::__lambda0]::__lambda1' to 'bool (*)(const char*, const ast::c_type&, std::size_t, void*) {aka bool (*)(const char*, const ast::c_type&, unsigned int, void*)}' ninja: build stopped: subcommand failed. package/pkg-generic.mk:289: recipe for target '/home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1/.stamp_built' failed make: *** [/home/buildroot/autobuild/instance-0/output-1/build/lua-cffi-0.2.1/.stamp_built] Error 1 make: Leaving directory '/home/buildroot/autobuild/instance-0/buildroot'