Backed out changeset 9c839b1d1397 (bug 1283395) for static build bustage CLOSED TREE
authorWes Kocher <wkocher@mozilla.com>
Mon, 25 Jul 2016 08:54:47 -0700
changeset 331634 e6916da8de22872b29b08999c766ffa250ceeaf4
parent 331633 35ff0dcd1ac6527f63ab2acdd05d1c0cf96ae6f7
child 331635 0719f3b4d3659141f70ad53d9b961c5b2e81dfb5
push id9858
push userjlund@mozilla.com
push dateMon, 01 Aug 2016 14:37:10 +0000
treeherdermozilla-aurora@203106ef6cb6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1283395
milestone50.0a1
backs out9c839b1d1397c2f43a66aeb008f230b068f325ed
Backed out changeset 9c839b1d1397 (bug 1283395) for static build bustage CLOSED TREE
mfbt/Assertions.h
mfbt/StaticAnalysisFunctions.h
mfbt/moz.build
--- 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,50 +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
-
-#ifndef __cplusplus
-#ifndef bool
-#include <stdbool.h>
-#endif
-#endif
-
-/*
- * 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
@@ -78,17 +78,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',