clasp-developers / clasp

clasp Common Lisp environment
https://clasp-developers.github.io/
2.56k stars 144 forks source link

Build broken - gctools - nativeVector.cc - Regress due last commit? #1601

Open mgsouth opened 3 months ago

mgsouth commented 3 months ago

Describe the bug Build failed

./koga --jobs=2 --debug-asssert --debug-bounds-assert --debug-slow --debug-long-call-history clean cclasp-boehmprecise-d
ninja -C build
[356/536] Compiling ../src/core/nativeVector.cc
FAILED: boehmprecise/src/core/nativeVector.o 
/usr/lib/llvm/17/bin/clang++ -Iboehmprecise -Iboehmprecise/generated -O3 -g -fPIC -Wno-macro-redefined -Wno-deprecated-declarations -Wno-deprecated-register -Wno-expansion-to-defined -Wno-return-type-c-linkage -Wno-invalid-offsetof -Wno-#pragma-messages -Wno-inconsistent-missing-override -Wno-error=c++11-narrowing -Wno-c++11-narrowing -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -std=c++20 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-stack-protector -stdlib=libstdc++ -I/usr/lib/llvm/17/include -Wno-vla-extension -I.. -I../src/bdwgc -I../src/bdwgc/include -I../src/libatomic_ops/src -I../include -I../include/clasp/main -c -MD -MF boehmprecise/src/core/nativeVector.o.d -oboehmprecise/src/core/nativeVector.o ../src/core/nativeVector.cc
In file included from ../src/core/nativeVector.cc:2:
In file included from ../include/clasp/core/foundation.h:50:
In file included from ../include/clasp/core/core.h:546:
In file included from ../include/clasp/gctools/containers.h:38:
../include/clasp/gctools/gcvector.h:268:18: error: invalid operands to binary expression ('StampWtagMtag' and 'int')
  268 |       if (header == 0) {
      |           ~~~~~~ ^  ~
../include/clasp/gctools/containers.h:88:90: note: in instantiation of member function 'gctools::GCVector<int, gctools::GCContainerAllocator<gctools::GCVector_moveable<int>>>::resize' requested here
   88 |   void resize(size_t n, const value_type& initialElement = value_type()) { this->_Vector.resize(n, initialElement); };
      |                                                                                          ^
../include/clasp/core/nativeVector.h:43:71: note: in instantiation of member function 'gctools::Vec0_impl<gctools::GCVector<int, gctools::GCContainerAllocator<gctools::GCVector_moveable<int>>>>::resize' requested here
   43 |   CL_DEFMETHOD inline void resize(size_t sz, int val) { this->_Vector.resize(sz, val); };
      |                                                                       ^
../include/clasp/gctools/smart_pointers.h:1580:13: note: candidate function not viable: no known conversion from 'StampWtagMtag' to 'const core::List_sp::iterator' (aka 'const List_sp_iterator<false>') for 1st argument
 1580 | inline bool operator==(const core::List_sp::iterator& a, const core::List_sp::iterator& b) { return UNLIKELY(*a == *b); }
      |             ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/clasp/gctools/smart_pointers.h:1586:13: note: candidate function not viable: no known conversion from 'StampWtagMtag' to 'const core::List_sp::fast_iterator' (aka 'const List_sp_iterator<true>') for 1st argument
 1586 | inline bool operator==(const core::List_sp::fast_iterator& a, const core::List_sp::fast_iterator& b) { return !a->consp(); }
      |             ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Context

commit 97701ee02dd241e2d03e653e368ca990c476276c (HEAD -> main, myfork/main, myfork/HEAD)
Merge: 8cd97deb5 cb4e391ab
Author: Christian Schafmeister <meister@temple.edu>
Date:   Thu Jun 20 11:42:36 2024 -0400

    Merged

commit 8cd97deb57777f7f8b690775b8d20d65858b35dc
Author: Christian Schafmeister <meister@temple.edu>
Date:   Thu Jun 20 11:32:05 2024 -0400

    Added a safe function to walk the frame-pointer list on the stack.
mgsouth commented 3 months ago

Dropping back to previous commit, cb4e391ab1ad389d911e70add784343ad5e9e398 did not help.

mgsouth commented 3 months ago

Removing --debug-slow fixes things.

mgsouth commented 3 months ago

Fixing the mispelling of "--debug-assert" (thx paulapatience) didn't change anything.

mgsouth commented 3 months ago

I've rolled back to 26179eec7, Nov. 2023. Still no good.

../include/clasp/gctools/gcvector.h:268:18: error: invalid operands to binary expression ('StampWtagMtag' and 'int')
  268 |       if (header == 0) {
      |           ~~~~~~ ^  ~

Meanwhile...

src/gctools/include/memoryManagement.h:  struct StampWtagMtag {

I don't think there's ever going to be a commit that will make that equal to 0. Is this a dependency update thing?

Bike commented 3 months ago

I would guess the DEBUG_SLOW code is just bitrotten. That's a pretty bad name for a debug flag and it barely seems to have any code associated with it anyway.