Fixing bug 265174. Quiet down compiler warnings on Linux x86_64. r+sr=brendan@mozilla.org

This commit is contained in:
jst%mozilla.jstenback.com 2005-01-12 19:56:32 +00:00
Родитель c1fecc9129
Коммит 0472c0073e
9 изменённых файлов: 34 добавлений и 20 удалений

Просмотреть файл

@ -86,7 +86,7 @@
#endif #endif
#ifdef HAVE_VA_LIST_AS_ARRAY #ifdef HAVE_VA_LIST_AS_ARRAY
#define JS_ADDRESSOF_VA_LIST(ap) (ap) #define JS_ADDRESSOF_VA_LIST(ap) ((va_list *)(ap))
#else #else
#define JS_ADDRESSOF_VA_LIST(ap) (&(ap)) #define JS_ADDRESSOF_VA_LIST(ap) (&(ap))
#endif #endif
@ -2258,7 +2258,7 @@ DefineProperty(JSContext *cx, JSObject *obj, const char *name, jsval value,
JSAtom *atom; JSAtom *atom;
if (attrs & JSPROP_INDEX) { if (attrs & JSPROP_INDEX) {
id = INT_TO_JSID((jsint)name); id = INT_TO_JSID(JS_PTR_TO_INT32(name));
atom = NULL; atom = NULL;
attrs &= ~JSPROP_INDEX; attrs &= ~JSPROP_INDEX;
} else { } else {

Просмотреть файл

@ -146,9 +146,9 @@ const char js_ExecutionContext_str[] = "ExecutionContext";
const char js_current_str[] = "current"; const char js_current_str[] = "current";
#endif #endif
#define HASH_OBJECT(o) ((JSHashNumber)(o) >> JSVAL_TAGBITS) #define HASH_OBJECT(o) (JS_PTR_TO_UINT32(o) >> JSVAL_TAGBITS)
#define HASH_INT(i) ((JSHashNumber)(i)) #define HASH_INT(i) ((JSHashNumber)(i))
#define HASH_DOUBLE(dp) ((JSHashNumber)(JSDOUBLE_HI32(*dp) ^ JSDOUBLE_LO32(*dp))) #define HASH_DOUBLE(dp) ((JSDOUBLE_HI32(*dp) ^ JSDOUBLE_LO32(*dp)))
#define HASH_BOOLEAN(b) ((JSHashNumber)(b)) #define HASH_BOOLEAN(b) ((JSHashNumber)(b))
JS_STATIC_DLL_CALLBACK(JSHashNumber) JS_STATIC_DLL_CALLBACK(JSHashNumber)

Просмотреть файл

@ -95,14 +95,14 @@ struct JSAtomListElement {
}; };
#define ALE_ATOM(ale) ((JSAtom *) (ale)->entry.key) #define ALE_ATOM(ale) ((JSAtom *) (ale)->entry.key)
#define ALE_INDEX(ale) ((jsatomid) (ale)->entry.value) #define ALE_INDEX(ale) ((jsatomid) JS_PTR_TO_UINT32((ale)->entry.value))
#define ALE_JSOP(ale) ((JSOp) (ale)->entry.value) #define ALE_JSOP(ale) ((JSOp) (ale)->entry.value)
#define ALE_VALUE(ale) ((jsval) (ale)->entry.value) #define ALE_VALUE(ale) ((jsval) (ale)->entry.value)
#define ALE_NEXT(ale) ((JSAtomListElement *) (ale)->entry.next) #define ALE_NEXT(ale) ((JSAtomListElement *) (ale)->entry.next)
#define ALE_SET_ATOM(ale,atom) ((ale)->entry.key = (const void *)(atom)) #define ALE_SET_ATOM(ale,atom) ((ale)->entry.key = (const void *)(atom))
#define ALE_SET_INDEX(ale,index)((ale)->entry.value = (void *)(index)) #define ALE_SET_INDEX(ale,index)((ale)->entry.value = JS_UINT32_TO_PTR(index))
#define ALE_SET_JSOP(ale,op) ((ale)->entry.value = (void *)(jsuword)(op)) #define ALE_SET_JSOP(ale,op) ((ale)->entry.value = JS_UINT32_TO_PTR(op))
#define ALE_SET_VALUE(ale,val) ((ale)->entry.value = (JSHashEntry *)(val)) #define ALE_SET_VALUE(ale,val) ((ale)->entry.value = (JSHashEntry *)(val))
#define ALE_SET_NEXT(ale,link) ((ale)->entry.next = (JSHashEntry *)(link)) #define ALE_SET_NEXT(ale,link) ((ale)->entry.next = (JSHashEntry *)(link))

Просмотреть файл

@ -355,7 +355,7 @@ resolving_HashKey(JSDHashTable *table, const void *ptr)
{ {
const JSResolvingKey *key = (const JSResolvingKey *)ptr; const JSResolvingKey *key = (const JSResolvingKey *)ptr;
return ((JSDHashNumber)key->obj >> JSVAL_TAGBITS) ^ key->id; return ((JSDHashNumber)JS_PTR_TO_UINT32(key->obj) >> JSVAL_TAGBITS) ^ key->id;
} }
JS_PUBLIC_API(JSBool) JS_PUBLIC_API(JSBool)

Просмотреть файл

@ -91,7 +91,7 @@ JS_DHashGetKeyStub(JSDHashTable *table, JSDHashEntryHdr *entry)
JS_PUBLIC_API(JSDHashNumber) JS_PUBLIC_API(JSDHashNumber)
JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key) JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key)
{ {
return (JSDHashNumber)key >> 2; return (JSDHashNumber)(unsigned long)key >> 2;
} }
JS_PUBLIC_API(JSBool) JS_PUBLIC_API(JSBool)

Просмотреть файл

@ -371,7 +371,7 @@ js_SetProtoOrParent(JSContext *cx, JSObject *obj, uint32 slot, JSObject *pobj)
JS_STATIC_DLL_CALLBACK(JSHashNumber) JS_STATIC_DLL_CALLBACK(JSHashNumber)
js_hash_object(const void *key) js_hash_object(const void *key)
{ {
return (JSHashNumber)key >> JSVAL_TAGBITS; return (JSHashNumber)JS_PTR_TO_UINT32(key) >> JSVAL_TAGBITS;
} }
static JSHashEntry * static JSHashEntry *
@ -400,7 +400,8 @@ MarkSharpObjects(JSContext *cx, JSObject *obj, JSIdArray **idap)
he = *hep; he = *hep;
if (!he) { if (!he) {
sharpid = 0; sharpid = 0;
he = JS_HashTableRawAdd(table, hep, hash, obj, (void *)sharpid); he = JS_HashTableRawAdd(table, hep, hash, obj,
JS_UINT32_TO_PTR(sharpid));
if (!he) { if (!he) {
JS_ReportOutOfMemory(cx); JS_ReportOutOfMemory(cx);
return NULL; return NULL;
@ -454,10 +455,10 @@ MarkSharpObjects(JSContext *cx, JSObject *obj, JSIdArray **idap)
if (!ok) if (!ok)
return NULL; return NULL;
} else { } else {
sharpid = (jsatomid) he->value; sharpid = JS_PTR_TO_UINT32(he->value);
if (sharpid == 0) { if (sharpid == 0) {
sharpid = ++map->sharpgen << SHARP_ID_SHIFT; sharpid = ++map->sharpgen << SHARP_ID_SHIFT;
he->value = (void *) sharpid; he->value = JS_UINT32_TO_PTR(sharpid);
} }
ida = NULL; ida = NULL;
} }
@ -533,7 +534,7 @@ js_EnterSharpObject(JSContext *cx, JSObject *obj, JSIdArray **idap,
} }
} }
sharpid = (jsatomid) he->value; sharpid = JS_PTR_TO_UINT32(he->value);
if (sharpid == 0) { if (sharpid == 0) {
*sp = NULL; *sp = NULL;
} else { } else {

Просмотреть файл

@ -235,11 +235,11 @@ struct JSSharpObjectMap {
#define SHARP_BIT ((jsatomid) 1) #define SHARP_BIT ((jsatomid) 1)
#define BUSY_BIT ((jsatomid) 2) #define BUSY_BIT ((jsatomid) 2)
#define SHARP_ID_SHIFT 2 #define SHARP_ID_SHIFT 2
#define IS_SHARP(he) ((jsatomid)(he)->value & SHARP_BIT) #define IS_SHARP(he) (JS_PTR_TO_UINT32((he)->value) & SHARP_BIT)
#define MAKE_SHARP(he) ((he)->value = (void*)((jsatomid)(he)->value|SHARP_BIT)) #define MAKE_SHARP(he) ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)|SHARP_BIT))
#define IS_BUSY(he) ((jsatomid)(he)->value & BUSY_BIT) #define IS_BUSY(he) (JS_PTR_TO_UINT32((he)->value) & BUSY_BIT)
#define MAKE_BUSY(he) ((he)->value = (void*)((jsatomid)(he)->value|BUSY_BIT)) #define MAKE_BUSY(he) ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)|BUSY_BIT))
#define CLEAR_BUSY(he) ((he)->value = (void*)((jsatomid)(he)->value&~BUSY_BIT)) #define CLEAR_BUSY(he) ((he)->value = JS_UINT32_TO_PTR(JS_PTR_TO_UINT32((he)->value)&~BUSY_BIT))
extern JSHashEntry * extern JSHashEntry *
js_EnterSharpObject(JSContext *cx, JSObject *obj, JSIdArray **idap, js_EnterSharpObject(JSContext *cx, JSObject *obj, JSIdArray **idap,

Просмотреть файл

@ -2588,7 +2588,7 @@ js_NewStringCopyZ(JSContext *cx, const jschar *s, uintN gcflag)
JS_STATIC_DLL_CALLBACK(JSHashNumber) JS_STATIC_DLL_CALLBACK(JSHashNumber)
js_hash_string_pointer(const void *key) js_hash_string_pointer(const void *key)
{ {
return (JSHashNumber)key >> JSVAL_TAGBITS; return (JSHashNumber)JS_PTR_TO_UINT32(key) >> JSVAL_TAGBITS;
} }
void void

Просмотреть файл

@ -208,6 +208,19 @@
#define JS_BIT(n) ((JSUint32)1 << (n)) #define JS_BIT(n) ((JSUint32)1 << (n))
#define JS_BITMASK(n) (JS_BIT(n) - 1) #define JS_BITMASK(n) (JS_BIT(n) - 1)
/***********************************************************************
** MACROS: JS_PTR_TO_INT32
** JS_PTR_TO_UINT32
** JS_INT32_TO_PTR
** JS_UINT32_TO_PTR
** DESCRIPTION:
** Integer to pointer and pointer to integer conversion macros.
***********************************************************************/
#define JS_PTR_TO_INT32(x) ((jsint)((char *)(x) - (char *)0))
#define JS_PTR_TO_UINT32(x) ((jsuint)((char *)(x) - (char *)0))
#define JS_INT32_TO_PTR(x) ((void *)((char *)0 + (jsint)(x)))
#define JS_UINT32_TO_PTR(x) ((void *)((char *)0 + (jsuint)(x)))
/*********************************************************************** /***********************************************************************
** MACROS: JS_HOWMANY ** MACROS: JS_HOWMANY
** JS_ROUNDUP ** JS_ROUNDUP