marxin / cvise

Super-parallel Python port of the C-Reduce
Other
219 stars 25 forks source link

C-Vise doesn't build with recent LLVM hashes #126

Closed cjdb closed 6 months ago

cjdb commented 6 months ago

LLVM hash

cjdb@cjdb: ~/projects/llvm-project ✓
$ git log -1 --oneline
0de2b26942f8 (HEAD -> main, origin/main, origin/HEAD) [RISCV] Register fixed stack slots for callee saved registers for -msave-restore/Zcmp (#81392)

Configure step

cjdb@cjdb: ~/projects/cvise ✓
$ cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/opt -DCMAKE_PREFIX_PATH=$HOME/opt -GNinja
-- The C compiler identification is Clang 19.0.0
-- The CXX compiler identification is Clang 19.0.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/home/cjdb/opt/bin/clang - 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/home/cjdb/opt/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test Terminfo_LINKABLE
-- Performing Test Terminfo_LINKABLE - Success
-- Found Terminfo: /usr/lib/x86_64-linux-gnu/libtinfo.so  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.3")  
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.14") 
-- Found LLVM 19.0.0git
-- Using LLVMConfig.cmake in /usr/home/cjdb/opt/lib/cmake/llvm
-- Using ClangConfig.cmake in /usr/home/cjdb/opt/lib/cmake/clang
-- Found Python3: /usr/bin/python3 (found version "3.11.6") found components: Interpreter 
CMake Warning at CMakeLists.txt:52 (message):
  Pytest package not available: /usr/bin/python3: No module named pytest

-- Found FLEX: /usr/bin/flex (found version "2.6.4") 
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test SUPPORTS_WMISMATCHED_NEW_DELETE
-- Performing Test SUPPORTS_WMISMATCHED_NEW_DELETE - Success
-- Performing Test SUPPORTS_MAYBE_UNINITIALIZED
-- Performing Test SUPPORTS_MAYBE_UNINITIALIZED - Failed
-- Performing Test SUPPORTS_CLASS_MEMACCESS
-- Performing Test SUPPORTS_CLASS_MEMACCESS - Failed
-- Performing Test SUPPORTS_NON_TEMPLATE_FRIEND
-- Performing Test SUPPORTS_NON_TEMPLATE_FRIEND - Failed
-- Performing Test SUPPORTS_DEPRECATED_DECLARATIONS
-- Performing Test SUPPORTS_DEPRECATED_DECLARATIONS - Success
-- Using clang-format in /usr/home/cjdb/opt/bin/clang-format
-- Configuring done (3.0s)
-- Generating done (0.0s)
-- Build files have been written to: /usr/home/cjdb/projects/cvise/build

Build step

cjdb@cjdb: ~/projects/cvise ✓
$ ninja -C build
ninja: Entering directory `build'
[24/90] Building CXX object clang_delta/CMakeFiles/clang_delta.dir/ExpressionDetector.cpp.o
FAILED: clang_delta/CMakeFiles/clang_delta.dir/ExpressionDetector.cpp.o 
/usr/home/cjdb/opt/bin/clang++ -DHAVE_CONFIG_H -DNDEBUG -I/usr/home/cjdb/projects/cvise/build -I/usr/home/cjdb/projects/cvise/clang_delta -I/usr/home/cjdb/opt/include -Wall -Wextra -Werror -pedantic -Wno-unused-parameter -std=c++17 -fno-rtti -fno-strict-aliasing -fvisibility-inlines-hidden -Wno-error=mismatched-new-delete -Wno-error=deprecated-declarations -O3 -DNDEBUG -O3   -D_GNU_SOURCE -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MD -MT clang_delta/CMakeFiles/clang_delta.dir/ExpressionDetector.cpp.o -MF clang_delta/CMakeFiles/clang_delta.dir/ExpressionDetector.cpp.o.d -o clang_delta/CMakeFiles/clang_delta.dir/ExpressionDetector.cpp.o -c /usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:65:16: error: 'InclusionDirective' marked 'override' but does not override any member functions
   65 |   virtual void InclusionDirective(SourceLocation HashLoc,
      |                ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:65:16: error: '(anonymous namespace)::IncludesPPCallbacks::InclusionDirective' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
/usr/home/cjdb/opt/include/clang/Lex/PPCallbacks.h:139:16: note: hidden overloaded virtual function 'clang::PPCallbacks::InclusionDirective' declared here: different number of parameters (11 vs 10)
  139 |   virtual void InclusionDirective(SourceLocation HashLoc,
      |                ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:137:21: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  137 |   if (VD->getName().startswith(Prefix))
      |                     ^~~~~~~~~~
      |                     starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:382:22: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  382 |   if (!VD->getName().startswith(TmpVarNamePrefix))
      |                      ^~~~~~~~~~
      |                      starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:393:15: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  393 |   return Name.startswith(TmpVarNamePrefix) ||
      |               ^~~~~~~~~~
      |               starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:394:15: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  394 |          Name.startswith(PrintedVarNamePrefix) ||
      |               ^~~~~~~~~~
      |               starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:395:15: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  395 |          Name.startswith(CheckedVarNamePrefix);
      |               ^~~~~~~~~~
      |               starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:543:22: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  543 |         if (SubEName.startswith(PrintedVarNamePrefix) ||
      |                      ^~~~~~~~~~
      |                      starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:544:22: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  544 |             SubEName.startswith(CheckedVarNamePrefix))
      |                      ^~~~~~~~~~
      |                      starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
/usr/home/cjdb/projects/cvise/clang_delta/ExpressionDetector.cpp:560:37: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  560 |           DRE->getDecl()->getName().startswith(TmpVarNamePrefix) &&
      |                                     ^~~~~~~~~~
      |                                     starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
8 warnings and 2 errors generated.
[70/90] Building CXX object clang_delta/CMakeFiles/clang_delta.dir/RemoveNamespace.cpp.o
/usr/home/cjdb/projects/cvise/clang_delta/RemoveNamespace.cpp:972:44: warning: 'startswith' is deprecated: Use starts_with instead [-Wdeprecated-declarations]
  972 |     if (IsUserLiteral && IdInfo->getName().startswith("_")) {
      |                                            ^~~~~~~~~~
      |                                            starts_with
/usr/home/cjdb/opt/include/llvm/ADT/StringRef.h:261:19: note: 'startswith' has been explicitly marked deprecated here
  261 |     [[nodiscard]] LLVM_DEPRECATED(
      |                   ^
/usr/home/cjdb/opt/include/llvm/Support/Compiler.h:155:50: note: expanded from macro 'LLVM_DEPRECATED'
  155 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
      |                                                  ^
1 warning generated.
[89/90] Building CXX object clang_delta/CMakeFiles/clang_delta.dir/RemoveUnusedFunction.cpp.o
ninja: build stopped: subcommand failed.
marxin commented 6 months ago

Thanks for the report. Apparently I missed that in my Nightly CI tester due to fact that LLVM 18 has been just branched and the current master is 19 ;)