mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 18:26:15 +00:00
b21e723d2e
This patch is in support of adding a variant of Static{Auto,Ref}Ptr for use as static locals, taking advantage of C++11 "magic statics" such that we can lazily initialize those variables in a thread-safe way. In support of those classes, this patch adds two new attributes: * `moz_static_local_class` to ensure that any instantiations of that class only occur as static local variables; * `moz_trivial_dtor` to ensure that these classes do not implicitly call `atexit` and add a whole bunch of shutdown crap. `moz_static_local_class` works similarly to `moz_global_class`, except that its object must only instantiate as static locals. `TrivialDtorChecker` is based on `TrivialCtorDtorChecker`, with the ctor-specific bits removed. Differential Revision: https://phabricator.services.mozilla.com/D39717 --HG-- rename : build/clang-plugin/TrivialCtorDtorChecker.cpp => build/clang-plugin/TrivialDtorChecker.cpp rename : build/clang-plugin/TrivialCtorDtorChecker.h => build/clang-plugin/TrivialDtorChecker.h extra : moz-landing-system : lando
40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
/* 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/. */
|
|
|
|
// The list of #include directives necessary for the checker classes that
|
|
// are compatible with clang-tidy.
|
|
|
|
#include "ArithmeticArgChecker.h"
|
|
#include "AssertAssignmentChecker.h"
|
|
#include "CanRunScriptChecker.h"
|
|
#include "DanglingOnTemporaryChecker.h"
|
|
#include "ExplicitImplicitChecker.h"
|
|
#include "ExplicitOperatorBoolChecker.h"
|
|
#ifdef _WIN32
|
|
#include "LoadLibraryUsageChecker.h"
|
|
#endif
|
|
#include "KungFuDeathGripChecker.h"
|
|
#include "MustOverrideChecker.h"
|
|
#include "MustReturnFromCallerChecker.h"
|
|
#include "MustUseChecker.h"
|
|
#include "NaNExprChecker.h"
|
|
#include "NeedsNoVTableTypeChecker.h"
|
|
#include "NoAddRefReleaseOnReturnChecker.h"
|
|
#include "NoAutoTypeChecker.h"
|
|
#include "NoDuplicateRefCntMemberChecker.h"
|
|
#include "NoExplicitMoveConstructorChecker.h"
|
|
#include "NonMemMovableMemberChecker.h"
|
|
#include "NonMemMovableTemplateArgChecker.h"
|
|
#include "NonParamInsideFunctionDeclChecker.h"
|
|
#include "OverrideBaseCallChecker.h"
|
|
#include "OverrideBaseCallUsageChecker.h"
|
|
#include "ParamTraitsEnumChecker.h"
|
|
#include "RefCountedCopyConstructorChecker.h"
|
|
#include "RefCountedInsideLambdaChecker.h"
|
|
#include "ScopeChecker.h"
|
|
#include "SprintfLiteralChecker.h"
|
|
#include "TrivialCtorDtorChecker.h"
|
|
#include "TrivialDtorChecker.h"
|
|
|