mirror of
https://github.com/ksherlock/mpw.git
synced 2025-02-19 17:30:32 +00:00
solaris fixes
This commit is contained in:
parent
dce8bc8b02
commit
5daebb35b6
@ -3,15 +3,21 @@ project(mpw)
|
|||||||
set (PROJECT_TYPE "CXX")
|
set (PROJECT_TYPE "CXX")
|
||||||
set (PROJECT_NAME "mpw")
|
set (PROJECT_NAME "mpw")
|
||||||
|
|
||||||
|
# these are only effective as of CMake 3.1, apparently.
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
||||||
set(CMAKE_CXX_EXTENSIONS FALSE)
|
set(CMAKE_CXX_EXTENSIONS FALSE)
|
||||||
|
|
||||||
|
set(CMAKE_C_STANDARD 99)
|
||||||
|
set(CMAKE_C_STANDARD_REQUIRED TRUE)
|
||||||
|
set(CMAKE_C_EXTENSIONS FALSE)
|
||||||
|
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(CMAKE_C_COMPILER "clang")
|
set(CMAKE_C_COMPILER "clang")
|
||||||
set(CMAKE_CXX_COMPILER "clang++")
|
set(CMAKE_CXX_COMPILER "clang++")
|
||||||
set(CMAKE_CXX_FLAGS "-stdlib=libc++ -Wall -g")
|
set(CMAKE_CXX_FLAGS "-stdlib=libc++ -Wall -g")
|
||||||
set(CMAKE_C_FLAGS " -Wall -g")
|
set(CMAKE_C_FLAGS "-Wall -g")
|
||||||
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "SunOS")
|
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "SunOS")
|
||||||
set(CMAKE_C_COMPILER "gcc")
|
set(CMAKE_C_COMPILER "gcc")
|
||||||
set(CMAKE_CXX_COMPILER "g++")
|
set(CMAKE_CXX_COMPILER "g++")
|
||||||
@ -27,11 +33,6 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
#set_property (TARGET mpw PROPERTY CXX_STANDARD 14)
|
|
||||||
#set_property (TARGET mpw PROPERTY CXX_STANDARD_REQUIRED TRUE)
|
|
||||||
#set_property (TARGET mpw PROPERTY CXX_EXTENSIONS FALSE)
|
|
||||||
|
|
||||||
|
|
||||||
add_subdirectory(bin)
|
add_subdirectory(bin)
|
||||||
add_subdirectory(cpu)
|
add_subdirectory(cpu)
|
||||||
add_subdirectory(toolbox)
|
add_subdirectory(toolbox)
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-std=c++11 -stdlib=libc++ -Wall -g")
|
|
||||||
|
|
||||||
add_definitions(-I ${CMAKE_SOURCE_DIR}/)
|
add_definitions(-I ${CMAKE_SOURCE_DIR}/)
|
||||||
|
|
||||||
set(MPW_SRC mpw.cpp mpw_io.cpp mpw_close.cpp mpw_access.cpp mpw_ioctl.cpp mpw_errno.cpp
|
set(MPW_SRC mpw.cpp mpw_io.cpp mpw_close.cpp mpw_access.cpp mpw_ioctl.cpp mpw_errno.cpp
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
static_assert(sizeof(float) == 4, "Unexpected float size");
|
static_assert(sizeof(float) == 4, "Unexpected float size");
|
||||||
static_assert(sizeof(double) == 8, "Unexpected double size");
|
static_assert(sizeof(double) == 8, "Unexpected double size");
|
||||||
static_assert(sizeof(long double) == 8 || sizeof(long double) == 16, "Unexpected long double size");
|
static_assert(sizeof(long double) == 8 || sizeof(long double) == 12 || sizeof(long double) == 16, "Unexpected long double size");
|
||||||
|
|
||||||
void fpinfo::init(float *f)
|
void fpinfo::init(float *f)
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,7 @@ struct fpinfo {
|
|||||||
fpinfo(float f) { init(&f); }
|
fpinfo(float f) { init(&f); }
|
||||||
fpinfo(double d) { init(&d); }
|
fpinfo(double d) { init(&d); }
|
||||||
fpinfo(long double ld) {
|
fpinfo(long double ld) {
|
||||||
if (sizeof(long double) == 16) init(&ld);
|
if (sizeof(long double) == 16 || sizeof(long double) == 12) init(&ld);
|
||||||
if (sizeof(long double) == 8) init((double *)&ld);
|
if (sizeof(long double) == 8) init((double *)&ld);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1320,7 +1320,6 @@ namespace Native {
|
|||||||
|
|
||||||
uint32_t sp;
|
uint32_t sp;
|
||||||
uint32_t theType;
|
uint32_t theType;
|
||||||
uint16_t count;
|
|
||||||
|
|
||||||
sp = StackFrame<4>(theType);
|
sp = StackFrame<4>(theType);
|
||||||
|
|
||||||
@ -1354,8 +1353,6 @@ namespace Native {
|
|||||||
{
|
{
|
||||||
// FUNCTION Count1Types: Integer;
|
// FUNCTION Count1Types: Integer;
|
||||||
|
|
||||||
uint16_t count;
|
|
||||||
|
|
||||||
Log("%04x Count1Types\n", trap);
|
Log("%04x Count1Types\n", trap);
|
||||||
|
|
||||||
fprintf(stderr, "%s not yet implemented\n", __func__);
|
fprintf(stderr, "%s not yet implemented\n", __func__);
|
||||||
|
@ -169,8 +169,7 @@ using its_complicated::signbit;
|
|||||||
{
|
{
|
||||||
char buffer[16];
|
char buffer[16];
|
||||||
|
|
||||||
static_assert(sizeof(long double) == 16, "unexpected long double size");
|
static_assert(sizeof(long double) == 16 || sizeof(long double) == 12, "unexpected long double size");
|
||||||
|
|
||||||
|
|
||||||
// read and swap 10 bytes
|
// read and swap 10 bytes
|
||||||
// this is very much little endian.
|
// this is very much little endian.
|
||||||
@ -185,6 +184,7 @@ using its_complicated::signbit;
|
|||||||
|
|
||||||
// now cast...
|
// now cast...
|
||||||
|
|
||||||
|
|
||||||
return *((long double *)buffer);
|
return *((long double *)buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -235,7 +235,7 @@ using its_complicated::signbit;
|
|||||||
template<>
|
template<>
|
||||||
void writenum<long double>(long double value, uint32_t address)
|
void writenum<long double>(long double value, uint32_t address)
|
||||||
{
|
{
|
||||||
static_assert(sizeof(value) == 16, "unexpected long double size");
|
static_assert(sizeof(value) == 16 || sizeof(value) == 12, "unexpected long double size");
|
||||||
|
|
||||||
char buffer[16];
|
char buffer[16];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user