Merge pull request #141 from VectorCamp/bugfix/hs-flag-utf8-signed-char-on-arm

Set Ragel.rl char type to unsigned, #135
This commit is contained in:
Konstantinos Margaritis 2023-03-23 10:14:59 +02:00 committed by GitHub
commit e6b97a99b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 13 additions and 6 deletions

View File

@ -544,7 +544,6 @@ endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARCH_C_FLAGS}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARCH_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARCH_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARCH_CXX_FLAGS}")
add_subdirectory(util)
add_subdirectory(doc/dev-reference) add_subdirectory(doc/dev-reference)
# PCRE check, we have a fixed requirement for PCRE to use Chimera # PCRE check, we have a fixed requirement for PCRE to use Chimera
@ -588,7 +587,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXX_FLAGS}")
endif() endif()
set(RAGEL_C_FLAGS "-Wno-unused") set(RAGEL_C_FLAGS "-Wno-unused -funsigned-char")
set_source_files_properties( set_source_files_properties(
${CMAKE_BINARY_DIR}/src/parser/Parser.cpp ${CMAKE_BINARY_DIR}/src/parser/Parser.cpp
@ -604,6 +603,8 @@ set_source_files_properties(
ragelmaker(src/parser/control_verbs.rl) ragelmaker(src/parser/control_verbs.rl)
add_subdirectory(util)
SET(hs_HEADERS SET(hs_HEADERS
src/hs.h src/hs.h
src/hs_common.h src/hs_common.h

View File

@ -7,7 +7,7 @@ function(ragelmaker src_rl)
add_custom_command( add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${src_dir}/${src_file}.cpp OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${src_dir}/${src_file}.cpp
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${src_dir} COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${src_dir}
COMMAND ${RAGEL} ${CMAKE_CURRENT_SOURCE_DIR}/${src_rl} -o ${rl_out} COMMAND ${RAGEL} ${CMAKE_CURRENT_SOURCE_DIR}/${src_rl} -o ${rl_out} -G0
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${src_rl} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${src_rl}
) )
add_custom_target(ragel_${src_file} DEPENDS ${rl_out}) add_custom_target(ragel_${src_file} DEPENDS ${rl_out})

View File

@ -348,7 +348,7 @@ static really_inline
m512 vectoredLoad512(m512 *p_mask, const u8 *ptr, const size_t start_offset, m512 vectoredLoad512(m512 *p_mask, const u8 *ptr, const size_t start_offset,
const u8 *lo, const u8 *hi, const u8 *hbuf, size_t hlen, const u8 *lo, const u8 *hi, const u8 *hbuf, size_t hlen,
const u32 nMasks) { const u32 nMasks) {
m512 val; m512 val = zeroes512();
uintptr_t copy_start; uintptr_t copy_start;
uintptr_t copy_len; uintptr_t copy_len;

View File

@ -43,7 +43,7 @@
#define HS_MAJOR 5 #define HS_MAJOR 5
#define HS_MINOR 4 #define HS_MINOR 4
#define HS_PATCH 0 #define HS_PATCH 9
#include "hs_compile.h" #include "hs_compile.h"
#include "hs_runtime.h" #include "hs_runtime.h"

View File

@ -272,6 +272,7 @@ unichar readUtf8CodePoint4c(const char *s) {
%%{ %%{
machine regex; machine regex;
alphtype unsigned char;
action throwUnsupportedEscape { action throwUnsupportedEscape {
ostringstream str; ostringstream str;

View File

@ -54,6 +54,7 @@ const char *read_control_verbs(const char *ptr, const char *end, size_t start,
%%{ %%{
machine ControlVerbs; machine ControlVerbs;
alphtype unsigned char;
# Verbs that we recognise but do not support. # Verbs that we recognise but do not support.
unhandledVerbs = '(*' ( unhandledVerbs = '(*' (

View File

@ -57,6 +57,7 @@ char unhex(const char *start, UNUSED const char *end) {
%%{ %%{
machine FileCorporaParser; machine FileCorporaParser;
alphtype unsigned char;
action accumulateNum { action accumulateNum {
num = (num * 10) + (fc - '0'); num = (num * 10) + (fc - '0');

View File

@ -6,8 +6,10 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXX_FLAGS} ${HS_CXX_FLAGS}")
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${PROJECT_SOURCE_DIR}) ${PROJECT_SOURCE_DIR})
message("RAGEL_C_FLAGS" ${RAGEL_C_FLAGS})
set_source_files_properties( set_source_files_properties(
${CMAKE_BINARY_DIR}/tools/ExpressionParser.cpp ${CMAKE_BINARY_DIR}/util/ExpressionParser.cpp
PROPERTIES PROPERTIES
COMPILE_FLAGS "${RAGEL_C_FLAGS}") COMPILE_FLAGS "${RAGEL_C_FLAGS}")

View File

@ -55,6 +55,7 @@ enum ParamKey {
%%{ %%{
machine ExpressionParser; machine ExpressionParser;
alphtype unsigned char;
action accumulateNum { action accumulateNum {
num = (num * 10) + (fc - '0'); num = (num * 10) + (fc - '0');