Commit Graph

174 Commits

Author SHA1 Message Date
Jeff Walden
5d3f01c937 Bug 953296 - Implement mozilla::NullptrT as a typedef to use to accept nullptr values. Also add mozilla::IsNullPointer<T>, a trait for detecting *only* true nullptr (emulated nullptr [__null] used by gcc 4.4/4.5 isn't true nullptr). r=ehsan
Generally, if you want a decltype(nullptr)-based overload, you should use SFINAE and IsNullPointer.  (Examples are provided in NullPtr.h comments.)  The problem is NullptrT matches far more than just __null as emulated nullptr for gcc 4.4/4.5 overloading purposes.  This problem is unavoidable without true nullptr.  Currently, the only valid use for NullptrT is believed to be in operator overloads.  All existing nullptr-overloading code has been rewritten to use the appropriate technique for the situation, and MOZ_HAVE_CXX11_NULLPTR is no longer an API.

--HG--
extra : rebase_source : 01abfcb66ae569db7b04a7b53f5cd5fd8151bffd
2014-01-02 17:27:41 -06:00
Daniel Holbert
4908bbab5e Bug 926275: Remove mozalloc_macro_wrappers.h and mozalloc_undef_macro_wrappers.h. r=bsmedberg 2013-10-31 19:39:03 -07:00
Ehsan Akhgari
b7d148db05 Bug 895047 - Make char16_t available everywhere and use that to define PRUnichar and jschar; r=jcranmer,jorendorff,glandium 2013-10-17 00:36:13 -04:00
Phil Ringnalda
b808ef7069 Back out ee100983f921 (bug 895047) for build bustage
CLOSED TREE
2013-10-16 21:51:55 -07:00
Ehsan Akhgari
5582e7b472 Bug 895047 - Make char16_t available everywhere and use that to define PRUnichar and jschar; r=jcranmer,jorendorff,glandium 2013-10-17 00:36:13 -04:00
Joshua Cranmer
69250ebe86 Bug 904985, part 2: Use char16_t for NS_LITERAL_STRING, r=glandium, dbaron.
--HG--
extra : rebase_source : b4c9def93d907724fb4a1bc3f6279db87a11fb1f
2013-09-17 22:43:12 -05:00
Ehsan Akhgari
ef4b479714 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Mike Hommey
3af66c5a46 Bug 895083 - Set NS_STDCALL to nothing on WIN64. r=ehsan 2013-07-21 13:59:05 +09:00
Ehsan Akhgari
67b7df59f8 Bug 895083 - Don't #define NS_HAVE_STDCALL on Win64 because __stdcall will just get ignored there by the compiler. r=vlad 2013-07-18 10:17:13 -04:00
Benoit Girard
41b1df67ba Bug 838803 - Remove HAVE_STDCALL to work around clang bug. r=glandium
--HG--
extra : rebase_source : e1cdb524a4f7f0742f2051e5915e5e21db4c0423
2013-07-16 22:01:50 -04:00
Benoit Girard
be559fe75a Bug 892861 - Remove useless -D flags 'IMPL_THEBES,_IMPL_NS_GFX,...'. r=glandium 2013-07-12 08:56:54 -04:00
Catalin Iacob
6f4758d23e Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Joshua Cranmer
dcb93daf4b Bug 856108 - Port static analyses to clang, part 3: Remove NS_STACK_CLASS. r=bsmedberg 2013-04-11 22:22:44 -05:00
Joshua Cranmer
5765d5aec4 Bug 767563 - Add a clang static checker, part 3: Move the MOZ_MUST_OVERRIDE macro to MFBT. r=Waldo 2013-03-23 21:14:43 -05:00
Jeff Walden
d6e63dc265 Bug 836438 - Always implement nsresult using an unsigned 32-bit integer type. r=ehsan
--HG--
extra : rebase_source : f9d9d7772decee36a27ef09eb018b9912bf7bf6b
2013-01-30 15:32:44 -08:00
Trevor Saunders
801c9b79ba bug 822717 - remove checks for old gcc r=glandium 2012-12-18 13:22:28 -05:00
Jacek Szpot
761b11160f Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Aryeh Gregor
93caa9fc7e Bug 777292 - Make nsresult an enum; r=ehsan,cjones,bsmedberg 2012-08-07 11:27:45 +03:00
Jeff Muizelaar
9d45f08968 Bug 782647. Move the nullptr workaround macros to MFBT so that it can be shared. r=waldo
This also changes the header to use compiler detection instead of a
configure test. This makes the header more portable because
it doesn't require the configure infrastructure.
2012-09-01 16:16:17 -04:00
Ehsan Akhgari
f4a93b7422 Bug 788014 - Part 2: Reduce the inclusion of prtypes.h in the tree to help using stdint types; r=jrmuizel
--HG--
extra : rebase_source : 66b3b6b9858fb032bebcc070347f781bdf61770c
2012-09-06 17:54:59 -04:00
Ehsan Akhgari
f75e672ac4 Bug 788014 - Part 1: Define nsrefcnt to be unsigned long unconditionally on Windows; r=jrmuizel
On Windows, IUknown::AddRef and IUnknown::Release are defined to
return ULONG, which is defined as unsigned long.  The existing
code relies on the PR_BYTES_PER_LONG macro which is #defined in
prtypes.h to always be 4 on Windows.  If we remove the prtypes.h
inclusion from nscore.h, in the places where prtypes.h is not
included by other things, we will fall into the other path in the
#ifdef condition which defines nsrefcnt to be unsigned int, which
causes the signature of AddRef and Release to change, which
results in linker errors.

There are a couple of reasons why this change is correct:

1. On both Win32 and Win64, the size of the long type is 4 bytes,
always.  And prtypes.h doesn't detect the size of longs, it just
assumes it, so this check is really a tautology.
2. If the size of the long type changes on Windows, sometime,
the return value of AddRef and Release on Windows should change
size as well in order to maintain binary compatibility with
IUnknown, and before this change, the code would fail to hold
that promise.

--HG--
extra : rebase_source : 8333582b494aaca17c91cf35287a084083219050
2012-09-07 15:09:01 -04:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
a88ffe5c80 Bug 626472 part 3 - Remove nsnull for good; r=ehsan 2012-08-12 13:43:47 +03:00
Chris Peterson
009018e502 Bug 777511 - #define nullptr __null for gcc <= 4.5. r=ehsan
--HG--
extra : rebase_source : dd24e15d4b271d7ae1f604b6d7e4d0e76f614f40
2012-07-26 15:29:18 -07:00
Joshua Cranmer
497e7cd9bb Bug 773637 - Kill NS_SCRIPTABLE attributes, Part 2: Remove NS_SCRIPTABLE. r=ehsan
--HG--
extra : rebase_source : 83020e0a1961ed5b33d5e0599419c6b7b82caa87
2012-07-06 15:31:49 -05:00
Joshua Cranmer
a1186c1020 Bug 773637 - Kill NS_SCRIPTABLE annotations, Part 1: Remove NS_*PARAM annotations. r=ehsan
--HG--
extra : rebase_source : a0b4bc50fece36d9a90fed61431635948bfa33b5
2012-07-06 15:14:07 -05:00
Joshua Cranmer
d539846cab Bug 702877 - Replace NS_OVERRIDE with MOZ_OVERRIDE. r=ehsan
--HG--
extra : rebase_source : 1843575683c3897f96f3966cbce26140ff1a7d90
2012-07-06 13:15:45 -05:00
Aryeh Gregor
65eef91085 Bug 626472 part 1 - Define nsnull as nullptr where available; r=ehsan 2012-07-20 14:16:17 +03:00
Jeff Muizelaar
cd56fffd20 Bug 771317. Fix comment about FASTCALL and inline functions. r=espindola
Calling convention does not make a difference on functions that are inlined,
but that feels obvious because no call is being made. Inline functions are not
necessarily inlined so this comment is somewhat misleading.

--HG--
extra : rebase_source : f634f18d1a6669147f53162a7bc0ab08b145cc43
2012-07-05 17:38:30 -04:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mark Capella
bb0cb90d39 Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Nicholas Nethercote
7559a70a04 Bug 715453 - Remove computedSize from nsMallocSizeOfFun. r=jlebar,bhackett.
--HG--
extra : rebase_source : a65039a407daab45360a5b375b53cbf1bc05b7f6
2012-01-25 00:52:51 -08:00
Makoto Kato
5c0c388ba9 Bug 715045 - Remove old vc support code. r=jimm 2012-01-05 16:52:22 +09:00
Makoto Kato
6134979a79 Bug 712198 - Remove NS_WIN32, NS_UNIX and NS_OS2. r=khuey 2011-12-21 14:09:17 +09:00
Andrew Quartey
6fe0fd072a Bug 706010 - Remove NS_SPECIALIZE_TEMPLATE and HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX; r=khuey a=cleanup/removal 2011-12-13 14:17:59 +00:00
Jeff Walden
84471e527a Bug 707352 - Remove NS_FINAL_CLASS completely. r=cjones 2011-12-05 17:10:05 -05:00
Nicholas Nethercote
6c6258e659 Bug 698968 - Add mallocSizeOf functions and start using them. r=jlebar,bhackett,jfkthame, sr=bz. 2011-11-27 19:03:14 -08:00
Jonathan Watt
66f54fe5a4 Bug 695303 - Add a mozilla::clamped function to replace NS_CLAMP (so side affects of args are evaluated no more than once) and NS_MIN(max, NS_MAX(val, min)) (to make code clearer). r=bsmedberg. 2011-10-28 19:33:28 +01:00
Ehsan Akhgari
92064e6d3f Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Rafael Ávila de Espíndola
16f77da63f Bug 682066 - Drop NS_DEFCALL. r=benjamin.
Having NS_DEFCALL around causes problems for clang since it uses
the regpart attribute when deciding template instantiations. In
particular, it would not use the generic method specialization of
nsRunnableMethodTraits.
2011-08-30 14:22:00 -04:00
Matheus Kerschbaum
5a0a7c6411 Bug 680625 part 0: Remove checks and workarounds for 20th century compilers. r=ted 2011-08-26 00:35:13 +01:00
Matheus Kerschbaum
8a4cb927fd Bug 678155 - Remove NS_COM. r=bsmedberg 2011-08-18 15:46:39 +02:00
Jesse Ruderman
02491c57ba Bug 659825 - Rename NS_DEPRECATED to MOZ_DEPRECATED to avoid conflict with Mac 10.7 SDK. r=jcranmer sr=bsmedberg 2011-06-08 09:34:02 +02:00
Matheus Kerschbaum
6eb93f7dd3 Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
Jacek Caban
5eafd1843f Bug 614631 - Macros for SEH exception depending on compiler configuration r+a=benjamin 2011-01-11 10:16:59 +00:00
Walter Meinl
859a94a18d Bug 577011 - [OS/2] make _declspec unconditionally default symbol export r=daveryeo@telus.net a=benjamin
--HG--
extra : rebase_source : f73a926174bd7905f177b2e914492e42b90ac8c0
2010-11-09 11:13:03 +01:00
Saint Wesonga
3a14ffd62c Bug 581479 - Convert C++ style comment. r=benjamin, a=comment-only 2010-08-08 17:06:35 +02:00
Benjamin Smedberg
013eba5ec7 Bug 573268 - The XPTI rewrite caused an (intentional) leak at shutdown; free this data only in trace-malloc builds so that leakstats are still useful. r=dbaron 2010-07-14 13:09:42 -04:00
Jacek Caban
4bf278c5e9 Bug 569547 - fastcall useless on win64. r=benjamin 2010-06-14 12:12:48 +02:00
Philip Prindeville
94c342007d Bug 529921 browser part. Implement core support for RFC-2597/2598/3168 Quality-of-Service (DSCP) marking. r=biesi 2010-06-02 22:25:01 -04:00