(in libobjc:)
libobjc/8562 (in libobjc:) * objc/hash.h (hash_string): Constify correctly. (compare_ptrs): Use direct compare. * objc/objc-list.h (list_nth): Rename index to indx to avoid shadow. * objc/sarray.h: Global rename index to indx to avoid shadow. (in gcc/testsuite:) * objc.dg/headers.m: New test. Co-Authored-By: Loren J. Rittle <ljrittle@acm.org> From-SVN: r65461
This commit is contained in:
parent
339a28b96a
commit
0b87e18ef1
@ -1,3 +1,9 @@
|
||||
2003-04-11 David Chad <davidc@freebsd.org>
|
||||
Loren J. Rittle <ljrittle@acm.org>
|
||||
|
||||
libobjc/8562
|
||||
* objc.dg/headers.m: New test.
|
||||
|
||||
2003-04-10 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
* gcc.c-torture/execute/builtin-noret-2.c: New.
|
||||
|
16
gcc/testsuite/objc.dg/headers.m
Normal file
16
gcc/testsuite/objc.dg/headers.m
Normal file
@ -0,0 +1,16 @@
|
||||
// Test for obscure conflicts with the system headers (inspired by similar
|
||||
// test in libstdc++-v3). Author: Loren J. Rittle <ljrittle@acm.org>.
|
||||
// { dg-options "-Wall -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wshadow" }
|
||||
// { dg-do compile }
|
||||
|
||||
#include <objc/NXConstStr.h>
|
||||
#include <objc/Object.h>
|
||||
#include <objc/Protocol.h>
|
||||
#include <objc/encoding.h>
|
||||
#include <objc/hash.h>
|
||||
#include <objc/objc-api.h>
|
||||
#include <objc/objc-list.h>
|
||||
#include <objc/objc.h>
|
||||
#include <objc/sarray.h>
|
||||
#include <objc/thr.h>
|
||||
#include <objc/typedstream.h>
|
@ -1,3 +1,12 @@
|
||||
2003-04-11 David Chad <davidc@freebsd.org>
|
||||
Loren J. Rittle <ljrittle@acm.org>
|
||||
|
||||
libobjc/8562
|
||||
* objc/hash.h (hash_string): Constify correctly.
|
||||
(compare_ptrs): Use direct compare.
|
||||
* objc/objc-list.h (list_nth): Rename index to indx to avoid shadow.
|
||||
* objc/sarray.h: Global rename index to indx to avoid shadow.
|
||||
|
||||
2003-03-12 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
|
||||
|
@ -174,8 +174,8 @@ hash_string (cache_ptr cache, const void *key)
|
||||
unsigned int ctr = 0;
|
||||
|
||||
|
||||
while (*(char *) key) {
|
||||
ret ^= *(char *) key++ << ctr;
|
||||
while (*(const char *) key) {
|
||||
ret ^= *((const char *) key)++ << ctr;
|
||||
ctr = (ctr + 1) % sizeof (void *);
|
||||
}
|
||||
|
||||
@ -187,7 +187,7 @@ hash_string (cache_ptr cache, const void *key)
|
||||
static inline int
|
||||
compare_ptrs (const void *k1, const void *k2)
|
||||
{
|
||||
return ! (k1 - k2);
|
||||
return (k1 == k2);
|
||||
}
|
||||
|
||||
|
||||
|
@ -64,9 +64,9 @@ list_length(struct objc_list* list)
|
||||
larger than the list length, NULL is returned */
|
||||
|
||||
static inline void*
|
||||
list_nth(int index, struct objc_list* list)
|
||||
list_nth(int indx, struct objc_list* list)
|
||||
{
|
||||
while(index-- != 0)
|
||||
while(indx-- != 0)
|
||||
{
|
||||
if(list->tail)
|
||||
list = list->tail;
|
||||
|
@ -146,8 +146,8 @@ struct sarray* sarray_new(int, void* default_element);
|
||||
void sarray_free(struct sarray*);
|
||||
struct sarray* sarray_lazy_copy(struct sarray*);
|
||||
void sarray_realloc(struct sarray*, int new_size);
|
||||
void sarray_at_put(struct sarray*, sidx index, void* elem);
|
||||
void sarray_at_put_safe(struct sarray*, sidx index, void* elem);
|
||||
void sarray_at_put(struct sarray*, sidx indx, void* elem);
|
||||
void sarray_at_put_safe(struct sarray*, sidx indx, void* elem);
|
||||
|
||||
struct sarray* sarray_hard_copy(struct sarray*); /* ... like the name? */
|
||||
void sarray_remove_garbage(void);
|
||||
@ -156,10 +156,10 @@ void sarray_remove_garbage(void);
|
||||
#ifdef PRECOMPUTE_SELECTORS
|
||||
/* Transform soffset values to ints and vica verca */
|
||||
static inline unsigned int
|
||||
soffset_decode(sidx index)
|
||||
soffset_decode(sidx indx)
|
||||
{
|
||||
union sofftype x;
|
||||
x.idx = index;
|
||||
x.idx = indx;
|
||||
#ifdef OBJC_SPARSE3
|
||||
return x.off.eoffset
|
||||
+ (x.off.boffset*BUCKET_SIZE)
|
||||
@ -186,9 +186,9 @@ soffset_encode(size_t offset)
|
||||
#else /* not PRECOMPUTE_SELECTORS */
|
||||
|
||||
static inline size_t
|
||||
soffset_decode(sidx index)
|
||||
soffset_decode(sidx indx)
|
||||
{
|
||||
return index;
|
||||
return indx;
|
||||
}
|
||||
|
||||
static inline sidx
|
||||
@ -198,13 +198,13 @@ soffset_encode(size_t offset)
|
||||
}
|
||||
#endif /* not PRECOMPUTE_SELECTORS */
|
||||
|
||||
/* Get element from the Sparse array `array' at offset `index' */
|
||||
/* Get element from the Sparse array `array' at offset `indx' */
|
||||
|
||||
static inline void* sarray_get(struct sarray* array, sidx index)
|
||||
static inline void* sarray_get(struct sarray* array, sidx indx)
|
||||
{
|
||||
#ifdef PRECOMPUTE_SELECTORS
|
||||
union sofftype x;
|
||||
x.idx = index;
|
||||
x.idx = indx;
|
||||
#ifdef OBJC_SPARSE3
|
||||
return
|
||||
array->
|
||||
@ -217,19 +217,19 @@ static inline void* sarray_get(struct sarray* array, sidx index)
|
||||
#else /* not PRECOMPUTE_SELECTORS */
|
||||
#ifdef OBJC_SPARSE3
|
||||
return array->
|
||||
indices[index/INDEX_CAPACITY]->
|
||||
buckets[(index/BUCKET_SIZE)%INDEX_SIZE]->
|
||||
elems[index%BUCKET_SIZE];
|
||||
indices[indx/INDEX_CAPACITY]->
|
||||
buckets[(indx/BUCKET_SIZE)%INDEX_SIZE]->
|
||||
elems[indx%BUCKET_SIZE];
|
||||
#else /* OBJC_SPARSE2 */
|
||||
return array->buckets[index/BUCKET_SIZE]->elems[index%BUCKET_SIZE];
|
||||
return array->buckets[indx/BUCKET_SIZE]->elems[indx%BUCKET_SIZE];
|
||||
#endif /* not OBJC_SPARSE3 */
|
||||
#endif /* not PRECOMPUTE_SELECTORS */
|
||||
}
|
||||
|
||||
static inline void* sarray_get_safe(struct sarray* array, sidx index)
|
||||
static inline void* sarray_get_safe(struct sarray* array, sidx indx)
|
||||
{
|
||||
if(soffset_decode(index) < array->capacity)
|
||||
return sarray_get(array, index);
|
||||
if(soffset_decode(indx) < array->capacity)
|
||||
return sarray_get(array, indx);
|
||||
else
|
||||
return (array->empty_bucket->elems[0]);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user