mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 19:25:43 +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
38 lines
1.9 KiB
SQL
38 lines
1.9 KiB
SQL
/* 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 checker classes that are compatible with clang-tidy.
|
|
|
|
CHECK(ArithmeticArgChecker, "arithmetic-argument")
|
|
CHECK(AssertAssignmentChecker, "assignment-in-assert")
|
|
CHECK(CanRunScriptChecker, "can-run-script")
|
|
CHECK(DanglingOnTemporaryChecker, "dangling-on-temporary")
|
|
CHECK(ExplicitImplicitChecker, "implicit-constructor")
|
|
CHECK(ExplicitOperatorBoolChecker, "explicit-operator-bool")
|
|
CHECK(KungFuDeathGripChecker, "kungfu-death-grip")
|
|
#ifdef _WIN32
|
|
CHECK(LoadLibraryUsageChecker, "load-library-usage")
|
|
#endif
|
|
CHECK(MustOverrideChecker, "must-override")
|
|
CHECK(MustReturnFromCallerChecker, "must-return-from-caller")
|
|
CHECK(MustUseChecker, "must-use")
|
|
CHECK(NaNExprChecker, "nan-expr")
|
|
CHECK(NeedsNoVTableTypeChecker, "needs-no-vtable-type")
|
|
CHECK(NoAddRefReleaseOnReturnChecker, "no-addref-release-on-return")
|
|
CHECK(NoAutoTypeChecker, "no-auto-type")
|
|
CHECK(NoDuplicateRefCntMemberChecker, "no-duplicate-refcnt-member")
|
|
CHECK(NoExplicitMoveConstructorChecker, "no-explicit-move-constructor")
|
|
CHECK(NonMemMovableMemberChecker, "non-memmovable-member")
|
|
CHECK(NonMemMovableTemplateArgChecker, "non-memmovable-template-arg")
|
|
CHECK(NonParamInsideFunctionDeclChecker, "non-memmovable-template-arg")
|
|
CHECK(OverrideBaseCallChecker, "override-base-call")
|
|
CHECK(OverrideBaseCallUsageChecker, "override-base-call-usage")
|
|
CHECK(ParamTraitsEnumChecker, "paramtraits-enum")
|
|
CHECK(RefCountedCopyConstructorChecker, "refcounted-copy-constructor")
|
|
CHECK(RefCountedInsideLambdaChecker, "refcounted-inside-lambda")
|
|
CHECK(ScopeChecker, "scope")
|
|
CHECK(SprintfLiteralChecker, "sprintf-literal")
|
|
CHECK(TrivialCtorDtorChecker, "trivial-constructor-destructor")
|
|
CHECK(TrivialDtorChecker, "trivial-destructor")
|