Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails with llvm-17 #115

Closed
hjudt opened this issue Oct 16, 2023 · 4 comments
Closed

Build fails with llvm-17 #115

hjudt opened this issue Oct 16, 2023 · 4 comments

Comments

@hjudt
Copy link
Contributor

hjudt commented Oct 16, 2023

As described in #114, here is the output (there are also some deprecated header warnings in addition to the compile error in AST.cpp):

 * checking ebuild checksums ;-) ...                                                                          [ ok ]
 * checking miscfile checksums ;-) ...                                                                        [ ok ]
>>> Unpacking source...
>>> Unpacking c2ffi-16.0.0.20231016.tar.gz to /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work
>>> Source unpacked in /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work
>>> Preparing source in /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345 ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345_build"
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345 ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345_build"
cmake -C /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345_build/gentoo_toolchain.cmake /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345
loading initial cache file /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345_build/gentoo_common_config.cmake
-- Config: -Release
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CXX Compiler: GNU
-- Building for Linux-x64
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /usr/lib64/libffi.so  
-- Performing Test Terminfo_LINKABLE
-- Performing Test Terminfo_LINKABLE - Success
-- Found Terminfo: /usr/lib64/libtinfo.so  
-- Found ZLIB: /usr/lib64/libz.so (found version "1.3")  
-- Found LibXml2: /usr/lib64/libxml2.so (found version "2.11.5") 
-- Found LLVM 17.0.1
-- LLVM installed in /usr/lib/llvm/17
-- Using LLVMConfig.cmake in: /usr/lib/llvm/17/lib64/cmake/llvm
-- c2ffi c++std: -std=c++17
**   C++ flags: -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result
**   C++ debug    flags:  -O1 -ggdb2 -fno-omit-frame-pointer
**   C++ rwdi     flags: -O2 -ggdb2 -fno-omit-frame-pointer -DNDEBUG
**   C++ release  flags: -O3 -DNDEBUG
**   Link flags: -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common -Wl,-z,now
**   Link debug flags: 
**
**   This build: Release
-- <<< Gentoo configuration >>>
Build type      Release
Install path    /usr
Compiler flags:
C               -O2 -march=native -pipe -fno-ident -ggdb
C++             -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result
Linker flags:
Executable      -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common -Wl,-z,now
Module          -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common -Wl,-z,now
Shared          -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common -Wl,-z,now

-- Configuring done (1.2s)
-- Generating done (0.0s)
-- Build files have been written to: /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345_build
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345 ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345_build"
ninja -v -j10 -l0
[1/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/drivers/Null.cpp.o -MF CMakeFiles/c2ffi.dir/src/drivers/Null.cpp.o.d -o CMakeFiles/c2ffi.dir/src/drivers/Null.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/drivers/Null.cpp
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:29,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi.h:106,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/drivers/Null.cpp:22:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/TemplateBase.h:20,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:28:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[2/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/Template.cpp.o -MF CMakeFiles/c2ffi.dir/src/Template.cpp.o.d -o CMakeFiles/c2ffi.dir/src/Template.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Template.cpp
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:29,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi.h:106,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Template.cpp:24:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/TemplateBase.h:20,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:28:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[3/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/OutputDriver.cpp.o -MF CMakeFiles/c2ffi.dir/src/OutputDriver.cpp.o.d -o CMakeFiles/c2ffi.dir/src/OutputDriver.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/OutputDriver.cpp
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:29,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi.h:106,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/OutputDriver.cpp:23:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/TemplateBase.h:20,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:28:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[4/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/drivers/Sexp.cpp.o -MF CMakeFiles/c2ffi.dir/src/drivers/Sexp.cpp.o.d -o CMakeFiles/c2ffi.dir/src/drivers/Sexp.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/drivers/Sexp.cpp
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:29,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi.h:106,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/drivers/Sexp.cpp:22:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/TemplateBase.h:20,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:28:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[5/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/Type.cpp.o -MF CMakeFiles/c2ffi.dir/src/Type.cpp.o.d -o CMakeFiles/c2ffi.dir/src/Type.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Type.cpp
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Type.cpp:26:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Type.cpp:24:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[6/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/Decl.cpp.o -MF CMakeFiles/c2ffi.dir/src/Decl.cpp.o.d -o CMakeFiles/c2ffi.dir/src/Decl.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Decl.cpp
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Decl.cpp:22:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/CanonicalType.h:17,
                 from /usr/lib/llvm/17/include/clang/AST/ASTContext.h:18,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Decl.cpp:21:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[7/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/Expr.cpp.o -MF CMakeFiles/c2ffi.dir/src/Expr.cpp.o.d -o CMakeFiles/c2ffi.dir/src/Expr.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Expr.cpp
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:29,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi.h:106,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/Expr.cpp:32:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/TemplateBase.h:20,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:28:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[8/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/drivers/JSON.cpp.o -MF CMakeFiles/c2ffi.dir/src/drivers/JSON.cpp.o.d -o CMakeFiles/c2ffi.dir/src/drivers/JSON.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/drivers/JSON.cpp
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:29,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi.h:106,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/drivers/JSON.cpp:22:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/TemplateBase.h:20,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:28:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[9/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/AST.cpp.o -MF CMakeFiles/c2ffi.dir/src/AST.cpp.o.d -o CMakeFiles/c2ffi.dir/src/AST.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp
FAILED: CMakeFiles/c2ffi.dir/src/AST.cpp.o 
/usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/AST.cpp.o -MF CMakeFiles/c2ffi.dir/src/AST.cpp.o.d -o CMakeFiles/c2ffi.dir/src/AST.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp
In file included from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:42:
/usr/lib/llvm/17/include/llvm/Support/Host.h:16:5: warning: This header is deprecated, please use llvm/TargetParser/Host.h
   16 |     "This header is deprecated, please use llvm/TargetParser/Host.h"
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:26:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/CanonicalType.h:17,
                 from /usr/lib/llvm/17/include/clang/AST/ASTContext.h:18,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:25:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
In file included from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:47:
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp: In member function ‘void c2ffi::C2FFIASTConsumer::HandleDecl(clang::Decl*, const clang::NamedDecl*)’:
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:140:18: warning: unused variable ‘x’ [-Wunused-variable]
  140 |     else if_cast(x, clang::ObjCMethodDecl, d);
      |                  ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/ast.h:31:30: note: in definition of macro ‘if_cast’
   31 | #define if_cast(v,T,e) if(T *v = llvm::dyn_cast<T>((e)))
      |                              ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:139:18: warning: unused variable ‘x’ [-Wunused-variable]
  139 |     else if_cast(x, clang::ObjCImplementationDecl, d);
      |                  ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/ast.h:31:30: note: in definition of macro ‘if_cast’
   31 | #define if_cast(v,T,e) if(T *v = llvm::dyn_cast<T>((e)))
      |                              ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:133:18: warning: unused variable ‘x’ [-Wunused-variable]
  133 |     else if_cast(x, clang::ClassTemplateDecl, d);
      |                  ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/ast.h:31:30: note: in definition of macro ‘if_cast’
   31 | #define if_cast(v,T,e) if(T *v = llvm::dyn_cast<T>((e)))
      |                              ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:119:18: warning: unused variable ‘x’ [-Wunused-variable]
  119 |     else if_cast(x, clang::FunctionTemplateDecl, d);
      |                  ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/ast.h:31:30: note: in definition of macro ‘if_cast’
   31 | #define if_cast(v,T,e) if(T *v = llvm::dyn_cast<T>((e)))
      |                              ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:118:18: warning: unused variable ‘x’ [-Wunused-variable]
  118 |     else if_cast(x, clang::CXXMethodDecl, d);
      |                  ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/ast.h:31:30: note: in definition of macro ‘if_cast’
   31 | #define if_cast(v,T,e) if(T *v = llvm::dyn_cast<T>((e)))
      |                              ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:117:18: warning: unused variable ‘x’ [-Wunused-variable]
  117 |     else if_cast(x, clang::IndirectFieldDecl, d);
      |                  ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/ast.h:31:30: note: in definition of macro ‘if_cast’
   31 | #define if_cast(v,T,e) if(T *v = llvm::dyn_cast<T>((e)))
      |                              ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:116:18: warning: unused variable ‘x’ [-Wunused-variable]
  116 |     else if_cast(x, clang::FieldDecl, d);
      |                  ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/ast.h:31:30: note: in definition of macro ‘if_cast’
   31 | #define if_cast(v,T,e) if(T *v = llvm::dyn_cast<T>((e)))
      |                              ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp: In member function ‘void c2ffi::C2FFIASTConsumer::PostProcess()’:
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:185:27: warning: unused variable ‘y’ [-Wunused-variable]
  185 |             if_const_cast(y, clang::ClassTemplatePartialSpecializationDecl, d) continue;
      |                           ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/ast.h:32:42: note: in definition of macro ‘if_const_cast’
   32 | #define if_const_cast(v,T,e) if(const T *v = llvm::dyn_cast<T>((e)))
      |                                          ^
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp: In member function ‘c2ffi::Decl* c2ffi::C2FFIASTConsumer::make_decl(const clang::VarDecl*, bool)’:
/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/AST.cpp:245:66: error: cannot convert ‘clang::Expr’ to ‘clang::Expr*’ in initialization
  245 |             clang::Expr*          e    = clang::cast<clang::Expr>(stmt->Value);
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
      |                                                                  |
      |                                                                  clang::Expr
[10/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/c2ffi.cpp.o -MF CMakeFiles/c2ffi.dir/src/c2ffi.cpp.o.d -o CMakeFiles/c2ffi.dir/src/c2ffi.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/c2ffi.cpp
In file included from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/c2ffi.cpp:24:
/usr/lib/llvm/17/include/llvm/Support/Host.h:16:5: warning: This header is deprecated, please use llvm/TargetParser/Host.h
   16 |     "This header is deprecated, please use llvm/TargetParser/Host.h"
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/ExprCXX.h:21,
                 from /usr/lib/llvm/17/include/clang/Analysis/ConstructionContext.h:20,
                 from /usr/lib/llvm/17/include/clang/Analysis/CFG.h:18,
                 from /usr/lib/llvm/17/include/clang/Analysis/AnalysisDeclContext.h:22,
                 from /usr/lib/llvm/17/include/clang/Analysis/PathDiagnostic.h:17,
                 from /usr/lib/llvm/17/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:17,
                 from /usr/lib/llvm/17/include/clang/Frontend/CompilerInvocation.h:22,
                 from /usr/lib/llvm/17/include/clang/Frontend/CompilerInstance.h:16,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/c2ffi.cpp:30:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/DeclarationName.h:16,
                 from /usr/lib/llvm/17/include/clang/AST/DeclBase.h:18,
                 from /usr/lib/llvm/17/include/clang/Analysis/AnalysisDeclContext.h:20:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[11/13] /usr/bin/x86_64-pc-linux-gnu-g++  -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/options.cpp.o -MF CMakeFiles/c2ffi.dir/src/options.cpp.o.d -o CMakeFiles/c2ffi.dir/src/options.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/options.cpp
In file included from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/options.cpp:27:
/usr/lib/llvm/17/include/llvm/Support/Host.h:16:5: warning: This header is deprecated, please use llvm/TargetParser/Host.h
   16 |     "This header is deprecated, please use llvm/TargetParser/Host.h"
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/DeclTemplate.h:21,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:29,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi.h:106,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/options.cpp:29:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/TemplateBase.h:20,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include/c2ffi/template.h:28:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
[12/13] /usr/bin/x86_64-pc-linux-gnu-g++ -DCLANG_RESOURCE_DIRECTORY="R\"(/usr/lib/llvm/17/bin/../../../../lib/clang/17)\"" -I/usr/lib/llvm/17/include -I/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/include  -O2 -march=native -pipe -fno-ident -ggdb -W -Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Werror=return-type -Werror=unused-result -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/c2ffi.dir/src/init.cpp.o -MF CMakeFiles/c2ffi.dir/src/init.cpp.o.d -o CMakeFiles/c2ffi.dir/src/init.cpp.o -c /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/init.cpp
In file included from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/init.cpp:24:
/usr/lib/llvm/17/include/llvm/Support/Host.h:16:5: warning: This header is deprecated, please use llvm/TargetParser/Host.h
   16 |     "This header is deprecated, please use llvm/TargetParser/Host.h"
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/DeclCXX.h:29,
                 from /usr/lib/llvm/17/include/clang/AST/ExprCXX.h:21,
                 from /usr/lib/llvm/17/include/clang/Analysis/ConstructionContext.h:20,
                 from /usr/lib/llvm/17/include/clang/Analysis/CFG.h:18,
                 from /usr/lib/llvm/17/include/clang/Analysis/AnalysisDeclContext.h:22,
                 from /usr/lib/llvm/17/include/clang/Analysis/PathDiagnostic.h:17,
                 from /usr/lib/llvm/17/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:17,
                 from /usr/lib/llvm/17/include/clang/Frontend/CompilerInvocation.h:22,
                 from /usr/lib/llvm/17/include/clang/Frontend/CompilerInstance.h:16,
                 from /var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345/src/init.cpp:34:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h: In constructor ‘clang::TypeSourceInfo::TypeSourceInfo(clang::QualType, size_t)’:
/usr/lib/llvm/17/include/clang/AST/TypeLoc.h:245:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class clang::TypeSourceInfo’; use assignment instead [-Wclass-memaccess]
  245 |   memset(this + 1, 0, DataSize);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/17/include/clang/AST/DeclarationName.h:16,
                 from /usr/lib/llvm/17/include/clang/AST/DeclBase.h:18,
                 from /usr/lib/llvm/17/include/clang/Analysis/AnalysisDeclContext.h:20:
/usr/lib/llvm/17/include/clang/AST/Type.h:6655:18: note: ‘class clang::TypeSourceInfo’ declared here
 6655 | class alignas(8) TypeSourceInfo {
      |                  ^~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
 * ERROR: dev-lisp/c2ffi-16.0.0.20231016::misc failed (compile phase):
 *   ninja -v -j10 -l0 failed
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_compile
 *   environment, line 2288:  Called cmake_src_compile
 *   environment, line  919:  Called cmake_build
 *   environment, line  886:  Called eninja
 *   environment, line 1353:  Called die
 * The specific snippet of code:
 *       "$@" || die -n "${*} failed"
 * 
 * If you need support, post the output of `emerge --info '=dev-lisp/c2ffi-16.0.0.20231016::misc'`,
 * the complete build log and the output of `emerge -pqv '=dev-lisp/c2ffi-16.0.0.20231016::misc'`.
 * The complete build log is located at '/var/log/portage/dev-lisp:c2ffi-16.0.0.20231016:20231016-064721.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345_build'
 * S: '/var/tmp/portage/dev-lisp/c2ffi-16.0.0.20231016/work/c2ffi-040e6c0af132e9b315960178d9afdd9d4daaf345'
@hjudt
Copy link
Contributor Author

hjudt commented Feb 26, 2024

llvm-17.0.6 has already been stabilized in gentoo. Any updates possible in the next few weeks?

@rpav
Copy link
Owner

rpav commented Mar 11, 2024

Yeah sorry for the delay; looks like arch has llvm-17 finally so it should be reasonably straightforward this weekend.

Also apparently I entirely misread this before: the only actual error appears to be the clang::Expr* e = clang::cast<clang::Expr>(stmt->Value); line.

It's probable this would fix it:

clang::Expr* e = clang::cast<clang::Expr*>(stmt->Value);
//                                      ^ notice

If it does (and everything else works!) and you want to submit a PR I'd merge it too.. though fixing the deprecated header would be nice as well.

@hjudt
Copy link
Contributor Author

hjudt commented Mar 12, 2024

Thanks, while I would have been able to fix that line, I was thrown off by some weird linker error which resulted from simply not adapting the LLVM version string in the CMakeLists.txt. My 3 commits in the PR should fix the issues you mentioned, it built fine here.

@rpav
Copy link
Owner

rpav commented Mar 13, 2024

This should build/work now.

@rpav rpav closed this as completed Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants