Commit Graph

190 Commits

Author SHA1 Message Date
Nathan Froyd
7873eb0325 Bug 1095541 - part 2 - move already_AddRefed to its own header file; r=bsmedberg 2014-11-07 11:17:41 -05:00
Nathan Froyd
7c3afbd946 Bug 1095633 - part 1 - remove uses of HAVE_CPP_TROUBLE_COMPARING_TO_ZERO from headers; r=bz 2014-11-07 14:44:12 -05:00
Nicholas Nethercote
f57e56e187 Bug 1058388 - Remove NS_COM_GLUE and IMETHOD_VISIBILITY. r=bsmedberg.
--HG--
extra : rebase_source : 250ec1323d4097101a8e0331a2bf7fab59f72b1d
2014-08-27 15:47:27 -07:00
Birunthan Mohanathas
dffead394b Bug 1046841 - Fix comment style of nsCOMPtr.h. r=froydnj 2014-08-25 12:17:20 -07:00
Jeff Walden
e9e4aa4f5e Bug 1044598 - Make nsCOMPtr.h no longer depend on the un-definition of MOZ_HAVE_CXX11_NULLPTR. r=ehsan
--HG--
extra : rebase_source : cc737646470e6ebb81f87d3a0751f20b712c9390
2014-07-29 11:41:45 -07:00
Birunthan Mohanathas
c9fb2c0d48 Bug 1022456 - Fix modelines in xpcom/{base,glue,io,string,threads}/. r=froydnj 2014-06-30 08:39:45 -07:00
Birunthan Mohanathas
6b53f3d634 Bug 1022456 - Convert xpcom/glue/ to Gecko style. r=froydnj 2014-06-26 18:35:39 -07:00
Chris Peterson
4d8cb6ff03 Bug 1013065 - Remove bug 65664's NSCAP_DONT_PROVIDE_NONCONST_OPEQ workaround. r=dbaron 2014-05-04 23:11:04 -07:00
Ehsan Akhgari
6011b07362 Bug 1015430 - Fix more XPCOM constructors to clarify whether they should be explicit; r=froydnj 2014-05-25 21:16:01 -04:00
Nathan Froyd
4bb75e1989 Bug 984443 - get rid of #ifndef $OTHER_HEADER bits from xpcom/ as relics of a bygone era; r=ehsan 2014-03-17 12:20:47 -04:00
Kyle Huey
817b5ccbd9 Bug 345123: Remove nsGetterAddRefs<T>'s operator nsISupports**. r=bsmedberg 2014-03-15 12:00:17 -07:00
Kyle Huey
b564544cf7 Bug 967364: Pass already_AddRefed by reference instead of by value. r=bsmedberg 2014-03-15 12:00:17 -07:00
Kyle Huey
1f3d658bb3 Bug 967364: Use every already_AddRefed. r=bsmedberg 2014-03-15 12:00:16 -07:00
Kyle Huey
65644eb5a0 Bug 967364: Privatize already_AddRefed::mRawPtr. r=bsmedberg 2014-03-15 12:00:15 -07:00
Kyle Huey
fe6c4e28d6 Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
L. David Baron
03ba2e465b Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Nathan Froyd
4efe7278e6 Bug 976161 - delete dead NSCAP_DISABLE_TEST_DONTQUERY_CASES code; r=bsmedberg 2014-02-24 13:02:43 -05:00
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
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