Commit Graph

10 Commits

Author SHA1 Message Date
Uli Link
094757ed9b Bug 537784: [AIX] Build bustage in js/src/jsstdint.h r=ted 2010-03-06 12:59:41 -05:00
Graydon Hoare
83d572eefa Bug 519856 - NJ merge: move VMPI stuff from avmplus, r=jimb.
--HG--
extra : rebase_source : 69e1cbe19f88dfa6ca5e54dada3d961de4cb82bb
2009-09-30 17:45:17 -07:00
David Mandelin
99fb23d064 Bug 511695: Fix JS warnings in MSVC8, r=brendan 2009-09-23 11:16:30 -07:00
Jeff Walden
f0654601f8 Bug 516623 - Followups to change signed-type overflow to unsigned-type overflow, because only the latter has defined behavior. r=mrbkap 2009-09-15 12:15:10 -07:00
Jeff Walden
23423d9733 Fxi tpyo 2009-09-11 11:53:00 -07:00
Jeff Walden
484c2f1212 Bug 504233 - Add SIZE_MAX, etc. #defines to SpiderMonkey. r=jimb 2009-07-15 15:59:25 -07:00
David Mandelin
cfb0d1fd1b Bug 506821: clean up trailing whitespace, r=brendan 2009-07-27 18:40:12 -07:00
Jim Blandy
9391012cb0 Bug 479258: Don't define <stdint.h> types in public headers. r=brendan
On systems that don't have <stdint.h> (i.e., Microsoft, which is
tragically underfunded and cannot spare the resources necessary to
provide and support this header: http://tinyurl.com/absoh8),
SpiderMonkey header files should not introduce definitions for these
types, as doing so may conflict with client code's attempts to provide
its own definitions for these types.

Instead, have jstypes.h define JS{Int,Uint}{8,16,32,64,Ptr} types
based on configure's results, and make jsstdint.h into an uninstalled
header for use within SpiderMonkey that does whatever is necessary to
get definitions for the <stdint.h> types.

The changes to make the appropriate SpiderMonkey .cpp files #include
"jsstdint.h" explicitly are in a separate patch, for ease of review.
2009-03-18 11:38:15 -07:00
Jim Blandy
9746bd2c6d Bug 461841: Use configure-defined macros in #ifdefs for WinCE in js/src. r=crowder
Perform the appropriate configure-time tests, and hard-code the
answers for targets that don't support autoconf-style tests.  Check
for the io.h header, and the setbuf and isatty library functions.

In js/src/xpconnect/shell/xpcshell.cpp, use configure-#defined
preprocessor symbols to decide what to #include and use.  The
top-level configure script defines the preprocessor symbols used here.

In js/src/prmjtime.cpp, use them to select the appropriate method for
retrieving fine-grained time information for Windows and WinCE.  The
js/src/configure script defines the preprocessor symbols used here.

(This should cover the issues addressed by patch.v2 in bug 461841,
except for the stdint issue.)
2009-01-16 14:10:48 -08:00
Jim Blandy
a04892f62e Bug 465640: Use autoconf to declare stdint types on platforms that don't have stdint.h r=bsmedberg
At configure time, check for <stdint.h>.  If we don't have it, find
integer types of various sizes.  On Windows, where we can't run
compilation tests in configure, hard-code definitions suggesting the
use of the built-in __intN types for the exact-size types, and
<stddef.h> for the pointer-sized types.

Use namespace-clean names for the preprocessor macros we define.
Since these types are used in the public JavaScript API, the configure
script needs to place the definitions it finds in js-config.h, the
installed configure-generated header, so it can be used by jsapi.h and
that gang.

New header js/src/jsstdint.h does what it takes to get definitions for
the exact-size and pointer-size integral types.  It includes
<stdint.h> when available, uses the types found by configure.in to
define the {,u}int{8,16,32,64,ptr}_t types itself, or uses the __intN
types and the <stddef.h> header.

Remove now-unnecessary and possibly conflicting definitions of intN_t
types from js/src/nanojit/avmplus.h.
2009-01-13 10:50:24 -08:00