Nathan Froyd
a6e810d1ba
Bug 976161 - delete dead NSCAP_DISABLE_TEST_DONTQUERY_CASES code; r=bsmedberg
2014-02-24 13:02:43 -05:00
Jeff Walden
b01c238639
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
Birunthan Mohanathas
4dce3f3fa6
Bug 784739 - Switch from NULL to nullptr in xpcom/ (2/3); r=ehsan
2013-10-10 16:41:39 -04:00
Ehsan Akhgari
5ee21d6d3f
Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
...
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:
# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type
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 "*.cc" \
-o -iname "*.mm" \) | \
xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
modules/libmar/src/mar_private.h \
modules/libmar/src/mar.h
# assert_replacer.py
#!/usr/bin/python
import sys
import re
pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")
def replaceInPlace(fname):
print fname
f = open(fname, "rw+")
lines = f.readlines()
for i in range(0, len(lines)):
while True:
index = re.search(pattern, lines[i])
if index != None:
index = index.start()
lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
for j in range(i + 1, len(lines)):
if lines[j].find(" ", index) == index:
lines[j] = lines[j][0:index] + lines[j][index+4:]
else:
break
else:
break
f.seek(0, 0)
f.truncate()
f.write("".join(lines))
f.close()
argc = len(sys.argv)
for i in range(1, argc):
replaceInPlace(sys.argv[i])
--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Ms2ger
db26bfced0
Bug 213324 - Remove getter_AddRefs(T*); r=ehsan
2013-07-10 11:56:21 +02:00
Aryeh Gregor
99703ffbe7
Bug 859817 - Eliminate implicit conversion from raw pointer to already_AddRefed; r=bz sr=bsmedberg
2013-04-10 17:22:53 +03:00
Aryeh Gregor
659b807986
Bug 859817 - Remove implicit conversions from raw pointer to already_AddRefed; r=Ms2ger
2013-04-22 14:15:59 +03:00
Aryeh Gregor
eecc44edc5
Bug 859817 - Introduce already_AddRefed.downcast(); r=ehsan
2013-04-21 14:56:06 +03:00
Joshua Cranmer
a74766f285
Bug 856108 - Port static analyses to clang, part 2f: use MOZ_STACK_CLASS in xpcom. r=bsmedberg
2013-04-11 22:21:40 -05:00
Boris Zbarsky
07a59e8ded
Bug 857645. Make it possible to copy-initialize an nsCOMPtr<T> from an already_AddRefed<U> as long as U inherits from T. r=ehsan
2013-04-03 22:33:34 -04:00
Phil Ringnalda
177cee569f
Back out 8396d7543197 (bug 857645) for build bustage
...
CLOSED TREE
2013-04-04 22:27:19 -07:00
Boris Zbarsky
05d3fe3059
Bug 857645. Make it possible to copy-initialize an nsCOMPtr<T> from an already_AddRefed<U> as long as U inherits from T. r=ehsan
2013-04-05 00:57:39 -04:00
Trevor Saunders
e3b2aa92a5
bug 822717 - remove checks for old gcc r=glandium
2012-12-18 13:22:28 -05:00
Benoit Jacob
ee1217da86
Bug 806279 - CC macros refactoring: part 3: fold the TRAVERSE_NATIVE and AMBIGUOUS cases - r=mccr8,smaug
2012-11-15 02:32:39 -05:00
Benoit Jacob
4a50000d0e
Bug 806279 - CC macros refactoring: part 1: implement type-generic CC UNLINK/TRAVERSE macros - r=mccr8,smaug
2012-11-15 02:32:39 -05:00
Makoto Kato
222556a3d5
Bug 786579 - Remove old MSVC (<=2003) support. r=khuey
2012-09-28 16:02:40 +09:00
Joshua Cranmer
4b8f318e78
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
Ehsan Akhgari
04e53539b4
Backout changeset 34c8a2369cbc (bug 771266) because the fastcall annotation actually matters
2012-07-05 18:19:07 -04:00
Ehsan Akhgari
910d251f2f
Bug 771266 - Part 2: Remove the fastcall annotation from ~nsCOMPtr_base, because it doesn't mean anything now that it's inline; irc-r=Neil
2012-07-05 16:26:59 -04:00
Ehsan Akhgari
32a035f454
Bug 771266 - Inline nsCOMPtr_base's destructor; r=jlebar
2012-07-05 15:12:13 -04:00
L. David Baron
9e9f3a474a
Back out half of the previous patch for bug 709747, since the nsCOMPtr<nsISupports>::forget(nsISupports**) specialization is substantially different from nsCOMPtr<T>::forget(I**), and uses swap which already does the needed logging.
2012-06-29 22:50:45 -07:00
Kyle Huey
08ad5220dd
Bug 709747: Fix COMPtr logging for .forget(). r=dbaron
2012-06-29 10:10:31 -07:00
Jonathan Watt
6380335603
Bug 767388 - Kill NS_DEBUG. r=bz.
...
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Gervase Markham
ca171eec44
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Marco Bonardo
13014e7f1c
Bug 718999 - make "You can't dereference a NULL nsCOMPtr" assertions fatal.
...
r=bsmedberg
2012-01-24 20:37:48 +01:00
Ms2ger
87dae851e7
Bug 709747 - Support nsCOMPtr<T>::forget(I**); r=bsmedberg
2011-12-18 10:39:22 +01:00
Ehsan Akhgari
a544dace2d
Bug 710473 - Backout the nsDerivedSafe part from bug 666414 to make PGO builds on Windows work again; r=roc (cause he volunteered) a=xul-diet
2011-12-13 20:03:24 -05:00
Andrew Quartey
faa8be8d82
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
3d8e7a0d23
Bug 707352 - Remove NS_FINAL_CLASS completely. r=cjones
2011-12-05 17:10:05 -05:00
Jeff Walden
19f38bafe5
Bug 704127 - Implement MOZ_FINAL as a modifier for classes and virtual member functions. r=cjones
...
--HG--
extra : rebase_source : d95a3b3e726f810f299314358ba8c5e23557698e
2011-11-20 22:21:16 -08:00
Ehsan Akhgari
7e4b277a75
Bug 689397 - Work around the broken-ness of gcc4.2 on Mac which causes the protection implemented in bug 666414 not take effect; r=bsmedberg
2011-09-26 20:45:25 -04:00
Aditya Bhatt
126fa835f9
Bug 689301 - Compile error in nsTimerImpl.cpp with gcc 4.6.0 on Fedora core 15 x64; r=espindola
2011-09-27 17:11:03 -04:00
Ehsan Akhgari
b542efd4e6
Bug 666414 - Prevent AddRef and Release from being called on the pointers wrapped in nsCOMPtr and nsRefPtr; r=bsmedberg
2011-09-16 16:22:44 -04:00
Matheus Kerschbaum
3bcb2143b6
Bug 680625 part 0b: Remove more workarounds for past century compilers. r=ted
2011-08-26 00:35:13 +01:00
Chris Jones
ccb97b45d7
Bug 570912: Allow already_AddRefed<T> to be coerced to already_AddRefed<U> when T can be coerced to U. r=dbaron
2010-06-21 15:35:49 -05:00
Boris Zbarsky
e02c1954a4
Bug 523651. Add a CallQueryInterface that works well with nsCOMPtr. r=bsmedberg
2009-10-23 16:24:47 -04:00
Peter Van der Beken
5027e033b5
Fix for bug 481677 (Avoid hash lookups in XPCWrappedNative::GetNewOrUsed). r=bz, sr=jst.
...
--HG--
extra : rebase_source : 6062975766022118372d2e52f81659f87276b8ec
2009-03-18 19:02:48 +01:00
Peter Van der Beken
69e9aba8c8
Backing out f385e435c082, fix for bug 481677 (Avoid hash lookups in XPCWrappedNative::GetNewOrUsed), to try to fix orange.
2009-03-19 14:05:26 +01:00
Peter Van der Beken
f6b313dc83
Fix for bug 481677 (Avoid hash lookups in XPCWrappedNative::GetNewOrUsed). r=bz, sr=jst.
...
--HG--
extra : rebase_source : 9e25f0d56df57d65559e18acd49412e3e164821e
2009-03-18 19:02:48 +01:00
Benjamin Smedberg
8e93542d35
Bug 469072 - Annotations in XPCOM, and a couple related code fixups, to make outparams spit out useful warnings, r=bent
2008-12-11 15:13:52 -05:00
Henry Jia
2b7c0d663c
Bug 178189 - |nsCOMPtr|: do we still care about VC++4.2? and if not, can we remove this comment; r=(scc + benjamin)
2008-09-29 00:17:30 +02:00
Benjamin Smedberg
e8fa485944
From bug 449561, bug 445949, and others: let's just ditch nsDerivedSafe since the class of errors it's trying to protect against are uncommon in today's world. r=dbaron
2008-08-11 11:05:58 -04:00
benjamin@smedbergs.us
27523547f0
Bug 419624 - Build framework, basic usage, and testsuite for statically checking the codebase using gcc-dehydra, r=luser,dbaron,tglek
2008-02-27 11:28:13 -05:00
bent.mozilla@gmail.com
28d1174ece
Bug 396369 - "Overload forget method on nsCOMPtr/nsRefPtr to work with out parameters". r=dbaron, sr=bsmedberg, a=damons.
2007-11-11 10:56:45 -08:00
cbarrett@mozilla.com
9cfd810589
Typo fix and poking tinderbox. No bug.
2007-10-29 22:51:33 -07:00
jwalden@mit.edu
f57320c98b
Bug 348748 - Cleanup from the handful of patches which have landed since the initial landing that have readded cast macros; I intend to remove the rest of the instances Very Soon, all but certainly before the M8 freeze, so the macro definitions can be removed, again all but certainly before the M8 freeze, if people are okay with them being removed. Still r=bsmedberg, a=no-functionality-change
2007-09-04 23:41:35 -07:00
bent.mozilla@gmail.com
c1a27644d9
Bug 392493 - "Add forget() method to nsCOMPtr and nsRefPtr". r=dbaron, a=bzbarsky.
2007-08-28 16:37:22 -07:00
jwalden@mit.edu
e3c4baccae
Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros.
2007-07-08 00:08:04 -07:00
neil@parkwaycc.co.uk
06fbbde8b2
Slightly safer and neater fix for strict aliasing bug 351231 r+sr=dbaron
2007-03-23 13:26:20 -07:00
hg@mozilla.com
465265d0d4
Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT,
2007-03-22 10:30:00 -07:00