Code fixes to get things somewhat compiling on Windows.

This commit is contained in:
Ben Vanik
2013-01-30 01:35:08 -08:00
parent 5da1fd66d1
commit ae4d8ad40e
25 changed files with 136 additions and 92 deletions

View File

@@ -61,7 +61,7 @@ XEFORCEINLINE void* xe_atomic_stack_dequeue(xe_atomic_stack_t* stack,
const size_t offset) {
void* ptr = (void*)InterlockedPopEntrySList((PSLIST_HEADER)stack);
if (ptr) {
return (void*)(((byte*)ptr) - offset);
return (void*)(((uint8_t*)ptr) - offset);
} else {
return NULL;
}

View File

@@ -13,8 +13,6 @@
#include <xenia/common.h>
#include <xenia/core.h>
#include <tr1/unordered_map>
#include <xenia/cpu/sdb.h>
#include <xenia/core/memory.h>
#include <xenia/kernel/export.h>

View File

@@ -13,8 +13,6 @@
#include <xenia/common.h>
#include <xenia/core.h>
#include <tr1/unordered_map>
#include <xenia/cpu/sdb.h>
#include <xenia/kernel/export.h>
#include <xenia/kernel/user_module.h>

View File

@@ -12,7 +12,6 @@
#include <xenia/core.h>
#include <tr1/unordered_map>
#include <vector>
#include <xenia/cpu/exec_module.h>

View File

@@ -10,6 +10,8 @@
#ifndef XENIA_LOGGING_H_
#define XENIA_LOGGING_H_
#include <xenia/platform.h>
#include <xenia/platform_includes.h>
#include <xenia/config.h>
#include <xenia/string.h>

View File

@@ -19,6 +19,8 @@
#endif
#include <SDKDDKVer.h>
#include <windows.h>
#undef min
#undef max
#endif // WINCE || WIN32
#if XE_PLATFORM(XBOX360)
@@ -46,6 +48,15 @@
#include <errno.h>
#include <string>
#include <assert.h>
#include <stdint.h>
#if XE_COMPILER(MSVC)
#include <memory>
#include <unordered_map>
#else
#include <tr1/memory>
#include <tr1/unordered_map>
#endif // MSVC
#endif // XENIA_PLATFORM_INCLUDES_H_

View File

@@ -23,15 +23,20 @@
int strncpy_s(char* dest, size_t destLength, const char* source, size_t count);
#define strcpy_s(dest, destLength, source) !(strcpy(dest, source) == dest + (destLength*0))
#define strcat_s(dest, destLength, source) !(strcat(dest, source) == dest + (destLength*0))
#define _snprintf_s(dest, destLength, format, ...) snprintf(dest, destLength, format, ##__VA_ARGS__)
#define _snprintf_s(dest, destLength, x, format, ...) snprintf(dest, destLength, format, ##__VA_ARGS__)
#define xestrdupa strdup
#define xestrtoulla strtoull
#else
#define strcasecmp _stricmp
#define xestrdupa _strdup
#define xestrtoullw _wcstoui64
#define xestrtoulla _strtoui64
#endif
#define xestrlenw wcslen
#define xestrcmpw wcscmp
#define xestrcasecmpw _wcsicmp
#define xsstrdupw wcsdup
#define xestrdupw wcsdup
#define xestrchrw wcschr
#define xestrrchrw wcsrchr
#define xestrstrw wcsstr
@@ -45,14 +50,13 @@ int strncpy_s(char* dest, size_t destLength, const char* source, size_t count);
#define xestrlena strlen
#define xestrcmpa strcmp
#define xestrcasecmpa strcasecmp
#define xestrdupa strdup
#define xestrchra strchr
#define xestrrchra strrchr
#define xestrstra strstr
#define xestrcpya(dest, destLength, source) (strcpy_s(dest, destLength, source) == 0)
#define xestrncpya(dest, destLength, source, count) (strncpy_s(dest, destLength, source, count) == 0)
#define xestrcata(dest, destLength, source) (strcat_s(dest, destLength, source) == 0)
#define xesnprintfa(buffer, bufferCount, format, ...) _snprintf_s(buffer, bufferCount, format, ##__VA_ARGS__)
#define xesnprintfa(buffer, bufferCount, format, ...) _snprintf_s(buffer, bufferCount, bufferCount, format, ##__VA_ARGS__)
#define xevsnprintfa(buffer, bufferCount, format, args) vsnprintf(buffer, bufferCount, format, args)
#if XE_PLATFORM(WIN32)
@@ -68,6 +72,7 @@ typedef wchar_t xechar_t;
#define xestrchr xestrchrw
#define xestrrchr xestrrchrw
#define xestrstr xestrstrw
#define xestrtoull xestrtoullw
#define xestrcpy xestrcpyw
#define xestrncpy xestrncpyw
#define xestrcat xestrcatw
@@ -89,6 +94,7 @@ typedef char xechar_t;
#define xestrchr xestrchra
#define xestrrchr xestrrchra
#define xestrstr xestrstra
#define xestrtoull xestrtoulla
#define xestrcpy xestrcpya
#define xestrncpy xestrncpya
#define xestrcat xestrcata

View File

@@ -13,7 +13,6 @@
#include <xenia/platform.h>
#include <xenia/platform_includes.h>
#include <tr1/memory>
namespace xe {
// TODO(benvanik): support other compilers/etc
using std::auto_ptr;