SUSE / clang-extract

A tool to extract code content from source files using the clang and LLVM infrastructure.
Other
16 stars 2 forks source link

Build failure with Clang 19 #134

Open kostadinsh opened 6 days ago

kostadinsh commented 6 days ago

clang-extract fails to build with Clang 19.

I believe these PRs might be related: https://github.com/llvm/llvm-project/pull/74910 https://github.com/llvm/llvm-project/pull/98735

FAILED: libcextract/libcextract.a.p/MacroWalker.cpp.o 
clang++ -Ilibcextract/libcextract.a.p -Ilibcextract -I../libcextract -I/usr/lib/llvm/19/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -Wno-unused-parameter -Wno-vla-extension -march=native -O2 -pipe -fPIC -MD -MQ libcextract/libcextract.a.p/MacroWalker.cpp.o -MF libcextract/libcextract.a.p/MacroWalker.cpp.o.d -o libcextract/libcextract.a.p/MacroWalker.cpp.o -c ../libcextract/MacroWalker.cpp
../libcextract/MacroWalker.cpp:101:17: error: no member named 'equals' in 'llvm::StringRef'
  101 |     if (tok_str.equals(arg_str)) {
      |         ~~~~~~~ ^
FAILED: libcextract/libcextract.a.p/IncludeTree.cpp.o 
clang++ -Ilibcextract/libcextract.a.p -Ilibcextract -I../libcextract -I/usr/lib/llvm/19/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -Wno-unused-parameter -Wno-vla-extension -march=native -O2 -pipe -fPIC -MD -MQ libcextract/libcextract.a.p/IncludeTree.cpp.o -MF libcextract/libcextract.a.p/IncludeTree.cpp.o.d -o libcextract/libcextract.a.p/IncludeTree.cpp.o -c ../libcextract/IncludeTree.cpp
../libcextract/IncludeTree.cpp:530:65: error: no member named 'getName' in 'clang::FileEntry'
  530 |     if (Tree.IEP->Must_Expand(entry.tryGetRealPathName(), entry.getName())) {
      |
FAILED: libcextract/libcextract.a.p/PrettyPrint.cpp.o 
clang++ -Ilibcextract/libcextract.a.p -Ilibcextract -I../libcextract -I/usr/lib/llvm/19/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -Wno-unused-parameter -Wno-vla-extension -march=native -O2 -pipe -fPIC -MD -MQ libcextract/libcextract.a.p/PrettyPrint.cpp.o -MF libcextract/libcextract.a.p/PrettyPrint.cpp.o.d -o libcextract/libcextract.a.p/PrettyPrint.cpp.o -c ../libcextract/PrettyPrint.cpp
../libcextract/PrettyPrint.cpp:128:21: error: no member named 'equals' in 'llvm::StringRef'
  128 |     if (decl_source.equals("")) {
      |         ~~~~~~~~~~~ ^
FAILED: libcextract/libcextract.a.p/SymbolExternalizer.cpp.o 
clang++ -Ilibcextract/libcextract.a.p -Ilibcextract -I../libcextract -I/usr/lib/llvm/19/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -Wno-unused-parameter -Wno-vla-extension -march=native -O2 -pipe -fPIC -MD -MQ libcextract/libcextract.a.p/SymbolExternalizer.cpp.o -MF libcextract/libcextract.a.p/SymbolExternalizer.cpp.o.d -o libcextract/libcextract.a.p/SymbolExternalizer.cpp.o -c ../libcextract/SymbolExternalizer.cpp
../libcextract/SymbolExternalizer.cpp:693:36: error: no member named 'getName' in 'clang::FileEntry'
  693 |       if (new_mfs->addFile(fentry->getName(),
      |                            ~~~~~~  ^
../libcextract/SymbolExternalizer.cpp:695:53: error: no member named 'getName' in 'clang::FileEntry'
  695 |         llvm::outs() << "Unable to add " << fentry->getName() << " into InMemoryFS.\n";
      |                                             ~~~~~~  ^
../libcextract/SymbolExternalizer.cpp:700:39: error: no member named 'getName' in 'clang::FileEntry'
  700 |         StringRef file_name = fentry->getName();
      |                               ~~~~~~  ^
../libcextract/SymbolExternalizer.cpp:715:36: error: no member named 'getName' in 'clang::FileEntry'
  715 |       if (new_mfs->addFile(fentry->getName(),
      |                            ~~~~~~  ^
../libcextract/SymbolExternalizer.cpp:718:53: error: no member named 'getName' in 'clang::FileEntry'
  718 |         llvm::outs() << "Unable to add " << fentry->getName() << " into InMemoryFS.\n";
      |                                             ~~~~~~  ^

complete build log

giulianobelinassi commented 5 days ago

Some work will need to be done to support clang-19.