зеркало из https://github.com/mozilla/gecko-dev.git
Fixing bug 265174. Quiet down compiler warnings on Linux x86_64. r+sr=brendan@mozilla.org
This commit is contained in:
Родитель
c1fecc9129
Коммит
0472c0073e
|
@ -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
|
||||||
|
|
Загрузка…
Ссылка в новой задаче