Bug 708735 - Really remove the uint32/JSUint32 typedefs now that all users have been fully corrected. r=luke, r=dmandelin from the original change, landing in a CLOSED TREE (which can open now!)

This commit is contained in:
Jeff Walden 2011-12-16 10:00:08 -05:00
Родитель 96ba842741
Коммит 8b6d055454
3 изменённых файлов: 67 добавлений и 1 удалений

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

@ -70,6 +70,7 @@ CPPSRCS = \
testGetPropertyDefault.cpp \
testIndexToString.cpp \
testIntString.cpp \
testIntTypesABI.cpp \
testIntern.cpp \
testLookup.cpp \
testLooselyEqual.cpp \

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

@ -0,0 +1,65 @@
#include "tests.h"
/*
* This test exercises the full, deliberately-exposed JSAPI interface to ensure
* that no internal integer typedefs leak out. Include every intentionally
* public header file (and those headers included by them, for completeness),
* even the ones tests.h itself included, to verify this.
*/
#include "js-config.h"
#include "jsapi.h"
#include "jsclass.h"
#include "jscompat.h"
#include "jscpucfg.h"
#include "jspubtd.h"
#include "jsstdint.h"
#include "jstypes.h"
#include "jsval.h"
#include "jsxdrapi.h"
#include "js/HashTable.h"
#include "js/TemplateLib.h"
#include "js/Utility.h"
#include "js/Vector.h"
/*
* Verify that our public (and intended to be public, versus being that way
* because we haven't made them private yet) headers don't define
* {u,}int{8,16,32,64} or JS{Ui,I}nt{8,16,32,64} types. If any do, they will
* assuredly conflict with a corresponding typedef below mapping to a *struct*.
*
* Note that tests.h includes a few internal headers; in order that this
* jsapi-test be writable, those internal headers must not import the legacy
* typedefs.
*/
struct ConflictingType {
uint64_t u64;
};
typedef ConflictingType uint8;
typedef ConflictingType uint16;
typedef ConflictingType uint32;
typedef ConflictingType uint64;
typedef ConflictingType int8;
typedef ConflictingType int16;
typedef ConflictingType int32;
typedef ConflictingType int64;
typedef ConflictingType JSUint8;
typedef ConflictingType JSUint16;
typedef ConflictingType JSUint32;
typedef ConflictingType JSUint64;
typedef ConflictingType JSInt8;
typedef ConflictingType JSInt16;
typedef ConflictingType JSInt32;
typedef ConflictingType JSInt64;
BEGIN_TEST(testIntTypesABI)
{
/* This passes if the typedefs didn't conflict at compile time. */
return true;
}
END_TEST(testIntTypesABI)

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

@ -44,7 +44,7 @@
* JavaScript API.
*/
#include "js/LegacyIntTypes.h"
#include "mozilla/StdInt.h"
#include <stddef.h>
#include <stdio.h>