Отключил сборку ассемблерного кода (он не реализован для 32 битных

систем). Починил сборку с помощью clang на linux.
This commit is contained in:
Selim Mustafaev 2015-01-01 16:12:58 +03:00
parent ac5aa179e6
commit 3f65576372
3 changed files with 11 additions and 10 deletions

View File

@ -15,8 +15,12 @@ SET(CMAKE_ASM_NASM_COMPILER yasm)
project(${MAIN_PROJECT_NAME} CXX ASM_NASM) project(${MAIN_PROJECT_NAME} CXX ASM_NASM)
aux_source_directory(${SRC_DIR} SRC_FILES) aux_source_directory(${SRC_DIR} SRC_FILES)
file(GLOB_RECURSE ASM_SRC_FILES "${SRC_DIR}/asm/${SYSTEM}/${ARCH}" "*.asm")
set(SRC_FILES ${SRC_FILES} ${ASM_SRC_FILES}) if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
file(GLOB_RECURSE ASM_SRC_FILES "${SRC_DIR}/asm/${SYSTEM}/${ARCH}" "*.asm")
set(SRC_FILES ${SRC_FILES} ${ASM_SRC_FILES})
endif()
include_directories(${INCLUDE_DIR}) include_directories(${INCLUDE_DIR})
add_library(${MAIN_PROJECT_NAME} STATIC ${SRC_FILES}) add_library(${MAIN_PROJECT_NAME} STATIC ${SRC_FILES})
target_link_libraries(${MAIN_PROJECT_NAME}) target_link_libraries(${MAIN_PROJECT_NAME})

View File

@ -382,18 +382,18 @@ std::size_t ustring::find(const ustring& str, std::size_t pos /* = 0 */) const
} }
#if defined(__GNUC__) // GCC and clang #if defined(__GNUC__) // GCC and clang
/*
char32_t* fpos = reinterpret_cast<char32_t*>(memmem(_pData + pos, (_len - pos)*sizeof(char32_t), str._pData, str._len*sizeof(char32_t))); char32_t* fpos = reinterpret_cast<char32_t*>(memmem(_pData + pos, (_len - pos)*sizeof(char32_t), str._pData, str._len*sizeof(char32_t)));
if(fpos) if(fpos)
{ {
return (fpos - _pData); return (fpos - _pData);
} }
*/ /*
const char32_t* fpos = _asm_ucs4_strstr(_pData + pos, (_len - pos), str._pData, str._len); const char32_t* fpos = _asm_ucs4_strstr(_pData + pos, (_len - pos), str._pData, str._len);
if(fpos) if(fpos)
{ {
return (fpos - _pData); return (fpos - _pData);
} }
*/
#else #else
const char32_t* pStr = str._pData; const char32_t* pStr = str._pData;
const std::size_t len = _len - str.length(); const std::size_t len = _len - str.length();

View File

@ -1,12 +1,9 @@
#include "utf.h" #include "utf.h"
#include <cstring> #include <cstring>
#if defined(__clang__) #if defined(__GNUC__)
#include <libkern/OSByteOrder.h> #define bswap_16 __builtin_bswap16
#define bswap_32 OSSwapInt32 #define bswap_32 __builtin_bswap32
#define bswap_16 OSSwapInt16
#elif defined(__GNUC__)
#include <byteswap.h>
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
#define bswap_16 _byteswap_ushort #define bswap_16 _byteswap_ushort
#define bswap_32 _byteswap_ulong #define bswap_32 _byteswap_ulong