Commit Graph

172 Commits

Author SHA1 Message Date
Birunthan Mohanathas
0cfca404c5 Bug 784739 - Switch from NULL to nullptr in xpcom/ (2/3); r=ehsan 2013-10-10 16:41:39 -04:00
Ehsan Akhgari
2824b29025 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
1a40020bdd Bug 213324 - Remove getter_AddRefs(T*); r=ehsan 2013-07-10 11:56:21 +02:00
Aryeh Gregor
52b3c9c146 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
f0404a303a Bug 859817 - Remove implicit conversions from raw pointer to already_AddRefed; r=Ms2ger 2013-04-22 14:15:59 +03:00
Aryeh Gregor
2223e977f2 Bug 859817 - Introduce already_AddRefed.downcast(); r=ehsan 2013-04-21 14:56:06 +03:00
Joshua Cranmer
c8f20f3eb1 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
94ecd538e8 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
f827800026 Back out 8396d7543197 (bug 857645) for build bustage
CLOSED TREE
2013-04-04 22:27:19 -07:00
Boris Zbarsky
0611604263 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
801c9b79ba bug 822717 - remove checks for old gcc r=glandium 2012-12-18 13:22:28 -05:00
Benoit Jacob
7cc7c472e5 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
6d7beedec6 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
3acf1dcf48 Bug 786579 - Remove old MSVC (<=2003) support. r=khuey 2012-09-28 16:02:40 +09: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
Ehsan Akhgari
1bdfc194e2 Backout changeset 34c8a2369cbc (bug 771266) because the fastcall annotation actually matters 2012-07-05 18:19:07 -04:00
Ehsan Akhgari
5906a56d51 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
6236bad8d7 Bug 771266 - Inline nsCOMPtr_base's destructor; r=jlebar 2012-07-05 15:12:13 -04:00
L. David Baron
9e2b8313b4 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
a13be59eca Bug 709747: Fix COMPtr logging for .forget(). r=dbaron 2012-06-29 10:10:31 -07:00
Jonathan Watt
970e60a384 Bug 767388 - Kill NS_DEBUG. r=bz.
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Marco Bonardo
73a9ed5c84 Bug 718999 - make "You can't dereference a NULL nsCOMPtr" assertions fatal.
r=bsmedberg
2012-01-24 20:37:48 +01:00
Ms2ger
b2b42ad049 Bug 709747 - Support nsCOMPtr<T>::forget(I**); r=bsmedberg 2011-12-18 10:39:22 +01:00
Ehsan Akhgari
8165dcad8a 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
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
Jeff Walden
df2b7cbc5c 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
d306463c79 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
9a495ee4f8 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
5272acdabd 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
0f5b3e839c Bug 680625 part 0b: Remove more workarounds for past century compilers. r=ted 2011-08-26 00:35:13 +01:00
Chris Jones
87d0ed7e60 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
fbb1d45b16 Bug 523651. Add a CallQueryInterface that works well with nsCOMPtr. r=bsmedberg 2009-10-23 16:24:47 -04:00
Peter Van der Beken
2c32ed4318 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
376551de73 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
fa079f9105 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
470d4ccbfb 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
7df96eb40c 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
088d1de487 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
62231824a0 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
491c9c1063 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
6e88ffabca Typo fix and poking tinderbox. No bug. 2007-10-29 22:51:33 -07:00
jwalden@mit.edu
d09c44d69c 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
dca0f40dcc Bug 392493 - "Add forget() method to nsCOMPtr and nsRefPtr". r=dbaron, a=bzbarsky. 2007-08-28 16:37:22 -07:00
jwalden@mit.edu
6d7584839a 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
417d5864d4 Slightly safer and neater fix for strict aliasing bug 351231 r+sr=dbaron 2007-03-23 13:26:20 -07:00
kjh-5727%comcast.net
70b1c37b63 Bug 351231: type-pun warnings from nsCOMPtr, part II. r+sr=dbaron. 2006-11-23 16:10:43 +00:00
kjh-5727%comcast.net
e7bf3029de Bug 351231: type-pun warnings from nsCOMPtr. r+sr=dbaron. 2006-11-23 13:21:27 +00:00
cvshook%sicking.cc
636e4e6e5f Don't return nsDerivedSafe when .get() is explicitly used on nsCOMPtr and nsRefPtr. r/sr=dbaron 2006-11-21 21:28:14 +00:00