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 306570 e6916da8de22872b29b08999c766ffa250ceeaf4
parent 306569 35ff0dcd1ac6527f63ab2acdd05d1c0cf96ae6f7
child 306571 0719f3b4d3659141f70ad53d9b961c5b2e81dfb5
push id30489
push usercbook@mozilla.com
push dateTue, 26 Jul 2016 09:56:19 +0000
treeherdermozilla-central@ff1ef8ec0fd8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1283395
milestone50.0a1
backs out9c839b1d1397c2f43a66aeb008f230b068f325ed
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
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',