Backed out changeset 780399392e20 (bug 1619921) for breaking toolchains on a CLOSED TREE

This commit is contained in:
Andreea Pavel 2020-03-16 18:27:17 +02:00
parent 1ee04a1f77
commit a6b6afe578
13 changed files with 6 additions and 79 deletions

View File

@ -133,7 +133,6 @@ AC_SUBST_LIST(LLVM_LDFLAGS)
AC_SUBST_LIST(CLANG_LDFLAGS)
AC_SUBST(ENABLE_CLANG_PLUGIN)
AC_SUBST(ENABLE_CLANG_PLUGIN_ALPHA)
AC_SUBST(ENABLE_MOZSEARCH_PLUGIN)
])

View File

@ -10,8 +10,5 @@ DiagnosticsMatcher::DiagnosticsMatcher(CompilerInstance &CI) {
cls##_.registerPPCallbacks(CI);
#include "Checks.inc"
#include "external/ExternalChecks.inc"
#ifdef MOZ_CLANG_PLUGIN_ALPHA
#include "alpha/AlphaChecks.inc"
#endif
#undef CHECK
}

View File

@ -7,9 +7,6 @@
#include "ChecksIncludes.inc"
#include "external/ExternalIncludes.inc"
#ifdef MOZ_CLANG_PLUGIN_ALPHA
#include "alpha/AlphaIncludes.inc"
#endif
class DiagnosticsMatcher {
public:
@ -21,9 +18,6 @@ private:
#define CHECK(cls, name) cls cls##_{name};
#include "Checks.inc"
#include "external/ExternalChecks.inc"
#ifdef MOZ_CLANG_PLUGIN_ALPHA
#include "alpha/AlphaChecks.inc"
#endif
#undef CHECK
MatchFinder AstMatcher;
};

View File

@ -20,9 +20,6 @@ public:
#define CHECK(cls, name) CheckFactories.registerCheck<cls>("mozilla-" name);
#include "Checks.inc"
#include "external/ExternalChecks.inc"
#ifdef MOZ_CLANG_PLUGIN_ALPHA
#include "alpha/AlphaChecks.inc"
#endif
#undef CHECK
}
};

View File

@ -1,8 +0,0 @@
/* 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 and are considered
// to be in alpha stage development.
// CHECK(AlphaChecker, "alpha-checker")

View File

@ -1,9 +0,0 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
HOST_SOURCES += [
# 'AlphaChecker.cpp',
]

View File

@ -1,9 +0,0 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
SOURCES += [
# 'AlphaTest.cpp',
]

View File

@ -34,13 +34,9 @@ def copy_dir_contents(src, dest):
raise Exception('Directory not copied. Error: %s' % e)
def write_cmake(module_path, import_alpha):
def write_cmake(module_path):
names = [' ' + os.path.basename(f) for f in glob.glob("%s/*.cpp" % module_path)]
names += [' ' + os.path.basename(f) for f in glob.glob("%s/external/*.cpp" % module_path)]
if import_alpha:
alpha_names = [' ' + os.path.join("alpha", os.path.basename(f))
for f in glob.glob("%s/alpha/*.cpp" % module_path)]
names += alpha_names
with open(os.path.join(module_path, 'CMakeLists.txt'), 'w') as f:
f.write("""set(LLVM_LINK_COMPONENTS support)
@ -118,7 +114,7 @@ def generate_thread_allows(mozilla_path, module_path):
f.write(ThreadAllows.generate_allows({files, names}))
def do_import(mozilla_path, clang_tidy_path, import_alpha):
def do_import(mozilla_path, clang_tidy_path):
module = 'mozilla'
module_path = os.path.join(clang_tidy_path, module)
try:
@ -130,7 +126,7 @@ def do_import(mozilla_path, clang_tidy_path, import_alpha):
copy_dir_contents(mozilla_path, module_path)
write_third_party_paths(mozilla_path, module_path)
generate_thread_allows(mozilla_path, module_path)
write_cmake(module_path, import_alpha)
write_cmake(module_path)
add_item_to_cmake_section(os.path.join(module_path, '..', 'plugin',
'CMakeLists.txt'),
'LINK_LIBS', 'clangTidyMozillaModule')
@ -149,11 +145,10 @@ static int LLVM_ATTRIBUTE_UNUSED MozillaModuleAnchorDestination =
def main():
if len(sys.argv) < 3 or len(sys.argv) > 4:
if len(sys.argv) != 3:
print("""\
Usage: import_mozilla_checks.py <mozilla-clang-plugin-path> <clang-tidy-path> [import_alpha]
Usage: import_mozilla_checks.py <mozilla-clang-plugin-path> <clang-tidy-path>
Imports the Mozilla static analysis checks into a clang-tidy source tree.
If `import_alpha` is specified then in-tree alpha checkers will be also imported.
""")
return
@ -166,12 +161,7 @@ If `import_alpha` is specified then in-tree alpha checkers will be also imported
if not os.path.isdir(mozilla_path):
print("Invalid path to clang-tidy source directory")
import_alpha = False
if len(sys.argv) == 4 and sys.argv[3] == 'import_alpha':
import_alpha = True
do_import(mozilla_path, clang_tidy_path, import_alpha)
do_import(mozilla_path, clang_tidy_path)
if __name__ == '__main__':

View File

@ -95,10 +95,6 @@ DIRS += [
include('external/sources.mozbuild')
if CONFIG['ENABLE_CLANG_PLUGIN_ALPHA']:
HOST_DEFINES["MOZ_CLANG_PLUGIN_ALPHA"] = "1"
include('alpha/sources.mozbuild')
# In the current moz.build world, we need to override essentially every
# variable to limit ourselves to what we need to build the clang plugin.
if CONFIG['HOST_OS_ARCH'] == 'WINNT':

View File

@ -62,10 +62,6 @@ if CONFIG['OS_ARCH'] == 'WINNT':
include('../external/tests/sources.mozbuild')
if CONFIG['ENABLE_CLANG_PLUGIN_ALPHA']:
DEFINES["MOZ_CLANG_PLUGIN_ALPHA"] = "1"
include('../alpha/tests/sources.mozbuild')
DisableStlWrapping()
NoVisibilityFlags()

View File

@ -2249,20 +2249,6 @@ js_option('--enable-clang-plugin', env='ENABLE_CLANG_PLUGIN',
add_old_configure_assignment('ENABLE_CLANG_PLUGIN',
depends_if('--enable-clang-plugin')(lambda _: True))
js_option('--enable-clang-plugin-alpha', env='ENABLE_CLANG_PLUGIN_ALPHA',
help='Enable static analysis with clang-plugin alpha checks.')
@depends('--enable-clang-plugin', '--enable-clang-plugin-alpha')
def check_clang_plugin_alpha(enable_clang_plugin, enable_clang_plugin_alpha):
if enable_clang_plugin_alpha:
if enable_clang_plugin:
return True
die("Cannot enable clang-plugin alpha checkers without --enable-clang-plugin.")
return False
add_old_configure_assignment('ENABLE_CLANG_PLUGIN_ALPHA', check_clang_plugin_alpha)
set_define('MOZ_CLANG_PLUGIN_ALPHA', check_clang_plugin_alpha)
js_option('--enable-mozsearch-plugin', env='ENABLE_MOZSEARCH_PLUGIN',
help="Enable building with the mozsearch indexer plugin")

View File

@ -146,8 +146,6 @@ If you want to build with the Firefox Clang plug-in
(located in ``/build/clang-plugin`` and associated with
``MOZ_CLANG_PLUGIN`` and the attributes in ``/mfbt/Attributes.h``)
just add ``--enable-clang-plugin`` to your mozconfig!
If you want to also have our experimental checkers that will produce ``warnings`` as
diagnostic messages also add ``--enable-clang-plugin-alpha``.
This requires to build Firefox using Clang.
Configuring the build environment