Hi Angelo and Maddie,

The root cause is *unsigned long* is missed the static_assert. Here is the 
git patch for your reference. I just had it built successfully.

--- a/src/objects/simd.cc
+++ b/src/objects/simd.cc
@@ -153,6 +153,7 @@ inline uintptr_t fast_search_noavx(T* array, uintptr_t 
array_len,
                                    uintptr_t index, T search_element) {
   static_assert(std::is_same<T, uint32_t>::value ||
                 std::is_same<T, uint64_t>::value ||
*+                std::is_same<T, unsigned long>::value ||*
                 std::is_same<T, double>::value);
 
 #if !(defined(__SSE3__) || defined(NEON64))
@@ -245,6 +246,7 @@ TARGET_AVX2 inline uintptr_t fast_search_avx(T* array, 
uintptr_t array_len,
                                              T search_element) {
   static_assert(std::is_same<T, uint32_t>::value ||
                 std::is_same<T, uint64_t>::value ||
*+                std::is_same<T, unsigned long>::value ||*
                 std::is_same<T, double>::value);
 
   const int target_align = 32;

Cheers,
Sam

On Wednesday, July 27, 2022 at 3:50:24 PM UTC+8 Maddie Zhan wrote:

> Hit the same error on both Intel and M1 Mac running macOS Monterey 12.4, 
> with XCode 13.3.
>
> Compiling V8 v10.4.132.20, the same codebase compiled just fine for Linux 
> and Windows.
>
> [513/1352] CXX obj/v8_base_without_compiler/simd.o
> FAILED: obj/v8_base_without_compiler/simd.o
> ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF 
> obj/v8_base_without_compiler/simd.o.d -D__STDC_CONSTANT_MACROS 
> -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 
> -D_LIBCPP_HAS_NO_ALIGNED_ALLOCATION -DCR_XCODE_VERSION=1330 
> -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" 
> -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 -DNDEBUG 
> -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 
> -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DENABLE_GDB_JIT_INTERFACE 
> -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS 
> -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO 
> -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_SHORT_BUILTIN_CALLS 
> -DV8_ENABLE_SYSTEM_INSTRUMENTATION -DV8_ENABLE_WEBASSEMBLY 
> -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING 
> -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_DEPRECATION_WARNINGS 
> -DV8_IMMINENT_DEPRECATION_WARNINGS -DCPPGC_CAGED_HEAP 
> -DCPPGC_YOUNG_GENERATION -DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS 
> -DV8_TARGET_OS_MACOS -I../.. -Igen -I../../include -Igen/include 
> -I../../third_party/zlib -Wall -Werror -Wextra -Wimplicit-fallthrough 
> -Wunreachable-code-aggressive -Wthread-safety -Wunguarded-availability 
> -Wno-missing-field-initializers -Wno-unused-parameter -Wloop-analysis 
> -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-psabi 
> -Wno-ignored-pragma-optimize -Wno-unqualified-std-cast-call -Xclang 
> -no-opaque-pointers -Wshadow -fno-delete-null-pointer-checks -fno-ident 
> -fno-strict-aliasing -fstack-protector -fcolor-diagnostics 
> -fmerge-all-constants 
> -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm 
> -instcombine-lower-dbg-declare=0 -ffp-contract=off -arch x86_64 
> -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= 
> -ffile-compilation-dir=. -no-canonical-prefixes -fno-omit-frame-pointer -g0 
> -isysroot 
> ../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk
>  
> -mmacosx-version-min=10.13 -Wheader-hygiene -Wstring-conversion 
> -Wtautological-overlap-compare -Wmissing-field-initializers -Wno-shadow 
> -Wunreachable-code -Wshorten-64-to-32 -O3 -fvisibility=default 
> -Wexit-time-destructors -std=c++17 -Wno-trigraphs -fno-aligned-new 
> -fno-excepti
>
> ons -fno-rtti -c ../../src/objects/simd.cc -o 
> obj/v8_base_without_compiler/simd.o
> ../../src/objects/simd.cc:246:3: error: static_assert failed due to 
> requirement 'std::is_same<unsigned long, unsigned int>::value || 
> std::is_same<unsigned long, unsigned long long>::value || 
> std::is_same<unsigned long, double>::value'
>   static_assert(std::is_same<T, uint32_t>::value ||
>   ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../../src/objects/simd.cc:315:12: note: in instantiation of function 
> template specialization 'v8::internal::(anonymous 
> namespace)::fast_search_avx<unsigned long>' requested here
>     return fast_search_avx(array, array_len, index, search_element);
>            ^
> ../../src/objects/simd.cc:380:12: note: in instantiation of function 
> template specialization 'v8::internal::(anonymous 
> namespace)::search<unsigned long>' requested here
>     return search<Tagged_t>(array, array_len, from_index,
>            ^
> ../../src/objects/simd.cc:391:10: note: in instantiation of function 
> template specialization 'v8::internal::(anonymous 
> namespace)::ArrayIndexOfIncludes<v8::internal::(anonymous 
> namespace)::ArrayIndexOfIncludesKind::OBJECTORSMI>' requested here
>   return ArrayIndexOfIncludes<ArrayIndexOfIncludesKind::OBJECTORSMI>(
>          ^
> ../../src/objects/simd.cc:154:3: error: static_assert failed due to 
> requirement 'std::is_same<unsigned long, unsigned int>::value || 
> std::is_same<unsigned long, unsigned long long>::value || 
> std::is_same<unsigned long, double>::value'
>   static_assert(std::is_same<T, uint32_t>::value ||
>   ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../../src/objects/simd.cc:317:12: note: in instantiation of function 
> template specialization 'v8::internal::(anonymous 
> namespace)::fast_search_noavx<unsigned long>' requested here
>     return fast_search_noavx(array, array_len, index, search_element);
>            ^
> ../../src/objects/simd.cc:380:12: note: in instantiation of function 
> template specialization 'v8::internal::(anonymous 
> namespace)::search<unsigned long>' requested here
>     return search<Tagged_t>(array, array_len, from_index,
>            ^
> ../../src/objects/simd.cc:391:10: note: in instantiation of function 
> template specialization 'v8::internal::(anonymous 
> namespace)::ArrayIndexOfIncludes<v8::internal::(anonymous 
> namespace)::ArrayIndexOfIncludesKind::OBJECTORSMI>' requested here
>   return ArrayIndexOfIncludes<ArrayIndexOfIncludesKind::OBJECTORSMI>(
>          ^
> 2 errors generated.
>
> On Monday, June 20, 2022 at 8:32:51 PM UTC+8 [email protected] wrote:
>
>>
>> Just wanted to report that I observed the following error while compiling 
>> V8 v10.4.132.8 on OSX platform. The error is NOT reproducible on Linux.
>>
>> Ciao,
>> Angelo
>>
>> [1401/1848] CXX obj/v8_base_without_compiler/simd.o 
>> FAILED: obj/v8_base_without_compiler/simd.o 
>> ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF 
>> obj/v8_base_without_compiler/simd.o.d -DDCHECK_ALWAYS_ON=1 
>> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
>> -D_LIBCPP_HAS_NO_ALIGNED_ALLOCATION -DCR_XCODE_VERSION=1240 
>> -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" 
>> -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 -D_DEBUG 
>> -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DCPPGC_VERIFY_HEAP 
>> -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DENABLE_GDB_JIT_INTERFACE 
>> -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_ATOMIC_OBJECT_FIELD_WRITES 
>> -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP 
>> -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH 
>> -DV8_SHORT_BUILTIN_CALLS -DV8_ENABLE_SYSTEM_INSTRUMENTATION 
>> -DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING 
>> -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS 
>> -DV8_ENABLE_CHECKS -DV8_DEPRECATION_WARNINGS 
>> -DV8_IMMINENT_DEPRECATION_WARNINGS -DCPPGC_CAGED_HEAP 
>> -DCPPGC_YOUNG_GENERATION -DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS 
>> -DV8_TARGET_OS_MACOS -DDEBUG -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/icu/source/common 
>> -I../../third_party/icu/source/i18n -I../../third_party/zlib -Wall -Wextra 
>> -Wimplicit-fallthrough -Wunreachable-code-aggressive -Wthread-safety 
>> -Wunguarded-availability -Wno-missing-field-initializers 
>> -Wno-unused-parameter -Wloop-analysis -Wno-unneeded-internal-declaration 
>> -Wenum-compare-conditional -Wno-psabi -Wno-ignored-pragma-optimize 
>> -Wno-unqualified-std-cast-call -Xclang -no-opaque-pointers -Wshadow 
>> -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing 
>> -fstack-protector-strong -fcolor-diagnostics -fmerge-all-constants 
>> -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm 
>> -instcombine-lower-dbg-declare=0 -ffp-contract=off -arch x86_64 
>> -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= 
>> -ffile-compilation-dir=. -no-canonical-prefixes 
>> -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -g2 -gdwarf-aranges 
>> -Xclang -debug-info-kind=limited -isysroot 
>> ../../../../../../../../Applications/
>> Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk
>>  
>> -mmacosx-version-min=10.13 -Wheader-hygiene -Wstring-conversion 
>> -Wtautological-overlap-compare -Wmissing-field-initializers -Wno-shadow 
>> -Wunreachable-code -Wshorten-64-to-32 -O3 -fvisibility=default 
>> -Wexit-time-destructors -Wno-undefined-bool-conversion 
>> -Wno-tautological-undefined-compare -std=c++17 -Wno-trigraphs 
>> -fno-aligned-new -fno-exceptions -fno-rtti -c ../../src/objects/simd.cc -o 
>> obj/v8_base_without_compiler/simd.o 
>> ../../src/objects/simd.cc:246:3: error: static_assert failed due to 
>> requirement 'std::is_same<unsigned long, unsigned int>::value || 
>> std::is_same<unsigned long, unsigned long long>::value || 
>> std::is_same<unsigned long, double>::value' 
>> static_assert(std::is_same<T, uint32_t>::value || 
>> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
>> ../../src/objects/simd.cc:315:12: note: in instantiation of function 
>> template specialization 'v8::internal::(anonymous 
>> namespace)::fast_search_avx<unsigned long>' requested here 
>> return fast_search_avx(array, array_len, index, search_element); 
>> ^ 
>> ../../src/objects/simd.cc:380:12: note: in instantiation of function 
>> template specialization 'v8::internal::(anonymous 
>> namespace)::search<unsigned long>' requested here 
>> return search<Tagged_t>(array, array_len, from_index, 
>> ^ 
>> ../../src/objects/simd.cc:391:10: note: in instantiation of function 
>> template specialization 'v8::internal::(anonymous 
>> namespace)::ArrayIndexOfIncludes<v8::internal::(anonymous 
>> namespace)::ArrayIndexOfIncludesKind::OBJECTORSMI>' requested here 
>> return ArrayIndexOfIncludes<ArrayIndexOfIncludesKind::OBJECTORSMI>( 
>> ^ 
>> ../../src/objects/simd.cc:154:3: error: static_assert failed due to 
>> requirement 'std::is_same<unsigned long, unsigned int>::value || 
>> std::is_same<unsigned long, unsigned long long>::value || 
>> std::is_same<unsigned long, double>::value' 
>> static_assert(std::is_same<T, uint32_t>::value || 
>> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
>> ../../src/objects/simd.cc:317:12: note: in instantiation of function 
>> template specialization 'v8::internal::(anonymous 
>> namespace)::fast_search_noavx<unsigned long>' requested here 
>> return fast_search_noavx(array, array_len, index, search_element); 
>> ^ 
>> ../../src/objects/simd.cc:380:12: note: in instantiation of function 
>> template specialization 'v8::internal::(anonymous 
>> namespace)::search<unsigned long>' requested here 
>> return search<Tagged_t>(array, array_len, from_index, 
>> ^ 
>> ../../src/objects/simd.cc:391:10: note: in instantiation of function 
>> template specialization 'v8::internal::(anonymous 
>> namespace)::ArrayIndexOfIncludes<v8::internal::(anonymous 
>> namespace)::ArrayIndexOfIncludesKind::OBJECTORSMI>' requested here 
>> return ArrayIndexOfIncludes<ArrayIndexOfIncludesKind::OBJECTORSMI>( 
>> ^ 
>> 2 errors generated.
>>
>

-- 
-- 
v8-dev mailing list
[email protected]
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/1c1030b3-f46d-4f20-9243-ea7ad9fabc54n%40googlegroups.com.

Reply via email to