提交 dbdc6030 编写于 作者: M mvandervoord

- further fixes to pointer auto-detect

git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@139 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
上级 c1b954eb
...@@ -15,6 +15,9 @@ ...@@ -15,6 +15,9 @@
#ifdef UNITY_USE_LIMITS_H #ifdef UNITY_USE_LIMITS_H
#include <limits.h> #include <limits.h>
#endif #endif
#ifdef UNITY_USE_STDINT_H
#include <stdint.h>
#endif
//------------------------------------------------------- //-------------------------------------------------------
// Int Support // Int Support
...@@ -108,7 +111,10 @@ typedef _UU64 _U_UINT; ...@@ -108,7 +111,10 @@ typedef _UU64 _U_UINT;
typedef _US64 _U_SINT; typedef _US64 _U_SINT;
#endif #endif
#ifndef UINTPTR_MAX
#error "OH SHITSTICKS!"
#endif
//------------------------------------------------------- //-------------------------------------------------------
// Pointer Support // Pointer Support
//------------------------------------------------------- //-------------------------------------------------------
...@@ -117,19 +123,29 @@ typedef _US64 _U_SINT; ...@@ -117,19 +123,29 @@ typedef _US64 _U_SINT;
// We first try to guess based on INTPTR_MAX (if it exists) // We first try to guess based on INTPTR_MAX (if it exists)
// Otherwise we fall back on assuming 32-bit // Otherwise we fall back on assuming 32-bit
#ifndef UNITY_POINTER_WIDTH #ifndef UNITY_POINTER_WIDTH
#ifdef INTPTR_MAX #ifdef UINTPTR_MAX
#if (INTPTR_MAX == 0xFFFF) #if (UINTPTR_MAX <= 0xFFFF)
#define UNITY_POINTER_WIDTH (16) #define UNITY_POINTER_WIDTH (16)
#elif (INTPTR_MAX == 0xFFFFFFFF) #elif (UINTPTR_MAX <= 0xFFFFFFFF)
#define UNITY_POINTER_WIDTH (32) #define UNITY_POINTER_WIDTH (32)
#elif (INTPTR_MAX == 0xFFFFFFFFFFFFFFFF) #elif (UINTPTR_MAX <= 0xFFFFFFFFFFFFFFFF)
#define UNITY_POINTER_WIDTH (64) #define UNITY_POINTER_WIDTH (64)
#else
#define UNITY_POINTER_WIDTH (32)
#endif #endif
#else #endif
#define UNITY_POINTER_WIDTH (32) #endif
#endif #ifndef UNITY_POINTER_WIDTH
#ifdef INTPTR_MAX
#if (INTPTR_MAX <= 0x7FFF)
#define UNITY_POINTER_WIDTH (16)
#elif (INTPTR_MAX <= 0x7FFFFFFF)
#define UNITY_POINTER_WIDTH (32)
#elif (INTPTR_MAX <= 0x7FFFFFFFFFFFFFFF)
#define UNITY_POINTER_WIDTH (64)
#endif
#endif
#endif
#ifndef UNITY_POINTER_WIDTH
#define UNITY_POINTER_WIDTH (32)
#endif #endif
#if (UNITY_POINTER_WIDTH == 32) #if (UNITY_POINTER_WIDTH == 32)
......
...@@ -20,7 +20,8 @@ compiler: ...@@ -20,7 +20,8 @@ compiler:
items: items:
- UNITY_SUPPORT_64 - UNITY_SUPPORT_64
- UNITY_INCLUDE_DOUBLE - UNITY_INCLUDE_DOUBLE
- UNITY_SUPPORT_TEST_CASES - UNITY_SUPPORT_TEST_CASES
- UNITY_USE_STDINT_H
object_files: object_files:
prefix: '-o' prefix: '-o'
extension: '.o' extension: '.o'
......
compiler:
path: gcc
source_path: 'src/'
unit_tests_path: &unit_tests_path 'test/'
build_path: &build_path 'build/'
options:
- '-c'
- '-Wall'
- '-Wno-address'
- '-std=c99'
- '-pedantic'
includes:
prefix: '-I'
items:
- 'src/'
- '../src/'
- *unit_tests_path
defines:
prefix: '-D'
items:
- UNITY_SUPPORT_64
- UNITY_INCLUDE_DOUBLE
- UNITY_SUPPORT_TEST_CASES
- 'UNITY_POINTER_WIDTH=64'
object_files:
prefix: '-o'
extension: '.o'
destination: *build_path
linker:
path: gcc
options:
- -lm
includes:
prefix: '-I'
object_files:
path: *build_path
extension: '.o'
bin_files:
prefix: '-o'
extension: '.exe'
destination: *build_path
colour: true
:unity:
:plugins: []
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册