author | Carsten "Tomcat" Book <cbook@mozilla.com> |
Thu, 21 Jul 2016 08:13:06 +0200 | |
changeset 306030 | 138937cd04cb1ee5620cdb2f31e977e28783fe3b |
parent 306029 | de1db0ba27a71eb7d6c8ce93123967e5ab582b2e |
child 306031 | 28f30533c6359655335ac5a09e37847ef54dc6ae |
push id | 30474 |
push user | cbook@mozilla.com |
push date | Thu, 21 Jul 2016 14:25:10 +0000 |
treeherder | mozilla-central@6b180266ac16 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
bugs | 1283395 |
milestone | 50.0a1 |
backs out | c8e5a0703821ec9bb41eb7a80800eed69b61d60d |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
mfbt/Assertions.h | file | annotate | diff | comparison | revisions | |
mfbt/StaticAnalysisFunctions.h | file | annotate | diff | comparison | revisions | |
mfbt/moz.build | file | annotate | diff | comparison | revisions |
--- a/mfbt/Assertions.h +++ b/mfbt/Assertions.h @@ -12,17 +12,16 @@ #if defined(MOZILLA_INTERNAL_API) && defined(__cplusplus) #define MOZ_DUMP_ASSERTION_STACK #endif #include "mozilla/Attributes.h" #include "mozilla/Compiler.h" #include "mozilla/Likely.h" #include "mozilla/MacroArgs.h" -#include "mozilla/StaticAnalysisFunctions.h" #ifdef MOZ_DUMP_ASSERTION_STACK #include "nsTraceRefcnt.h" #endif #if defined(MOZ_CRASHREPORTER) && defined(MOZILLA_INTERNAL_API) && \ !defined(MOZILLA_EXTERNAL_LINKAGE) && defined(__cplusplus) namespace CrashReporter { // This declaration is present here as well as in nsExceptionHandler.h @@ -364,27 +363,27 @@ struct AssertionConditionType #else # define MOZ_VALIDATE_ASSERT_CONDITION_TYPE(x) #endif /* First the single-argument form. */ #define MOZ_ASSERT_HELPER1(expr) \ do { \ MOZ_VALIDATE_ASSERT_CONDITION_TYPE(expr); \ - if (MOZ_UNLIKELY(!MOZ_CHECK_ASSERT_ASSIGNMENT(expr))) { \ + if (MOZ_UNLIKELY(!(expr))) { \ MOZ_ReportAssertionFailure(#expr, __FILE__, __LINE__); \ MOZ_CRASH_ANNOTATE("MOZ_RELEASE_ASSERT(" #expr ")"); \ MOZ_REALLY_CRASH(); \ } \ } while (0) /* Now the two-argument form. */ #define MOZ_ASSERT_HELPER2(expr, explain) \ do { \ MOZ_VALIDATE_ASSERT_CONDITION_TYPE(expr); \ - if (MOZ_UNLIKELY(!MOZ_CHECK_ASSERT_ASSIGNMENT(expr))) { \ + if (MOZ_UNLIKELY(!(expr))) { \ MOZ_ReportAssertionFailure(#expr " (" explain ")", __FILE__, __LINE__); \ MOZ_CRASH_ANNOTATE("MOZ_RELEASE_ASSERT(" #expr ") (" explain ")"); \ MOZ_REALLY_CRASH(); \ } \ } while (0) #define MOZ_RELEASE_ASSERT_GLUE(a, b) a b #define MOZ_RELEASE_ASSERT(...) \
deleted file mode 100644 --- a/mfbt/StaticAnalysisFunctions.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_StaticAnalysisFunctions_h -#define mozilla_StaticAnalysisFunctions_h - -#include <stdbool.h> - -/* - * Functions that are used as markers in Gecko code for static analysis. Their - * purpose is to have different AST nodes generated during compile time and to - * match them based on different checkers implemented in build/clang-plugin - */ - -#ifdef MOZ_CLANG_PLUGIN - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * MOZ_AssertAssignmentTest - used in MOZ_ASSERT in order to test the possible - * presence of assignment instead of logical comparisons. - * - * Example: - * MOZ_ASSERT(retVal = true); - */ -static MOZ_ALWAYS_INLINE bool MOZ_AssertAssignmentTest(bool exprResult) { - return exprResult; -} - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#define MOZ_CHECK_ASSERT_ASSIGNMENT(expr) MOZ_AssertAssignmentTest(!!(expr)) - -#else - -#define MOZ_CHECK_ASSERT_ASSIGNMENT(expr) (!!(expr)) - -#endif /* MOZ_CLANG_PLUGIN */ -#endif /* StaticAnalysisFunctions_h */ \ No newline at end of file
--- a/mfbt/moz.build +++ b/mfbt/moz.build @@ -79,17 +79,16 @@ EXPORTS.mozilla = [ 'Saturate.h', 'Scoped.h', 'ScopeExit.h', 'SegmentedVector.h', 'SHA1.h', 'SizePrintfMacros.h', 'Snprintf.h', 'SplayTree.h', - 'StaticAnalysisFunctions.h', 'TaggedAnonymousMemory.h', 'TemplateLib.h', 'ThreadLocal.h', 'ToString.h', 'Tuple.h', 'TypedEnumBits.h', 'Types.h', 'TypeTraits.h',