Hi Ronald, Our MSVC support is best effort, especially around all this template stuff where it tends to have slight issues. Usually cases like this are fixable with a `this->`, would you be willing to upstream a fix?
Cheers, Leszek On Fri, Oct 20, 2023 at 9:02 AM 'Ronald Fenner' via v8-dev < v8-dev@googlegroups.com> wrote: > I'm trying to build a debug version of the windows static libraries but > get a error related to some DCHECKS. The errors are: > ninja -t msvc -e environment.x64 -- "C:\Program Files\Microsoft Visual > Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\Hostx64\x64\cl.exe" /c > ../../src/maglev/maglev-regalloc.cc > /Foobj/v8_base_without_compiler_1/maglev-regalloc.obj /nologo /showIncludes > -DUSE_AURA=1 -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS > -D_HAS_EXCEPTIONS=0 -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE > -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS > -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL > -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX > -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_NI -D_WIN32_WINNT=0x0A00 > -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 > -D_HAS_ITERATOR_DEBUGGING=0 -DCPPGC_VERIFY_HEAP -DENABLE_DISASSEMBLER > -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DOBJECT_PRINT -DVERIFY_HEAP > -DV8_TRACE_MAPS -DV8_ENABLE_ALLOCATION_TIMEOUT -DV8_ENABLE_FORCE_SLOW_PATH > -DV8_ENABLE_DOUBLE_CONST_STORE_CHECK -DV8_INTL_SUPPORT > -DENABLE_HANDLE_ZAPPING -DV8_CODE_COMMENTS -DV8_ENABLE_DEBUG_CODE > -DV8_ENABLE_HEAP_SNAPSHOT_VERIFY -DV8_SNAPSHOT_NATIVE_CODE_COUNTERS > -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES > -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_WIN64_UNWINDING_INFO > -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_SHORT_BUILTIN_CALLS > -DV8_ENABLE_MAGLEV -DV8_ENABLE_TURBOFAN -DV8_ENABLE_SYSTEM_INSTRUMENTATION > -DV8_ENABLE_ETW_STACK_WALKING -DV8_ENABLE_WEBASSEMBLY > -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING > -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_USE_ZLIB > -DV8_ENABLE_WASM_SIMD256_REVEC -DV8_ENABLE_MAGLEV_GRAPH_PRINTER > -DV8_ENABLE_SLOW_TRACING -DV8_ENABLE_BUILTIN_JUMP_TABLE_SWITCH > -DV8_ENABLE_EXTENSIBLE_RO_SNAPSHOT -DV8_ENABLE_CHECKS > -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_ISOLATE_CAGE > -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS > -DV8_IMMINENT_DEPRECATION_WARNINGS -DCPPGC_CAGED_HEAP > -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION > -DCPPGC_SLIM_WRITE_BARRIER -DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS > -DV8_TARGET_OS_WIN -DDEBUG -DV8_RUNTIME_CALL_STATS > -DABSL_ALLOCATOR_NOTHROW=1 -D_ENABLE_EXTENDED_ALIGNED_STORAGE > -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 > -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 > -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. > -Igen -I../../include -Igen/include -I../../third_party/abseil-cpp > -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n > -I../../third_party/zlib /wd4244 /WX /Gy /FS /bigobj /utf-8 > /Zc:sizedDealloc- /wd4117 /D__DATE__= /D__TIME__= /D__TIMESTAMP__= /Zi /MTd > /wd4245 /wd4267 /wd4324 /wd4701 /wd4702 /wd4703 /wd4709 /wd4714 /wd4715 > /wd4718 /wd4723 /wd4724 /wd4800 /wd4506 /wd4091 /wd4127 /wd4251 /wd4275 > /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589 /wd4611 /wd4100 /wd4121 > /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995 /wd4996 /wd4456 > /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4245 /wd4267 > /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 /Od /Ob0 > /GF /std:c++20 /TP /GR- /Fd"obj/v8_base_without_compiler_1_cc.pdb" > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(2318): error C2352: > 'v8::internal::maglev::NodeBase::opcode': a call of a non-static member > function requires an object > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(1562): note: see > declaration of 'v8::internal::maglev::NodeBase::opcode' > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(2316): note: This > diagnostic occurred in the compiler generated function > 'v8::internal::maglev::NodeTMixin<Base,Derived>::NodeTMixin(uint64_t,Args > &&...)' > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(2321): note: see > reference to class template instantiation > 'v8::internal::maglev::NodeTMixin<Base,Derived>' being compiled > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(2319): error C2352: > 'v8::internal::maglev::NodeBase::properties': a call of a non-static member > function requires an object > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(1563): note: see > declaration of 'v8::internal::maglev::NodeBase::properties' > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(2316): note: This > diagnostic occurred in the compiler generated function > 'v8::internal::maglev::NodeTMixin<Base,Derived>::NodeTMixin(uint64_t,Args > &&...)' > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(2386): error C2352: > 'v8::internal::maglev::NodeBase::input_count': a call of a non-static > member function requires an object > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(1589): note: see > declaration of 'v8::internal::maglev::NodeBase::input_count' > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(2384): note: This > diagnostic occurred in the compiler generated function > 'v8::internal::maglev::FixedInputNodeTMixin<InputCount,Base,Derived>::FixedInputNodeTMixin(uint64_t,Args > &&...)' > C:\Users\dorml\github\v8Dist\v8\src/maglev/maglev-ir.h(2388): note: see > reference to class template instantiation > 'v8::internal::maglev::FixedInputNodeTMixin<InputCount,Base,Derived>' being > compiled > > Looking at the DCHECKS it seems instead of NodeBase it should be calling > Base since these are in templated functions. > 2 of the DCHECKS failing and their function > template <typename... Args> > explicit NodeTMixin(uint64_t bitfield, Args&&... args) > : Base(bitfield, std::forward<Args>(args)...) { > DCHECK_EQ(NodeBase::opcode(), NodeBase::opcode_of<Derived>); > DCHECK_EQ(NodeBase::properties(), Derived::kProperties); > } > > Not sure if i should just commit them out or switch them to Base to get > the build to work. > > -- > -- > v8-dev mailing list > v8-dev@googlegroups.com > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to v8-dev+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/v8-dev/0f6c5714-c77b-48d7-a40c-0096ba2b527cn%40googlegroups.com > <https://groups.google.com/d/msgid/v8-dev/0f6c5714-c77b-48d7-a40c-0096ba2b527cn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAGRskv_-jKDPV4%3DOTF4PTSJb0dGzkZCP7kOLMtvomuNVVyHeYQ%40mail.gmail.com.