Fix gcc build
This commit is contained in:
@@ -49,11 +49,20 @@ target_include_directories(mytest PRIVATE include)
|
||||
target_link_libraries(mytest PRIVATE doctest nanobench simdjson)
|
||||
doctest_discover_tests(mytest)
|
||||
|
||||
add_executable(fuzz src/fuzz.cpp)
|
||||
target_include_directories(fuzz PRIVATE include)
|
||||
target_link_libraries(fuzz PRIVATE simdjson)
|
||||
target_compile_options(fuzz PRIVATE -fsanitize=fuzzer)
|
||||
target_link_options(fuzz PRIVATE -fsanitize=fuzzer)
|
||||
include(CMakePushCheckState)
|
||||
include(CheckCXXCompilerFlag)
|
||||
cmake_push_check_state()
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS -fsanitize=fuzzer-no-link)
|
||||
check_cxx_compiler_flag(-fsanitize=fuzzer-no-link HAS_LIB_FUZZER)
|
||||
cmake_pop_check_state()
|
||||
|
||||
if(HAS_LIB_FUZZER)
|
||||
add_executable(fuzz src/fuzz.cpp)
|
||||
target_include_directories(fuzz PRIVATE include)
|
||||
target_link_libraries(fuzz PRIVATE simdjson)
|
||||
target_compile_options(fuzz PRIVATE -fsanitize=fuzzer)
|
||||
target_link_options(fuzz PRIVATE -fsanitize=fuzzer)
|
||||
endif()
|
||||
|
||||
add_executable(validate src/validate.cpp)
|
||||
target_include_directories(validate PRIVATE include)
|
||||
|
||||
@@ -414,7 +414,7 @@ inline WeaselJsonStatus n_string2(Parser3 *self) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
__m128 x;
|
||||
__m128i x;
|
||||
memcpy(&x, self->buf, 16);
|
||||
const uint32_t dubquote =
|
||||
_mm_movemask_epi8(_mm_cmpeq_epi8(_mm_set1_epi8('"'), x));
|
||||
@@ -493,6 +493,8 @@ inline WeaselJsonStatus n_string2(Parser3 *self) {
|
||||
case Tables::CONTINUATION_BYTE:
|
||||
case Tables::INVALID:
|
||||
[[unlikely]] return WeaselJson_REJECT;
|
||||
default:
|
||||
__builtin_unreachable();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1085,6 +1087,8 @@ inline WeaselJsonStatus Parser3::keepGoing(Parser3 *self) {
|
||||
case T_EOF:
|
||||
case N_SYMBOL_COUNT:
|
||||
break;
|
||||
default:
|
||||
__builtin_unreachable();
|
||||
}
|
||||
return WeaselJson_AGAIN;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user