Commit Graph

84 Commits

Author SHA1 Message Date
David Major
e46dbc2c0f Bug 1324093 - Part 4: Make MOZ_Report{Crash,AssertionFailure} be MOZ_NEVER_INLINE. r=froydnj
You'd think that this would throw off the assertion stacks in nsTraceRefcnt::WalkTheStack. But as far as I can tell, it was already setting |skipFrames| too high!

On top of that, the function was getting out-of-lined in some instances already. It really should have been MOZ_ALWAYS_INLINE_EVEN_DEBUG.

MozReview-Commit-ID: J2FZmi0pKro

--HG--
extra : rebase_source : 20e5be9f8c21637a28435f47b8ab2de101825679
2017-01-18 09:37:54 +13:00
David Major
2166409a1d Bug 1324093 - Part 3: Don't MOZ_ReportAssertionFailure in non-debug builds. r=froydnj f=Waldo f=nbp
Not only does this trim the code, it also makes MOZ_RELEASE_ASSERT follow the advice of MOZ_CRASH earlier in the file:

 * If we're a DEBUG build and we crash at a MOZ_CRASH which provides an
 * explanation-string, we print the string to stderr.  Otherwise, we don't
 * print anything; this is because we want MOZ_CRASH to be 100% safe in release
 * builds, and it's hard to print to stderr safely when memory might have been
 * corrupted.

MozReview-Commit-ID: Kuxzn1v9Vfs

--HG--
extra : rebase_source : 5c6efe7cb9adb1c366b423d6ff8f95002512985c
2017-01-18 09:37:46 +13:00
David Major
77329182eb Bug 1324093 - Part 2: Don't AnnotateMozCrashReason on debug builds. r=bsmedberg
I left gMozCrashReason visible (but not meaningfully used) in all builds, in order to match the behavior of Assertions.cpp, and to avoid more #ifdef clutter in nsExceptionHandler.cpp.

MozReview-Commit-ID: smoFkddGzd

--HG--
extra : rebase_source : 498f927f62fc944edf254c2ff3b115131367a506
2017-01-18 09:34:02 +13:00
David Major
dd8c1f9d4e Bug 1324093 - Part 1: Move MOZ_REALLY_CRASH's null-deref and TerminateProcess into a never-inline function. r=froydnj
The C versus C++ distinction was only there so that Android could make sure it used the global ::abort. I didn't see the need to maintain the distinction for Windows. (Besides, with this change we're no longer doing textual inclusion of "TerminateProcess" in the macro, so people can't take over the name.)

Linux's abort sequence wasn't long enough to be troublesome, so I left it alone.

MozReview-Commit-ID: Ah5XtWpevGz

--HG--
extra : rebase_source : 37c3fb4c50bcba8e48c6a965a02e3f8608940538
2017-01-18 09:33:25 +13:00
David Major
d27150b889 Bug 1324093 - Part 0: Use MOZ_{BEGIN,END}_EXTERN_C in Assertions.h. r=froydnj
Drive-by cleanup.

MozReview-Commit-ID: 8slQlbS3NS2

--HG--
extra : rebase_source : 2df96c531b8cfa03ca17c134393c5f054ca25927
2017-01-18 09:32:47 +13:00
Jan de Mooij
2975885bae Bug 1283562 - Add mozilla::Result<V, E> for fallible return values. r=jwalden 2016-11-21 12:52:03 +01:00
Emanuel Hoogeveen
515f250ac5 Bug 1309573 - Part 1: Define the crash reason in MFBT to let everything use it. r=froydnj
--HG--
extra : rebase_source : 12eda091c0453e067a13a80261b814128d27c45c
2016-11-06 22:57:00 -05:00
Sebastian Hengst
cdcc9e20da Bug 1304829 - rename RELEASE_BUILD to RELEASE_OR_BETA: main part. r=ted,Mossop
MozReview-Commit-ID: 1lCt0xTMV5O
2016-10-08 11:14:49 +02:00
Michael Layzell
e1fc3b1773 Bug 1159244 - Add release mode bounds checking with custom annotations to nsTArray, r=froydnj
MozReview-Commit-ID: Ljx9PwBCyTT
2016-08-15 13:29:45 -04:00
Andi-Bogdan Postelnicu
79a0735001 Bug 1283395 - add markup functions for static analysis builds. r=froydnj
MozReview-Commit-ID: 6dFygYzTYfN
2016-07-25 16:57:30 +03:00
Wes Kocher
1feda59958 Backed out changeset 9c839b1d1397 (bug 1283395) for static build bustage CLOSED TREE 2016-07-25 08:54:47 -07:00
Andi-Bogdan Postelnicu
440264fed8 Bug 1283395 - add markup functions for static analysis builds. r=froydnj
MozReview-Commit-ID: 6dFygYzTYfN
2016-07-25 17:43:14 +03:00
Carsten "Tomcat" Book
718ce69fb7 Backed out changeset c8e5a0703821 (bug 1283395) for bustage on a CLOSED TREE 2016-07-21 08:13:06 +02:00
Andi-Bogdan Postelnicu
d2d46ad585 Bug 1283395 - add markup functions for static analysis builds. r=froydnj
MozReview-Commit-ID: 1F5GGpQtq4x
2016-07-20 15:45:34 +03:00
Jeff Walden
e20f0f4551 Bug 1282795 - Silence warnings when MOZ_ALWAYS_{TRUE,FALSE} are passed expressions with embedded side effects, that would ordinarily trigger side effects but don't inside certain unevaluated contexts within MOZ_ASSERT, which then triggers compiler warnings with new-enough clang. You are not expected to understand this. r=froydnj
--HG--
extra : rebase_source : ffe6d35af74c50b04dbddc9cc3965292875c64a0
2016-06-28 17:12:14 +01:00
Nicholas Nethercote
2511b2c327 Bug 1267550 (part 2) - Rename MOZ_WARN_UNUSED_RESULT as MOZ_MUST_USE. r=froydnj.
It's an annotation that is used a lot, and should be used even more, so a
shorter name is better.

MozReview-Commit-ID: 1VS4Dney4WX

--HG--
extra : rebase_source : b26919c1b0fcb32e5339adeef5be5becae6032cf
2016-04-27 14:16:50 +10:00
Eric Rahm
c47a83ce36 Bug 1251769 - Remove remaining references to MOZILLA_XPCOMRT_API from mfbt. r=froydnj 2016-02-27 11:12:07 -08:00
Chris Peterson
3171200ff5 Bug 1235277 - Define MOZ_FALLTHROUGH_ASSERT to workaround -Wunreachable-code warnings about MOZ_FALLTHROUGH in debug builds. r=botond 2015-12-27 13:27:17 -07:00
Bill McCloskey
47b5adaa34 Bug 1221368 - Change MakeTuple to decay the types of its arguments (r=froydnj) 2015-11-09 10:21:11 -08:00
Michael Layzell
a764ebee57 Bug 1211979 - Annotate crashes triggered by MOZ_RELEASE_ASSERT, r=froydnj 2015-10-08 17:50:58 -04:00
Michael Layzell
e4681ea6a5 Bug 1183355 - Annotate crash reports triggered by MOZ_CRASH in release builds, r=froydnj 2015-10-08 10:01:08 -04:00
Michael Layzell
66779b6bb0 Backout "Bug 1183355 - Annotate crash reports triggered by MOZ_CRASH in release builds, r=froydnj" for OOM concerns
This reverts commit 5ca16aeadfea27afc9939e39d8a6f0a39802c066.
2015-09-24 17:58:34 -04:00
Michael Layzell
3103a27863 Bug 1183355 - Annotate crash reports triggered by MOZ_CRASH in release builds, r=froydnj 2015-09-24 17:12:44 -04:00
Andrew McCreight
5446225d17 Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
This leaves alone the AppendElement methods.
2015-09-15 15:30:44 -07:00
Randall Barker
c236b48231 Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd
--HG--
extra : rebase_source : 93f11457b16b344e148a6fcb924b286ef8a48051
2015-04-03 15:52:00 +02:00
Wes Kocher
e226c762ee Backed out changeset 0f5799df920b (bug 1093934) for various test failures CLOSED TREE
--HG--
extra : amend_source : 047ed43008cea68775c544cdf0df2819cfb24589
2015-04-02 13:42:34 -07:00
Randall Barker
683155c363 Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC r=froydnj 2015-04-02 12:12:37 -07:00
Andrew McCreight
2b846790d1 Back out Bug 1127201 (part 1) for various problems. 2015-02-06 15:05:08 -08:00
Nicholas Nethercote
5def42d488 Bug 1127201 (part 1) - Let MOZ_ASSERT take a string variable as the second arg. r=Waldo.
ASSERT_UNLESS_FUZZING() (which is defined multiple times!) caused problems due
when __VA_ARGS__ was empty which is most of the time. So I just disallowed the
optional string, which was only used in a small fraction of the occurrences.

I don't particularly like this patch. I'm not convinced its any better than
just removing the nsPrintfCString()s like I did earlier, but I've done it to at
least show what's involved.

--HG--
extra : rebase_source : 10b5bcf8509eaf2fca300b0b8ab1fa130e9f8b8c
2015-02-04 19:42:29 -08:00
Bobby Holley
ebc54d52b9 Bug 1129247 - Introduce MOZ_DIAGNOSTIC_ASSERT. r=Waldo 2015-02-04 13:13:58 -08:00
Dan Gohman
f233dc0d72 Bug 1125185 - Define MOZ_COLD for marking "cold" functions r=waldo 2015-01-26 17:30:19 -08:00
Jan de Mooij
8fb96ecee4 Bug 1004028 - Enable assertion type validation on MSVC. r=Waldo,terrence 2015-01-24 14:40:27 +01:00
Trevor Saunders
5b86ecf80c bug 1077549 - remove useless gcc version checks r=glandium 2015-01-15 21:30:05 -05:00
Ehsan Akhgari
497a2e8e51 Bug 1120622 - Define MOZ_SUPPORT_ASSERT_CONDITION_TYPE_VALIDATION for all gcc versions now that we don't support 4.4 any more; r=froydnj 2015-01-14 09:00:34 -05:00
Wes Kocher
1228155e06 Backout 73fcb9fa303d 2015-01-12 14:46:01 -08:00
Ehsan Akhgari
e35cd65485 Bug 1120622 - Define MOZ_SUPPORT_ASSERT_CONDITION_TYPE_VALIDATION for all gcc versions now that we don't support 4.4 any more; r=froydnj 2015-01-12 16:35:09 -05:00
David Major
2c2568cc6c Bug 1119030: Make MOZ_CRASHes unique to prevent compiler folding. r=Waldo
--HG--
extra : rebase_source : f8401e3eee6c62545553452e355c8213480a869d
2015-01-08 19:13:04 +13:00
Chris Peterson
a9b69a841b Bug 990764 - Remove MOZ_ASSUME_UNREACHABLE and MOZ_NIGHTLY_ASSERT macros. r=Waldo 2014-06-29 19:21:50 -07:00
Jeff Walden
2e6b85e6f1 Bug 1064451 - Convert assertion-expression-type checking code to not perform a function call. r=froydnj
--HG--
extra : rebase_source : d88adf94137dca875444c4aa8c7b3e9ce9c7dedd
2014-09-07 01:04:09 -07:00
Nicholas Nethercote
2a0942be41 Bug 1036789 - Convert the third quarter of MFBT to Gecko style. r=Ms2ger.
--HG--
extra : rebase_source : 668cd394806203ddfa34bd4f226335ff26c846b5
2014-07-10 19:10:17 -07:00
Nicholas Nethercote
9439ff268e Bug 1026319 - Convert the second quarter of MFBT to Gecko style. r=froydnj.
--HG--
extra : rebase_source : 98d2557c7fe4648d79143c654e7e31767fca2e65
2014-06-12 23:34:08 -07:00
Nicholas Nethercote
7e98d1c248 Bug 1014377 - Convert the first quarter of MFBT to Gecko style. r=froydnj.
--HG--
extra : rebase_source : b3b2da775e2c0e8a6ecbed70e7bd0c8f7af67b47
2014-05-29 22:40:33 -07:00
Chris Peterson
a611a1764f Bug 990764 - Add MOZ_ASSERT_UNREACHABLE and MOZ_MAKE_COMPILER_ASSUME_IS_UNREACHABLE. r=Waldo 2014-04-05 18:07:09 -07:00
Sylvestre Ledru
6e74be8757 Bug 997145 - Add a attribute in order to silent a Clang static analyzer check r=nfroyd
--HG--
extra : amend_source : 9ef01d8df4e8797981f770621a3885d456db5801
2014-05-06 16:23:08 +02:00
Ehsan Akhgari
88fbe13b7d Bug 1005730 - Print assertion stacks for MOZ_ASSERT and MOZ_CRASH for code that lives inside libxul; r=froydnj
The hyphenation changes are necessary because hnjalloc.h #defines FILE to
a custom data structure, which clashes with using |stderr| in Assertions.h.
2014-05-05 22:02:04 -04:00
Benoit Jacob
cf6decae49 Bug 920292 - Check the types of assert conditions - r=froydnj 2014-04-30 22:39:13 -04:00
Birunthan Mohanathas
accb4d62ef Bug 989460 - Part 1: Add MacroArgs.h for macros related to implementing variadic macros. r=Waldo
This also converts MOZ_RELEASE_ASSERT and MOZ_BEGIN_NESTED_ENUM_CLASS to use the new helper macros.
2014-04-24 10:48:00 +02:00
Bobby Holley
75c5db5a1c Bug 928636 - Whitespace changes. r=Waldo 2013-11-25 09:37:16 -08:00
Bobby Holley
8475a010d7 Bug 928636 - Implement MOZ_RELEASE_ASSERT. r=Waldo 2013-11-25 09:37:15 -08:00
Vladimir Vukicevic
eb2da8cf2e Bug 888658 - Assertions.h fixup for windows. r=jwalden
--HG--
extra : rebase_source : 7e7fb741860c2603aa1b838eff7761ddcd50e867
2013-10-15 09:07:00 +02:00