mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 08:26:27 +00:00
consistency tweaks and simplify documentation flags in make files by automatically adding most work map entries.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37629 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
22145c3804
commit
5f1b5c1985
8 changed files with 141 additions and 89 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
2014-01-23 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/GSFFCallInvocation.m:
|
||||
* Source/GSFFIInvocation.m:
|
||||
* Source/Additions/GSTypeEncoding.c:
|
||||
* Headers/GNUstepBase/GSIArray.h:
|
||||
* Headers/GNUstepBase/GSTypeEncoding.h:
|
||||
* Headers/GNUstepBase/GSIMap.h:
|
||||
Fixup to use GS_STATIC_INLINE consistently.
|
||||
* Tools/autogsdoc.m:
|
||||
Set up default work map for public macros whose use in headers
|
||||
would otherwise confuse documentation generation.
|
||||
|
||||
2014-01-21 Pirmin Braun <pb@intars.de>
|
||||
|
||||
* Source/NSDecimal.m: Fix for rounding precision.
|
||||
|
|
|
@ -46,10 +46,11 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/* To easily un-inline functions for debugging */
|
||||
#ifndef INLINE
|
||||
#define INLINE inline
|
||||
#ifndef GS_STATIC_INLINE
|
||||
#define GS_STATIC_INLINE static inline
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef GSI_ARRAY_CHECKS
|
||||
#define GSI_ARRAY_CHECK NSCAssert(array->count <= array->cap && array->old <= array->cap, NSInternalInconsistencyException)
|
||||
#else
|
||||
|
@ -175,19 +176,19 @@ struct _GSIArray {
|
|||
typedef struct _GSIArray GSIArray_t;
|
||||
typedef struct _GSIArray *GSIArray;
|
||||
|
||||
static INLINE unsigned
|
||||
GS_STATIC_INLINE unsigned
|
||||
GSIArrayCapacity(GSIArray array)
|
||||
{
|
||||
return array->cap;
|
||||
}
|
||||
|
||||
static INLINE unsigned
|
||||
GS_STATIC_INLINE unsigned
|
||||
GSIArrayCount(GSIArray array)
|
||||
{
|
||||
return array->count;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayGrow(GSIArray array)
|
||||
{
|
||||
unsigned int next;
|
||||
|
@ -236,7 +237,7 @@ GSIArrayGrow(GSIArray array)
|
|||
array->cap = next;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayGrowTo(GSIArray array, unsigned next)
|
||||
{
|
||||
unsigned int size;
|
||||
|
@ -280,7 +281,7 @@ GSIArrayGrowTo(GSIArray array, unsigned next)
|
|||
array->cap = next;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayInsertItem(GSIArray array, GSIArrayItem item, unsigned index)
|
||||
{
|
||||
unsigned int i;
|
||||
|
@ -299,7 +300,7 @@ GSIArrayInsertItem(GSIArray array, GSIArrayItem item, unsigned index)
|
|||
GSI_ARRAY_CHECK;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayInsertItemNoRetain(GSIArray array, GSIArrayItem item, unsigned index)
|
||||
{
|
||||
unsigned int i;
|
||||
|
@ -317,7 +318,7 @@ GSIArrayInsertItemNoRetain(GSIArray array, GSIArrayItem item, unsigned index)
|
|||
GSI_ARRAY_CHECK;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayAddItem(GSIArray array, GSIArrayItem item)
|
||||
{
|
||||
GSI_ARRAY_CHECK;
|
||||
|
@ -330,7 +331,7 @@ GSIArrayAddItem(GSIArray array, GSIArrayItem item)
|
|||
GSI_ARRAY_CHECK;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayAddItemNoRetain(GSIArray array, GSIArrayItem item)
|
||||
{
|
||||
GSI_ARRAY_CHECK;
|
||||
|
@ -349,7 +350,7 @@ GSIArrayAddItemNoRetain(GSIArray array, GSIArrayItem item)
|
|||
* added is 'less than' the item in the array, NSOrderedDescending
|
||||
* if it is greater, and NSOrderedSame if it is equal.
|
||||
*/
|
||||
static INLINE unsigned
|
||||
GS_STATIC_INLINE unsigned
|
||||
GSIArraySearch(GSIArray array, GSIArrayItem item,
|
||||
NSComparisonResult (*sorter)(GSIArrayItem, GSIArrayItem))
|
||||
{
|
||||
|
@ -382,7 +383,7 @@ GSIArraySearch(GSIArray array, GSIArrayItem item,
|
|||
return index;
|
||||
}
|
||||
|
||||
static INLINE unsigned
|
||||
GS_STATIC_INLINE unsigned
|
||||
GSIArrayInsertionPosition(GSIArray array, GSIArrayItem item,
|
||||
NSComparisonResult (*sorter)(GSIArrayItem, GSIArrayItem))
|
||||
{
|
||||
|
@ -405,7 +406,7 @@ GSIArrayInsertionPosition(GSIArray array, GSIArrayItem item,
|
|||
}
|
||||
|
||||
#ifdef GSI_ARRAY_CHECKS
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayCheckSort(GSIArray array,
|
||||
NSComparisonResult (*sorter)(GSIArrayItem, GSIArrayItem))
|
||||
{
|
||||
|
@ -421,7 +422,7 @@ GSIArrayCheckSort(GSIArray array,
|
|||
}
|
||||
#endif
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayInsertSorted(GSIArray array, GSIArrayItem item,
|
||||
NSComparisonResult (*sorter)(GSIArrayItem, GSIArrayItem))
|
||||
{
|
||||
|
@ -437,7 +438,7 @@ GSIArrayInsertSorted(GSIArray array, GSIArrayItem item,
|
|||
#endif
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayInsertSortedNoRetain(GSIArray array, GSIArrayItem item,
|
||||
NSComparisonResult (*sorter)(GSIArrayItem, GSIArrayItem))
|
||||
{
|
||||
|
@ -453,7 +454,7 @@ GSIArrayInsertSortedNoRetain(GSIArray array, GSIArrayItem item,
|
|||
#endif
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayRemoveItemAtIndex(GSIArray array, unsigned index)
|
||||
{
|
||||
#if defined(GSI_ARRAY_NO_RELEASE)
|
||||
|
@ -482,7 +483,7 @@ GSIArrayRemoveItemAtIndex(GSIArray array, unsigned index)
|
|||
#endif
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayRemoveLastItem(GSIArray array)
|
||||
{
|
||||
#ifdef GSI_ARRAY_CHECKS
|
||||
|
@ -497,7 +498,7 @@ GSIArrayRemoveLastItem(GSIArray array)
|
|||
#endif
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayRemoveItemAtIndexNoRelease(GSIArray array, unsigned index)
|
||||
{
|
||||
#ifdef GSI_ARRAY_CHECKS
|
||||
|
@ -511,7 +512,7 @@ GSIArrayRemoveItemAtIndexNoRelease(GSIArray array, unsigned index)
|
|||
#endif
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArraySetItemAtIndex(GSIArray array, GSIArrayItem item, unsigned index)
|
||||
{
|
||||
#if defined(GSI_ARRAY_NO_RELEASE)
|
||||
|
@ -536,13 +537,13 @@ GSIArraySetItemAtIndex(GSIArray array, GSIArrayItem item, unsigned index)
|
|||
* For direct access ... unsafe if you change the array in any way while
|
||||
* examining the contents of this buffer.
|
||||
*/
|
||||
static INLINE GSIArrayItem *
|
||||
GS_STATIC_INLINE GSIArrayItem *
|
||||
GSIArrayItems(GSIArray array)
|
||||
{
|
||||
return array->ptr;
|
||||
}
|
||||
|
||||
static INLINE GSIArrayItem
|
||||
GS_STATIC_INLINE GSIArrayItem
|
||||
GSIArrayItemAtIndex(GSIArray array, unsigned index)
|
||||
{
|
||||
#ifdef GSI_ARRAY_CHECKS
|
||||
|
@ -551,7 +552,7 @@ GSIArrayItemAtIndex(GSIArray array, unsigned index)
|
|||
return array->ptr[index];
|
||||
}
|
||||
|
||||
static INLINE GSIArrayItem
|
||||
GS_STATIC_INLINE GSIArrayItem
|
||||
GSIArrayLastItem(GSIArray array)
|
||||
{
|
||||
#ifdef GSI_ARRAY_CHECKS
|
||||
|
@ -560,7 +561,7 @@ GSIArrayLastItem(GSIArray array)
|
|||
return array->ptr[array->count-1];
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayClear(GSIArray array)
|
||||
{
|
||||
if (array->ptr)
|
||||
|
@ -579,7 +580,7 @@ GSIArrayClear(GSIArray array)
|
|||
}
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayRemoveItemsFromIndex(GSIArray array, unsigned index)
|
||||
{
|
||||
if (index < array->count)
|
||||
|
@ -597,7 +598,7 @@ GSIArrayRemoveItemsFromIndex(GSIArray array, unsigned index)
|
|||
}
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayRemoveAllItems(GSIArray array)
|
||||
{
|
||||
#ifndef GSI_ARRAY_NO_RELEASE
|
||||
|
@ -612,14 +613,14 @@ GSIArrayRemoveAllItems(GSIArray array)
|
|||
array->count = 0;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIArrayEmpty(GSIArray array)
|
||||
{
|
||||
GSIArrayRemoveAllItems(array);
|
||||
GSIArrayClear(array);
|
||||
}
|
||||
|
||||
static INLINE GSIArray
|
||||
GS_STATIC_INLINE GSIArray
|
||||
GSIArrayInitWithZoneAndCapacity(GSIArray array, NSZone *zone, size_t capacity)
|
||||
{
|
||||
unsigned int size;
|
||||
|
@ -640,7 +641,7 @@ GSIArrayInitWithZoneAndCapacity(GSIArray array, NSZone *zone, size_t capacity)
|
|||
return array;
|
||||
}
|
||||
|
||||
static INLINE GSIArray
|
||||
GS_STATIC_INLINE GSIArray
|
||||
GSIArrayInitWithZoneAndStaticCapacity(GSIArray array, NSZone *zone,
|
||||
size_t capacity, GSIArrayItem *buffer)
|
||||
{
|
||||
|
@ -652,7 +653,7 @@ GSIArrayInitWithZoneAndStaticCapacity(GSIArray array, NSZone *zone,
|
|||
return array;
|
||||
}
|
||||
|
||||
static INLINE GSIArray
|
||||
GS_STATIC_INLINE GSIArray
|
||||
GSIArrayCopyWithZone(GSIArray array, NSZone *zone)
|
||||
{
|
||||
unsigned int i;
|
||||
|
|
|
@ -46,10 +46,11 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/* To easily un-inline functions for debugging */
|
||||
#ifndef INLINE
|
||||
#define INLINE inline
|
||||
#ifndef GS_STATIC_INLINE
|
||||
#define GS_STATIC_INLINE static inline
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* NB. This file is intended for internal use by the GNUstep libraries
|
||||
* and may change siugnificantly between releases.
|
||||
|
@ -389,27 +390,27 @@ typedef struct _GSIMapEnumerator GSIMapEnumerator_t;
|
|||
#endif
|
||||
typedef GSIMapEnumerator_t *GSIMapEnumerator;
|
||||
|
||||
static INLINE GSIMapBucket
|
||||
GS_STATIC_INLINE GSIMapBucket
|
||||
GSIMapPickBucket(unsigned hash, GSIMapBucket buckets, uintptr_t bucketCount)
|
||||
{
|
||||
return buckets + hash % bucketCount;
|
||||
}
|
||||
|
||||
static INLINE GSIMapBucket
|
||||
GS_STATIC_INLINE GSIMapBucket
|
||||
GSIMapBucketForKey(GSIMapTable map, GSIMapKey key)
|
||||
{
|
||||
return GSIMapPickBucket(GSI_MAP_HASH(map, key),
|
||||
map->buckets, map->bucketCount);
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapLinkNodeIntoBucket(GSIMapBucket bucket, GSIMapNode node)
|
||||
{
|
||||
node->nextInBucket = bucket->firstNode;
|
||||
bucket->firstNode = node;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapUnlinkNodeFromBucket(GSIMapBucket bucket, GSIMapNode node)
|
||||
{
|
||||
if (node == bucket->firstNode)
|
||||
|
@ -429,14 +430,14 @@ GSIMapUnlinkNodeFromBucket(GSIMapBucket bucket, GSIMapNode node)
|
|||
node->nextInBucket = 0;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapAddNodeToBucket(GSIMapBucket bucket, GSIMapNode node)
|
||||
{
|
||||
GSIMapLinkNodeIntoBucket(bucket, node);
|
||||
bucket->nodeCount += 1;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapAddNodeToMap(GSIMapTable map, GSIMapNode node)
|
||||
{
|
||||
GSIMapBucket bucket;
|
||||
|
@ -446,21 +447,21 @@ GSIMapAddNodeToMap(GSIMapTable map, GSIMapNode node)
|
|||
map->nodeCount++;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapRemoveNodeFromBucket(GSIMapBucket bucket, GSIMapNode node)
|
||||
{
|
||||
bucket->nodeCount--;
|
||||
GSIMapUnlinkNodeFromBucket(bucket, node);
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapRemoveNodeFromMap(GSIMapTable map, GSIMapBucket bkt, GSIMapNode node)
|
||||
{
|
||||
map->nodeCount--;
|
||||
GSIMapRemoveNodeFromBucket(bkt, node);
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapFreeNode(GSIMapTable map, GSIMapNode node)
|
||||
{
|
||||
GSI_MAP_RELEASE_KEY(map, node->key);
|
||||
|
@ -474,7 +475,7 @@ GSIMapFreeNode(GSIMapTable map, GSIMapNode node)
|
|||
map->freeNodes = node;
|
||||
}
|
||||
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapRemoveAndFreeNode(GSIMapTable map, uintptr_t bkt, GSIMapNode node)
|
||||
{
|
||||
GSIMapNode next = node->nextInBucket;
|
||||
|
@ -483,7 +484,7 @@ GSIMapRemoveAndFreeNode(GSIMapTable map, uintptr_t bkt, GSIMapNode node)
|
|||
return next;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapRemoveWeak(GSIMapTable map)
|
||||
{
|
||||
if (GSI_MAP_ZEROED(map))
|
||||
|
@ -511,7 +512,7 @@ GSIMapRemoveWeak(GSIMapTable map)
|
|||
}
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapRemangleBuckets(GSIMapTable map,
|
||||
GSIMapBucket old_buckets, uintptr_t old_bucketCount,
|
||||
GSIMapBucket new_buckets, uintptr_t new_bucketCount)
|
||||
|
@ -560,7 +561,7 @@ GSIMapRemangleBuckets(GSIMapTable map,
|
|||
}
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapMoreNodes(GSIMapTable map, unsigned required)
|
||||
{
|
||||
GSIMapNode *newArray;
|
||||
|
@ -631,7 +632,7 @@ GSIMapMoreNodes(GSIMapTable map, unsigned required)
|
|||
}
|
||||
}
|
||||
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapNodeForKeyInBucket(GSIMapTable map, GSIMapBucket bucket, GSIMapKey key)
|
||||
{
|
||||
GSIMapNode node = bucket->firstNode;
|
||||
|
@ -660,7 +661,7 @@ GSIMapNodeForKeyInBucket(GSIMapTable map, GSIMapBucket bucket, GSIMapKey key)
|
|||
return node;
|
||||
}
|
||||
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapNodeForKey(GSIMapTable map, GSIMapKey key)
|
||||
{
|
||||
GSIMapBucket bucket;
|
||||
|
@ -675,7 +676,7 @@ GSIMapNodeForKey(GSIMapTable map, GSIMapKey key)
|
|||
return node;
|
||||
}
|
||||
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapFirstNode(GSIMapTable map)
|
||||
{
|
||||
if (map->nodeCount > 0)
|
||||
|
@ -724,7 +725,7 @@ GSIMapFirstNode(GSIMapTable map)
|
|||
* or pointer values that are their own hash values (when converted to unsigned
|
||||
* integers) and can be compared with a test for integer equality.
|
||||
*/
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapNodeForSimpleKey(GSIMapTable map, GSIMapKey key)
|
||||
{
|
||||
GSIMapBucket bucket;
|
||||
|
@ -759,7 +760,7 @@ GSIMapNodeForSimpleKey(GSIMapTable map, GSIMapKey key)
|
|||
}
|
||||
#endif
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapResize(GSIMapTable map, uintptr_t new_capacity)
|
||||
{
|
||||
GSIMapBucket new_buckets;
|
||||
|
@ -815,7 +816,7 @@ GSIMapResize(GSIMapTable map, uintptr_t new_capacity)
|
|||
}
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapRightSizeMap(GSIMapTable map, uintptr_t capacity)
|
||||
{
|
||||
/* FIXME: Now, this is a guess, based solely on my intuition. If anyone
|
||||
|
@ -849,7 +850,7 @@ GSIMapRightSizeMap(GSIMapTable map, uintptr_t capacity)
|
|||
* is in progress. The results of doing so are reasonably unpredictable.
|
||||
* <br />Remember, DON'T MESS WITH A MAP WHILE YOU'RE ENUMERATING IT.
|
||||
*/
|
||||
static INLINE GSIMapEnumerator_t
|
||||
GS_STATIC_INLINE GSIMapEnumerator_t
|
||||
GSIMapEnumeratorForMap(GSIMapTable map)
|
||||
{
|
||||
GSIMapEnumerator_t enumerator;
|
||||
|
@ -893,7 +894,7 @@ GSIMapEnumeratorForMap(GSIMapTable map)
|
|||
/**
|
||||
* Tidies up after map enumeration ... effectively destroys the enumerator.
|
||||
*/
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapEndEnumerator(GSIMapEnumerator enumerator)
|
||||
{
|
||||
((_GSIE)enumerator)->map = 0;
|
||||
|
@ -907,7 +908,7 @@ GSIMapEndEnumerator(GSIMapEnumerator enumerator)
|
|||
* bucket and node to remove the node from the map using the
|
||||
* GSIMapRemoveNodeFromMap() function.
|
||||
*/
|
||||
static INLINE GSIMapBucket
|
||||
GS_STATIC_INLINE GSIMapBucket
|
||||
GSIMapEnumeratorBucket(GSIMapEnumerator enumerator)
|
||||
{
|
||||
if (((_GSIE)enumerator)->node != 0)
|
||||
|
@ -922,7 +923,7 @@ GSIMapEnumeratorBucket(GSIMapEnumerator enumerator)
|
|||
/**
|
||||
* Returns the next node in the map, or a nul pointer if at the end.
|
||||
*/
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapEnumeratorNextNode(GSIMapEnumerator enumerator)
|
||||
{
|
||||
GSIMapNode node = ((_GSIE)enumerator)->node;
|
||||
|
@ -1000,7 +1001,7 @@ GSIMapEnumeratorNextNode(GSIMapEnumerator enumerator)
|
|||
* Used to implement fast enumeration methods in classes that use GSIMap for
|
||||
* their data storage.
|
||||
*/
|
||||
static INLINE NSUInteger
|
||||
GS_STATIC_INLINE NSUInteger
|
||||
GSIMapCountByEnumeratingWithStateObjectsCount(GSIMapTable map,
|
||||
NSFastEnumerationState *state,
|
||||
id *stackbuf,
|
||||
|
@ -1057,7 +1058,7 @@ GSIMapCountByEnumeratingWithStateObjectsCount(GSIMapTable map,
|
|||
}
|
||||
|
||||
#if GSI_MAP_HAS_VALUE
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapAddPairNoRetain(GSIMapTable map, GSIMapKey key, GSIMapVal value)
|
||||
{
|
||||
GSIMapNode node = map->freeNodes;
|
||||
|
@ -1076,7 +1077,7 @@ GSIMapAddPairNoRetain(GSIMapTable map, GSIMapKey key, GSIMapVal value)
|
|||
return node;
|
||||
}
|
||||
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapAddPair(GSIMapTable map, GSIMapKey key, GSIMapVal value)
|
||||
{
|
||||
GSIMapNode node = map->freeNodes;
|
||||
|
@ -1097,7 +1098,7 @@ GSIMapAddPair(GSIMapTable map, GSIMapKey key, GSIMapVal value)
|
|||
return node;
|
||||
}
|
||||
#else
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapAddKeyNoRetain(GSIMapTable map, GSIMapKey key)
|
||||
{
|
||||
GSIMapNode node = map->freeNodes;
|
||||
|
@ -1115,7 +1116,7 @@ GSIMapAddKeyNoRetain(GSIMapTable map, GSIMapKey key)
|
|||
return node;
|
||||
}
|
||||
|
||||
static INLINE GSIMapNode
|
||||
GS_STATIC_INLINE GSIMapNode
|
||||
GSIMapAddKey(GSIMapTable map, GSIMapKey key)
|
||||
{
|
||||
GSIMapNode node = map->freeNodes;
|
||||
|
@ -1139,7 +1140,7 @@ GSIMapAddKey(GSIMapTable map, GSIMapKey key)
|
|||
* Removes the item for the specified key from the map.
|
||||
* If the key was present, returns YES, otherwise returns NO.
|
||||
*/
|
||||
static INLINE BOOL
|
||||
GS_STATIC_INLINE BOOL
|
||||
GSIMapRemoveKey(GSIMapTable map, GSIMapKey key)
|
||||
{
|
||||
GSIMapBucket bucket = GSIMapBucketForKey(map, key);
|
||||
|
@ -1155,7 +1156,7 @@ GSIMapRemoveKey(GSIMapTable map, GSIMapKey key)
|
|||
return NO;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapCleanMap(GSIMapTable map)
|
||||
{
|
||||
if (map->nodeCount > 0)
|
||||
|
@ -1202,7 +1203,7 @@ GSIMapCleanMap(GSIMapTable map)
|
|||
}
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapEmptyMap(GSIMapTable map)
|
||||
{
|
||||
#ifdef GSI_MAP_NOCLEAN
|
||||
|
@ -1243,7 +1244,7 @@ GSIMapEmptyMap(GSIMapTable map)
|
|||
map->zone = 0;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
GS_STATIC_INLINE void
|
||||
GSIMapInitWithZoneAndCapacity(GSIMapTable map, NSZone *zone, uintptr_t capacity)
|
||||
{
|
||||
map->zone = zone;
|
||||
|
|
|
@ -42,11 +42,11 @@
|
|||
# endif
|
||||
#endif
|
||||
|
||||
#if !defined(ENCODING_INLINE)
|
||||
#if !defined(GS_STATIC_INLINE)
|
||||
# if defined(__GNUC__)
|
||||
# define ENCODING_INLINE static __inline__ __attribute__((always_inline))
|
||||
# define GS_STATIC_INLINE static __inline__ __attribute__((always_inline))
|
||||
# else
|
||||
# define ENCODING_INLINE static inline
|
||||
# define GS_STATIC_INLINE static inline
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
@ -154,13 +154,13 @@ GSObjCParseTypeSpecification (const char *cursor,
|
|||
void *context,
|
||||
unsigned options);
|
||||
|
||||
ENCODING_INLINE size_t
|
||||
GS_STATIC_INLINE size_t
|
||||
GSObjCPadSize (size_t size, uint8_t alignment)
|
||||
{
|
||||
return alignment * ((size + alignment - 1) / alignment);
|
||||
}
|
||||
|
||||
ENCODING_INLINE size_t
|
||||
GS_STATIC_INLINE size_t
|
||||
GSObjCGetPadding (size_t size, uint8_t alignment)
|
||||
{
|
||||
return (alignment - (size & (alignment - 1))) & (alignment - 1);
|
||||
|
|
|
@ -81,7 +81,7 @@ static const int8_t typeInfoTable[] =
|
|||
#pragma GCC diagnostic ignored "-Wchar-subscripts"
|
||||
#endif
|
||||
|
||||
ENCODING_INLINE uint8_t
|
||||
GS_STATIC_INLINE uint8_t
|
||||
RoundToThePowerOfTwo (uint8_t value)
|
||||
{
|
||||
--value;
|
||||
|
@ -91,7 +91,7 @@ RoundToThePowerOfTwo (uint8_t value)
|
|||
return ++value;
|
||||
}
|
||||
|
||||
ENCODING_INLINE const char *
|
||||
GS_STATIC_INLINE const char *
|
||||
GetNumericValue (const char *cursor, int *value)
|
||||
{
|
||||
*value = 0;
|
||||
|
@ -102,7 +102,7 @@ GetNumericValue (const char *cursor, int *value)
|
|||
return cursor;
|
||||
}
|
||||
|
||||
ENCODING_INLINE const char *
|
||||
GS_STATIC_INLINE const char *
|
||||
SkipName (const char *cursor)
|
||||
{
|
||||
if (*cursor == '"')
|
||||
|
@ -112,7 +112,7 @@ SkipName (const char *cursor)
|
|||
return cursor;
|
||||
}
|
||||
|
||||
ENCODING_INLINE const char *
|
||||
GS_STATIC_INLINE const char *
|
||||
SkipType (const char *cursor)
|
||||
{
|
||||
unsigned depth = 0;
|
||||
|
@ -147,7 +147,7 @@ SkipType (const char *cursor)
|
|||
return cursor;
|
||||
}
|
||||
|
||||
ENCODING_INLINE const char *
|
||||
GS_STATIC_INLINE const char *
|
||||
GetQualifiers (const char *cursor, uint8_t *qualifiers)
|
||||
{
|
||||
*qualifiers = 0;
|
||||
|
@ -198,7 +198,7 @@ typedef struct ParserState
|
|||
*/
|
||||
static const unsigned ParserInitialStackSize = 3;
|
||||
|
||||
ENCODING_INLINE ParserStackElement *
|
||||
GS_STATIC_INLINE ParserStackElement *
|
||||
ParserStackTop (ParserState *state)
|
||||
{
|
||||
return state->stackSize ? &state->stack[state->stackSize - 1] : NULL;
|
||||
|
|
|
@ -38,8 +38,8 @@
|
|||
|
||||
#import "GSInvocation.h"
|
||||
|
||||
#ifndef INLINE
|
||||
#define INLINE inline
|
||||
#ifndef GS_STATIC_INLINE
|
||||
#define GS_STATIC_INLINE static inline
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -88,7 +88,7 @@ typedef struct _vacallReturnTypeInfo_t
|
|||
+------+--------+----------+-------+
|
||||
*/
|
||||
|
||||
static INLINE unsigned int
|
||||
GS_STATIC_INLINE unsigned int
|
||||
ReturnTypeHash (vacallReturnTypeInfo *ret_type)
|
||||
{
|
||||
return ret_type->type
|
||||
|
@ -105,7 +105,7 @@ ReturnTypeHash (vacallReturnTypeInfo *ret_type)
|
|||
so that the earlier comparisons
|
||||
fail more often than later comparisons.
|
||||
*/
|
||||
static INLINE BOOL
|
||||
GS_STATIC_INLINE BOOL
|
||||
ReturnTypeEqualsReturnType (vacallReturnTypeInfo *a, vacallReturnTypeInfo *b)
|
||||
{
|
||||
return (a->structSize == b->structSize)
|
||||
|
@ -287,7 +287,7 @@ gs_splittable (const char *type)
|
|||
* we work around it.
|
||||
*/
|
||||
|
||||
static INLINE GSMethod
|
||||
GS_STATIC_INLINE GSMethod
|
||||
gs_method_for_receiver_and_selector (id receiver, SEL sel)
|
||||
{
|
||||
if (receiver)
|
||||
|
@ -319,7 +319,7 @@ gs_method_for_receiver_and_selector (id receiver, SEL sel)
|
|||
* return types between all equivalent selectors.
|
||||
*/
|
||||
|
||||
static INLINE SEL
|
||||
GS_STATIC_INLINE SEL
|
||||
gs_find_best_typed_sel (SEL sel)
|
||||
{
|
||||
if (!sel_get_type (sel))
|
||||
|
@ -346,7 +346,7 @@ gs_find_best_typed_sel (SEL sel)
|
|||
* In all other cases fallback
|
||||
* to gs_find_best_typed_sel ().
|
||||
*/
|
||||
static INLINE SEL
|
||||
GS_STATIC_INLINE SEL
|
||||
gs_find_by_receiver_best_typed_sel (id receiver, SEL sel)
|
||||
{
|
||||
if (sel_get_type (sel))
|
||||
|
|
|
@ -47,8 +47,8 @@
|
|||
#include <objc/message.h>
|
||||
#endif
|
||||
|
||||
#ifndef INLINE
|
||||
#define INLINE inline
|
||||
#ifndef GS_STATIC_INLINE
|
||||
#define GS_STATIC_INLINE static inline
|
||||
#endif
|
||||
|
||||
/* Function that implements the actual forwarding */
|
||||
|
@ -65,7 +65,7 @@ static void GSFFIInvocationCallback(ffi_cif*, void*, void **, void*);
|
|||
* work around it.
|
||||
*/
|
||||
|
||||
static INLINE GSMethod
|
||||
GS_STATIC_INLINE GSMethod
|
||||
gs_method_for_receiver_and_selector (id receiver, SEL sel)
|
||||
{
|
||||
if (receiver)
|
||||
|
@ -90,7 +90,7 @@ gs_method_for_receiver_and_selector (id receiver, SEL sel)
|
|||
Older runtimes do not have facilities in the API to check for
|
||||
conflicting types, hence would return a random selector in that
|
||||
case. */
|
||||
static INLINE SEL
|
||||
GS_STATIC_INLINE SEL
|
||||
gs_find_best_typed_sel (SEL sel)
|
||||
#ifdef __GNUSTEP_RUNTIME__
|
||||
{
|
||||
|
|
|
@ -1247,9 +1247,10 @@ main(int argc, char **argv, char **env)
|
|||
count = [sFiles count];
|
||||
if (count > 0)
|
||||
{
|
||||
AGSParser *parser;
|
||||
AGSOutput *output;
|
||||
NSString *up;
|
||||
AGSParser *parser;
|
||||
AGSOutput *output;
|
||||
NSString *up;
|
||||
NSMutableDictionary *wm;
|
||||
|
||||
up = [defs stringForKey: @"Up"];
|
||||
|
||||
|
@ -1258,7 +1259,43 @@ main(int argc, char **argv, char **env)
|
|||
#endif
|
||||
|
||||
parser = [AGSParser new];
|
||||
[parser setWordMap: [defs dictionaryForKey: @"WordMap"]];
|
||||
wm = [[defs dictionaryForKey: @"WordMap"] mutableCopy];
|
||||
if (nil == wm)
|
||||
{
|
||||
wm = [NSMutableDictionary new];
|
||||
}
|
||||
if ([defs boolForKey: @"DisableDefaultWords"] == NO)
|
||||
{
|
||||
[wm setObject: @"//" forKey: @"DEFINE_BLOCK_TYPE"];
|
||||
[wm setObject: @"" forKey: @"GS_ATTRIB_DEPRECATED"];
|
||||
[wm setObject: @"" forKey: @"GS_DECLARE"];
|
||||
[wm setObject: @"" forKey: @"GS_DEPRECATED_FUNC"];
|
||||
[wm setObject: @"extern" forKey: @"GS_EXPORT"];
|
||||
[wm setObject: @"" forKey: @"GS_GC_STRONG"];
|
||||
[wm setObject: @"" forKey: @"GS_GEOM_ATTR"];
|
||||
[wm setObject: @"extern" forKey: @"GS_GEOM_SCOPE"];
|
||||
[wm setObject: @"" forKey: @"GS_NORETURN_METHOD"];
|
||||
[wm setObject: @"" forKey: @"GS_RANGE_ATTR"];
|
||||
[wm setObject: @"extern" forKey: @"GS_RANGE_SCOPE"];
|
||||
[wm setObject: @"" forKey: @"GS_ROOT_CLASS"];
|
||||
[wm setObject: @"static inline" forKey: @"GS_STATIC_INLINE"];
|
||||
[wm setObject: @"" forKey: @"GS_UNUSED_ARG"];
|
||||
[wm setObject: @"" forKey: @"GS_UNUSED_FUNC"];
|
||||
[wm setObject: @"" forKey: @"GS_UNUSED_IVAR"];
|
||||
[wm setObject: @"" forKey: @"GS_ZONE_ATTR"];
|
||||
[wm setObject: @"extern" forKey: @"GS_ZONE_SCOPE"];
|
||||
[wm setObject: @"" forKey: @"NS_AUTOMATED_REFCOUNT_UNAVAILABLE"];
|
||||
[wm setObject: @"" forKey: @"NS_CONSUMED"];
|
||||
[wm setObject: @"" forKey: @"NS_CONSUMES_SELF"];
|
||||
[wm setObject: @"" forKey: @"NS_RETURNS_NOT_RETAINED"];
|
||||
[wm setObject: @"" forKey: @"NS_RETURNS_RETAINED"];
|
||||
[wm setObject: @"" forKey: @"__strong"];
|
||||
[wm setObject: @"" forKey: @"__weak"];
|
||||
}
|
||||
[parser setWordMap: wm];
|
||||
#if GS_WITH_GC == 0
|
||||
RELEASE(wm);
|
||||
#endif
|
||||
output = [AGSOutput new];
|
||||
if ([defs boolForKey: @"Standards"] == YES)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue