Roll libcxx to bd557f6f (#165621)

Changes required for this roll:
* addition of LLVM libc (which is now a dependency of libcxx)
* updates the to license script
* patching the verify_exported check to allow some symbols added by
libcxx
* annotations for clang-tidy warnings
This commit is contained in:
Jason Simmons
2025-03-24 15:39:26 +00:00
committed by GitHub
parent 0a8a19230a
commit 08d2703016
41 changed files with 10255 additions and 233 deletions

View File

@@ -15,17 +15,24 @@ source_set("libcxx") {
sources = [
"src/algorithm.cpp",
"src/any.cpp",
"src/atomic.cpp",
"src/barrier.cpp",
"src/bind.cpp",
"src/call_once.cpp",
"src/charconv.cpp",
"src/chrono.cpp",
"src/condition_variable.cpp",
"src/condition_variable_destructor.cpp",
"src/debug.cpp",
"src/error_category.cpp",
"src/exception.cpp",
"src/filesystem/directory_entry.cpp",
"src/filesystem/directory_iterator.cpp",
"src/filesystem/filesystem_common.h",
"src/filesystem/filesystem_clock.cpp",
"src/filesystem/filesystem_error.cpp",
"src/filesystem/int128_builtins.cpp",
"src/filesystem/operations.cpp",
"src/filesystem/path.cpp",
"src/fstream.cpp",
"src/functional.cpp",
"src/future.cpp",
"src/hash.cpp",
@@ -34,11 +41,17 @@ source_set("libcxx") {
"src/iostream.cpp",
"src/locale.cpp",
"src/memory.cpp",
"src/memory_resource.cpp",
"src/mutex.cpp",
"src/mutex_destructor.cpp",
"src/new.cpp",
"src/new_handler.cpp",
"src/new_helpers.cpp",
"src/optional.cpp",
"src/ostream.cpp",
"src/print.cpp",
"src/random.cpp",
"src/random_shuffle.cpp",
"src/regex.cpp",
"src/ryu/d2fixed.cpp",
"src/ryu/d2s.cpp",
@@ -50,13 +63,16 @@ source_set("libcxx") {
"src/system_error.cpp",
"src/thread.cpp",
"src/typeinfo.cpp",
"src/utility.cpp",
"src/valarray.cpp",
"src/variant.cpp",
"src/vector.cpp",
"src/verbose_abort.cpp",
]
deps = [ "//flutter/third_party/libcxxabi" ]
deps = [
"//flutter/third_party/libcxxabi",
"//flutter/third_party/llvm_libc"
]
# TODO(goderbauer): remove when all sources build with LTO for android_arm64 and android_x64.
if (is_android && (current_cpu == "arm64" || current_cpu == "x64")) {

View File

@@ -0,0 +1,8 @@
#ifndef FLUTTER_LIBCXX_ASSERTION_HANDLER
#define FLUTTER_LIBCXX_ASSERTION_HANDLER
#include <__verbose_abort>
#define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_VERBOSE_ABORT("%s", message)
#endif // FLUTTER_LIBCXX_ASSERTION_HANDLER

View File

@@ -4,30 +4,6 @@
#define _LIBCPP_ABI_VERSION 1
#define _LIBCPP_ABI_NAMESPACE _fl
/* #undef _LIBCPP_ABI_FORCE_ITANIUM */
/* #undef _LIBCPP_ABI_FORCE_MICROSOFT */
/* #undef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT */
/* #undef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE */
/* #undef _LIBCPP_HAS_NO_STDIN */
/* #undef _LIBCPP_HAS_NO_STDOUT */
/* #undef _LIBCPP_HAS_NO_THREADS */
/* #undef _LIBCPP_HAS_NO_MONOTONIC_CLOCK */
/* #undef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS */
/* #undef _LIBCPP_HAS_MUSL_LIBC */
/* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */
/* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */
/* #undef _LIBCPP_HAS_THREAD_API_WIN32 */
/* #undef _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL */
/* #undef _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS */
#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
/* #undef _LIBCPP_NO_VCRUNTIME */
/* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */
/* #undef _LIBCPP_ABI_NAMESPACE */
/* #undef _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY */
/* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS */
/* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */
/* #undef _LIBCPP_HAS_NO_LOCALIZATION */
#define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
// This is a workaround for BoringSSL, which is compiled in C11 mode
@@ -37,4 +13,31 @@
#define _LIBCPP_COMPILER_CLANG_BASED
#endif
#if defined(__APPLE__)
#define _LIBCPP_PSTL_BACKEND_LIBDISPATCH 1
#else
#define _LIBCPP_PSTL_BACKEND_STD_THREAD 1
#endif
#define _LIBCPP_HARDENING_MODE_DEFAULT _LIBCPP_HARDENING_MODE_NONE
#define _LIBCPP_HAS_FILESYSTEM 1
#define _LIBCPP_HAS_LOCALIZATION 1
#define _LIBCPP_HAS_MONOTONIC_CLOCK 1
#define _LIBCPP_HAS_RANDOM_DEVICE 1
#define _LIBCPP_HAS_THREADS 1
#define _LIBCPP_HAS_VENDOR_AVAILABILITY_ANNOTATIONS 0
#define _LIBCPP_HAS_UNICODE 1
#define _LIBCPP_HAS_WIDE_CHARACTERS 1
#ifdef _WIN32
#define _LIBCPP_HAS_THREAD_API_PTHREAD 0
#define _LIBCPP_HAS_THREAD_API_EXTERNAL 0
#define _LIBCPP_HAS_THREAD_API_WIN32 1
#else
#define _LIBCPP_HAS_THREAD_API_PTHREAD 1
#define _LIBCPP_HAS_THREAD_API_EXTERNAL 0
#define _LIBCPP_HAS_THREAD_API_WIN32 0
#endif
#endif // _LIBCPP_CONFIG_SITE

View File

@@ -0,0 +1,16 @@
# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
config("config") {
visibility = [ ":*" ]
include_dirs = [ "." ]
defines = [ "LIBC_NAMESPACE=__llvm_libc_fl" ]
}
group("llvm_libc") {
# llvm-libc is only used as a dependency of libcxx.
visibility = [ "//flutter/third_party/libcxx" ]
public_configs = [ ":config" ]
}

View File

@@ -173,7 +173,7 @@ function verify_licenses() (
local actualLicenseCount
actualLicenseCount="$(tail -n 1 flutter/ci/licenses_golden/licenses_flutter | tr -dc '0-9')"
local expectedLicenseCount=841
local expectedLicenseCount=843
if [[ $actualLicenseCount -ne $expectedLicenseCount ]]; then
echo "=============================== ERROR ==============================="

View File

@@ -2186,19 +2186,20 @@
../../../flutter/third_party/libcxx/CMakeLists.txt
../../../flutter/third_party/libcxx/CREDITS.TXT
../../../flutter/third_party/libcxx/TODO.TXT
../../../flutter/third_party/libcxx/appveyor-reqs-install.cmd
../../../flutter/third_party/libcxx/appveyor.yml
../../../flutter/third_party/libcxx/benchmarks
../../../flutter/third_party/libcxx/cmake
../../../flutter/third_party/libcxx/docs
../../../flutter/third_party/libcxx/include/CMakeLists.txt
../../../flutter/third_party/libcxx/include/__cxx03/version
../../../flutter/third_party/libcxx/include/version
../../../flutter/third_party/libcxx/lib/abi/CHANGELOG.TXT
../../../flutter/third_party/libcxx/lib/abi/CMakeLists.txt
../../../flutter/third_party/libcxx/lib/abi/README.TXT
../../../flutter/third_party/libcxx/modules/.clang-format
../../../flutter/third_party/libcxx/modules/CMakeLists.txt
../../../flutter/third_party/libcxx/modules/README.md
../../../flutter/third_party/libcxx/src/.clang-tidy
../../../flutter/third_party/libcxx/src/CMakeLists.txt
../../../flutter/third_party/libcxx/src/ryu/README.txt
../../../flutter/third_party/libcxx/src/support/solaris
../../../flutter/third_party/libcxx/test
../../../flutter/third_party/libcxx/utils
../../../flutter/third_party/libcxxabi/.clang-format
@@ -2304,6 +2305,307 @@
../../../flutter/third_party/libwebp/swig
../../../flutter/third_party/libwebp/tests
../../../flutter/third_party/libwebp/webp_js
../../../flutter/third_party/llvm_libc/.clang-tidy
../../../flutter/third_party/llvm_libc/.git
../../../flutter/third_party/llvm_libc/.gitignore
../../../flutter/third_party/llvm_libc/AOR_v20.02
../../../flutter/third_party/llvm_libc/CMakeLists.txt
../../../flutter/third_party/llvm_libc/README.txt
../../../flutter/third_party/llvm_libc/benchmarks
../../../flutter/third_party/llvm_libc/cmake
../../../flutter/third_party/llvm_libc/config/CMakeLists.txt
../../../flutter/third_party/llvm_libc/config/windows/README.md
../../../flutter/third_party/llvm_libc/docs/CMakeLists.txt
../../../flutter/third_party/llvm_libc/docs/README.txt
../../../flutter/third_party/llvm_libc/docs/_static/custom.css
../../../flutter/third_party/llvm_libc/docs/conf.py
../../../flutter/third_party/llvm_libc/examples
../../../flutter/third_party/llvm_libc/fuzzing
../../../flutter/third_party/llvm_libc/hdr/CMakeLists.txt
../../../flutter/third_party/llvm_libc/hdr/func/CMakeLists.txt
../../../flutter/third_party/llvm_libc/hdr/types/CMakeLists.txt
../../../flutter/third_party/llvm_libc/include/CMakeLists.txt
../../../flutter/third_party/llvm_libc/include/Uefi.yaml
../../../flutter/third_party/llvm_libc/include/arpa/inet.yaml
../../../flutter/third_party/llvm_libc/include/assert.yaml
../../../flutter/third_party/llvm_libc/include/complex.yaml
../../../flutter/third_party/llvm_libc/include/ctype.yaml
../../../flutter/third_party/llvm_libc/include/dirent.yaml
../../../flutter/third_party/llvm_libc/include/dlfcn.yaml
../../../flutter/third_party/llvm_libc/include/elf.yaml
../../../flutter/third_party/llvm_libc/include/endian.yaml
../../../flutter/third_party/llvm_libc/include/errno.yaml
../../../flutter/third_party/llvm_libc/include/fcntl.yaml
../../../flutter/third_party/llvm_libc/include/features.yaml
../../../flutter/third_party/llvm_libc/include/fenv.yaml
../../../flutter/third_party/llvm_libc/include/float.yaml
../../../flutter/third_party/llvm_libc/include/inttypes.yaml
../../../flutter/third_party/llvm_libc/include/limits.yaml
../../../flutter/third_party/llvm_libc/include/link.yaml
../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/CMakeLists.txt
../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/windows/CMakeLists.txt
../../../flutter/third_party/llvm_libc/include/llvm-libc-types/CMakeLists.txt
../../../flutter/third_party/llvm_libc/include/locale.yaml
../../../flutter/third_party/llvm_libc/include/malloc.yaml
../../../flutter/third_party/llvm_libc/include/math.yaml
../../../flutter/third_party/llvm_libc/include/poll.yaml
../../../flutter/third_party/llvm_libc/include/pthread.yaml
../../../flutter/third_party/llvm_libc/include/sched.yaml
../../../flutter/third_party/llvm_libc/include/search.yaml
../../../flutter/third_party/llvm_libc/include/setjmp.yaml
../../../flutter/third_party/llvm_libc/include/signal.yaml
../../../flutter/third_party/llvm_libc/include/spawn.yaml
../../../flutter/third_party/llvm_libc/include/stdbit.yaml
../../../flutter/third_party/llvm_libc/include/stdckdint.yaml
../../../flutter/third_party/llvm_libc/include/stdfix.yaml
../../../flutter/third_party/llvm_libc/include/stdint.yaml
../../../flutter/third_party/llvm_libc/include/stdio.yaml
../../../flutter/third_party/llvm_libc/include/stdlib-malloc.yaml
../../../flutter/third_party/llvm_libc/include/stdlib.yaml
../../../flutter/third_party/llvm_libc/include/string.yaml
../../../flutter/third_party/llvm_libc/include/strings.yaml
../../../flutter/third_party/llvm_libc/include/sys/auxv.yaml
../../../flutter/third_party/llvm_libc/include/sys/epoll.yaml
../../../flutter/third_party/llvm_libc/include/sys/ioctl.yaml
../../../flutter/third_party/llvm_libc/include/sys/mman.yaml
../../../flutter/third_party/llvm_libc/include/sys/prctl.yaml
../../../flutter/third_party/llvm_libc/include/sys/random.yaml
../../../flutter/third_party/llvm_libc/include/sys/resource.yaml
../../../flutter/third_party/llvm_libc/include/sys/select.yaml
../../../flutter/third_party/llvm_libc/include/sys/sendfile.yaml
../../../flutter/third_party/llvm_libc/include/sys/socket.yaml
../../../flutter/third_party/llvm_libc/include/sys/stat.yaml
../../../flutter/third_party/llvm_libc/include/sys/statvfs.yaml
../../../flutter/third_party/llvm_libc/include/sys/syscall.yaml
../../../flutter/third_party/llvm_libc/include/sys/time.yaml
../../../flutter/third_party/llvm_libc/include/sys/types.yaml
../../../flutter/third_party/llvm_libc/include/sys/uio.yaml
../../../flutter/third_party/llvm_libc/include/sys/utsname.yaml
../../../flutter/third_party/llvm_libc/include/sys/wait.yaml
../../../flutter/third_party/llvm_libc/include/sysexits.yaml
../../../flutter/third_party/llvm_libc/include/termios.yaml
../../../flutter/third_party/llvm_libc/include/threads.yaml
../../../flutter/third_party/llvm_libc/include/time.yaml
../../../flutter/third_party/llvm_libc/include/uchar.yaml
../../../flutter/third_party/llvm_libc/include/unistd.yaml
../../../flutter/third_party/llvm_libc/include/wchar.yaml
../../../flutter/third_party/llvm_libc/lib/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/.clang-tidy
../../../flutter/third_party/llvm_libc/src/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/CPP/.clang-tidy
../../../flutter/third_party/llvm_libc/src/__support/CPP/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/CPP/README.md
../../../flutter/third_party/llvm_libc/src/__support/FPUtil/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/README.md
../../../flutter/third_party/llvm_libc/src/__support/File/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/File/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/GPU/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/HashTable/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/baremetal/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/arm/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/aarch64/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/arm/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/i386/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/riscv/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/x86_64/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/uefi/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/OSUtil/windows/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/RPC/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/StringUtil/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/fixed_point/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/macros/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/macros/README.md
../../../flutter/third_party/llvm_libc/src/__support/macros/properties/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/macros/properties/README.md
../../../flutter/third_party/llvm_libc/src/__support/threads/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/threads/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/threads/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/time/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/time/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/time/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/__support/time/windows/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/arpa/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/arpa/inet/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/assert/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/assert/generic/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/assert/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/compiler/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/compiler/generic/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/complex/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/complex/generic/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/ctype/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/dirent/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/dlfcn/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/errno/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/fcntl/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/fcntl/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/fenv/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/inttypes/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/link/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/locale/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/math/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/math/amdgpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/math/generic/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/math/nvptx/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/poll/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/poll/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/pthread/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sched/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sched/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/search/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/search/hsearch/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/setjmp/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/setjmp/aarch64/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/setjmp/arm/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/setjmp/riscv/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/setjmp/x86_64/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/signal/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/signal/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/spawn/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/spawn/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdbit/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdfix/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdio/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdio/baremetal/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdio/generic/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdio/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdio/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdio/printf_core/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdlib/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdlib/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/stdlib/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/string/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/string/memory_utils/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/string/memory_utils/README.md
../../../flutter/third_party/llvm_libc/src/strings/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/auxv/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/auxv/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/epoll/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/mman/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/mman/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/prctl/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/prctl/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/random/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/random/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/resource/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/resource/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/select/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/select/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/sendfile/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/sendfile/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/socket/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/socket/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/stat/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/stat/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/statvfs/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/statvfs/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/uio/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/uio/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/utsname/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/utsname/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/wait/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/sys/wait/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/termios/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/termios/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/threads/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/threads/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/time/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/time/baremetal/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/time/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/time/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/time/strftime_core/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/time/windows/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/unistd/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/unistd/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/unistd/windows/CMakeLists.txt
../../../flutter/third_party/llvm_libc/src/wchar/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/baremetal/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/gpu/amdgpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/gpu/nvptx/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/linux/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/linux/aarch64/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/linux/riscv/CMakeLists.txt
../../../flutter/third_party/llvm_libc/startup/linux/x86_64/CMakeLists.txt
../../../flutter/third_party/llvm_libc/test
../../../flutter/third_party/llvm_libc/utils/CMakeLists.txt
../../../flutter/third_party/llvm_libc/utils/MPCWrapper/CMakeLists.txt
../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/CMakeLists.txt
../../../flutter/third_party/llvm_libc/utils/buildbot/Dockerfile
../../../flutter/third_party/llvm_libc/utils/buildbot/README.txt
../../../flutter/third_party/llvm_libc/utils/docgen/aio.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/arpa/inet.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/assert.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/cpio.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/ctype.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/docgen.py
../../../flutter/third_party/llvm_libc/utils/docgen/endian.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/errno.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/fenv.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/float.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/glob.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/header.py
../../../flutter/third_party/llvm_libc/utils/docgen/inttypes.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/locale.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/net/if.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/netinet/in.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/pthread.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/setjmp.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/signal.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/stdbit.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/stdio.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/stdlib.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/string.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/strings.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/sys/mman.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/sys/resource.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/sys/stat.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/sys/statvfs.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/sys/time.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/sys/utsname.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/sys/wait.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/termios.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/threads.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/uchar.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/unistd.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/wchar.yaml
../../../flutter/third_party/llvm_libc/utils/docgen/wctype.yaml
../../../flutter/third_party/llvm_libc/utils/gpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/utils/gpu/loader/CMakeLists.txt
../../../flutter/third_party/llvm_libc/utils/gpu/loader/amdgpu/CMakeLists.txt
../../../flutter/third_party/llvm_libc/utils/gpu/loader/nvptx/CMakeLists.txt
../../../flutter/third_party/llvm_libc/utils/hdrgen/CMakeLists.txt
../../../flutter/third_party/llvm_libc/utils/hdrgen/README.rst
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/__init__.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/enumeration.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/function.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/gpu_headers.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/header.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/macro.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/main.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/object.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/type.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/yaml_functions_sorted.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/yaml_to_classes.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/main.py
../../../flutter/third_party/llvm_libc/utils/hdrgen/tests
../../../flutter/third_party/llvm_libc/utils/hdrgen/yaml_to_classes.py
../../../flutter/third_party/llvm_libc/utils/mathtools/GenerateHPDConstants.py
../../../flutter/third_party/llvm_libc/utils/mathtools/ryu_tablegen.py
../../../flutter/third_party/ocmock
../../../flutter/third_party/perfetto/.clang-format
../../../flutter/third_party/perfetto/.clang-tidy

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +1,2 @@
Signature: 3e70644686476fd49381d86a050498ab
Signature: cec01bd0c0bafa428e0b3b8cf34c3159

View File

@@ -183,6 +183,7 @@ class SkiaGPUObject {
if (object_ && queue_) {
queue_->Unref(object_.release());
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
queue_ = nullptr;
FML_DCHECK(object_ == nullptr);
}

View File

@@ -93,6 +93,7 @@ TEST_F(SkiaGpuObjectTest, QueueSimple) {
SkRefCnt* ref_object = new TestSkObject(latch, &dtor_task_queue_id);
unref_queue()->Unref(ref_object);
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
latch->Wait();
ASSERT_EQ(dtor_task_queue_id, unref_task_runner()->GetTaskQueueId());
}
@@ -107,6 +108,7 @@ TEST_F(SkiaGpuObjectTest, ObjectDestructor) {
// Verify that the default SkiaGPUObject dtor queues and unref.
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
latch->Wait();
ASSERT_EQ(dtor_task_queue_id, unref_task_runner()->GetTaskQueueId());
}

View File

@@ -36,7 +36,7 @@ static std::string ReadStringFromFile(const fml::UniqueFD& fd) {
fml::FileMapping mapping(fd);
if (mapping.GetMapping() == nullptr) {
return nullptr;
return {};
}
return {reinterpret_cast<const char*>(mapping.GetMapping()),

View File

@@ -11,6 +11,8 @@
#include "flutter/fml/macros.h"
#include "gtest/gtest.h"
// NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks)
#if defined(__clang__)
#define ALLOW_PESSIMIZING_MOVE(code_line) \
_Pragma("clang diagnostic push") \
@@ -641,3 +643,5 @@ TEST(RefCountedTest, DebugChecks) {
} // namespace
} // namespace fml
// NOLINTEND(clang-analyzer-cplusplus.NewDeleteLeaks)

View File

@@ -139,6 +139,7 @@ class RefPtr final {
if (old_ptr) {
old_ptr->Release();
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return *this;
}
@@ -155,6 +156,7 @@ class RefPtr final {
if (old_ptr) {
old_ptr->Release();
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return *this;
}
@@ -163,12 +165,14 @@ class RefPtr final {
// equivalent to |RefPtr<T>(std::move(r)).swap(*this)|.
RefPtr<T>& operator=(RefPtr<T>&& r) {
RefPtr<T>(std::move(r)).swap(*this);
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return *this;
}
template <typename U>
RefPtr<T>& operator=(RefPtr<U>&& r) {
RefPtr<T>(std::move(r)).swap(*this);
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return *this;
}

View File

@@ -236,6 +236,7 @@ class UniqueIncluder final : public shaderc::CompileOptions::IncluderInterface {
public:
static std::unique_ptr<UniqueIncluder> Make(
std::shared_ptr<Includer> includer) {
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return std::unique_ptr<UniqueIncluder>(
new UniqueIncluder(std::move(includer)));
}

View File

@@ -4,6 +4,7 @@
#include "impeller/display_list/testing/rmse.h"
#include <cmath>
#include "flutter/fml/logging.h"
namespace flutter {

View File

@@ -47,6 +47,7 @@ std::unique_ptr<Screenshot> MetalScreenshotter::MakeScreenshot(
CGImageRef cgImage = [cicontext createCGImage:flipped
fromRect:[ciImage extent]];
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return std::unique_ptr<MetalScreenshot>(new MetalScreenshot(cgImage));
}
}

View File

@@ -37,6 +37,7 @@ raw_ptr<const Sampler> SamplerLibraryGLES::GetSampler(
}
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
auto sampler = std::unique_ptr<SamplerGLES>(new SamplerGLES(descriptor));
samplers_.push_back(std::make_pair(p_key, std::move(sampler)));

View File

@@ -74,6 +74,7 @@ std::unique_ptr<Surface> SurfaceGLES::WrapFBO(
gl_context.GetGPUTracer()->RecordRasterThread();
#endif // IMPELLER_DEBUG
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return std::unique_ptr<SurfaceGLES>(
new SurfaceGLES(std::move(swap_callback), render_target_desc));
}

View File

@@ -503,6 +503,7 @@ std::unique_ptr<PipelineVK> PipelineVK::Create(
return nullptr;
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
auto pipeline_vk = std::unique_ptr<PipelineVK>(new PipelineVK(
device_holder, //
library, //

View File

@@ -253,6 +253,7 @@ CapabilitiesBuilder& CapabilitiesBuilder::SetSupportsExtendedRangeFormats(
}
std::unique_ptr<Capabilities> CapabilitiesBuilder::Build() {
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return std::unique_ptr<StandardCapabilities>(new StandardCapabilities( //
supports_offscreen_msaa_, //
supports_ssbo_, //

View File

@@ -54,6 +54,7 @@ std::unique_ptr<RuntimeStage> RuntimeStage::RuntimeStageIfPresent(
return nullptr;
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
return std::unique_ptr<RuntimeStage>(
new RuntimeStage(runtime_stage, payload));
}

View File

@@ -138,6 +138,7 @@ class ScopedObject final {
object_->Release();
object_ = nullptr;
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
}
};

View File

@@ -6,6 +6,8 @@
#include "impeller/toolkit/interop/impeller.h"
#include "impeller/toolkit/interop/object.h"
// NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks)
namespace impeller::interop::testing {
IMPELLER_DEFINE_HANDLE(FlagHandle);
@@ -96,3 +98,5 @@ TEST(InteropObjectTest, CanCopyAssignMove) {
}
} // namespace impeller::interop::testing
// NOLINTEND(clang-analyzer-cplusplus.NewDeleteLeaks)

View File

@@ -35,6 +35,7 @@
// CREATE_NATIVE_ENTRY is leaky by design
// NOLINTBEGIN(clang-analyzer-core.StackAddressEscape)
// NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks)
namespace impeller {
@@ -1020,4 +1021,5 @@ TEST_F(ImageDecoderFixtureTest, NullCheckBuffer) {
} // namespace testing
} // namespace flutter
// NOLINTEND(clang-analyzer-cplusplus.NewDeleteLeaks)
// NOLINTEND(clang-analyzer-core.StackAddressEscape)

View File

@@ -197,6 +197,7 @@ Dart_Handle Picture::DoRasterizeToImage(const sk_sp<DisplayList>& display_list,
// image_callback is associated with the Dart isolate and must be
// deleted on the UI thread.
image_callback.reset();
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
});
// Kick things off on the raster rask runner.
@@ -223,6 +224,7 @@ Dart_Handle Picture::DoRasterizeToImage(const sk_sp<DisplayList>& display_list,
}));
return Dart_Null();
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
}
} // namespace flutter

View File

@@ -211,6 +211,7 @@ fml::RefPtr<DartSnapshot> DartSnapshot::IsolateSnapshotFromMappings(
return snapshot;
}
return nullptr;
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
}
fml::RefPtr<DartSnapshot> DartSnapshot::VMServiceIsolateSnapshotFromSettings(

View File

@@ -919,6 +919,7 @@ void Shell::OnPlatformViewCreated(std::unique_ptr<Surface> surface) {
// is the raster thread.
raster_task();
}
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
}
// |PlatformView::Delegate|

View File

@@ -301,6 +301,7 @@ const StandardMessageCodec& StandardMessageCodec::GetInstance(
if (it == sInstances->end()) {
// Uses new due to private constructor (to prevent API clients from
// accidentally passing temporary codec instances to channels).
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
auto emplace_result = sInstances->emplace(
serializer, std::unique_ptr<StandardMessageCodec>(
new StandardMessageCodec(serializer)));
@@ -348,6 +349,7 @@ const StandardMethodCodec& StandardMethodCodec::GetInstance(
if (it == sInstances->end()) {
// Uses new due to private constructor (to prevent API clients from
// accidentally passing temporary codec instances to channels).
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
auto emplace_result = sInstances->emplace(
serializer, std::unique_ptr<StandardMethodCodec>(
new StandardMethodCodec(serializer)));

View File

@@ -16,6 +16,7 @@
FLUTTER_ASSERT_ARC
// NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks)
namespace {
using namespace flutter;
fml::RefPtr<fml::TaskRunner> CreateNewThread(const std::string& name) {
@@ -132,3 +133,4 @@ class MockPlatformMessageResponse : public PlatformMessageResponse {
XCTAssertTrue(response->is_complete());
}
@end
// NOLINTEND(clang-analyzer-cplusplus.NewDeleteLeaks)

View File

@@ -3,6 +3,7 @@
#include "flutter/fml/logging.h"
#include <algorithm>
#include <mutex>
#include <optional>
#include <thread>
#include <vector>

View File

@@ -255,6 +255,7 @@ EmbedderThreadHost::CreateEmbedderManagedThreadHost(
}
return nullptr;
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
}
// static

View File

@@ -2781,10 +2781,10 @@ TEST_F(EmbedderTest, CanLaunchAndShutdownWithAValidElfSource) {
}
#if defined(__clang_analyzer__)
#define TEST_VM_SNAPSHOT_DATA nullptr
#define TEST_VM_SNAPSHOT_INSTRUCTIONS nullptr
#define TEST_ISOLATE_SNAPSHOT_DATA nullptr
#define TEST_ISOLATE_SNAPSHOT_INSTRUCTIONS nullptr
#define TEST_VM_SNAPSHOT_DATA "vm_data"
#define TEST_VM_SNAPSHOT_INSTRUCTIONS "vm_instructions"
#define TEST_ISOLATE_SNAPSHOT_DATA "isolate_data"
#define TEST_ISOLATE_SNAPSHOT_INSTRUCTIONS "isolate_instructions"
#endif
//------------------------------------------------------------------------------

View File

@@ -3,6 +3,8 @@
// found in the LICENSE file.
#include "flutter/shell/platform/linux/public/flutter_linux/fl_standard_message_codec.h"
#include <cmath>
#include "flutter/shell/platform/linux/testing/fl_test.h"
#include "gtest/gtest.h"

View File

@@ -6,6 +6,7 @@
#include <gmodule.h>
#include <cmath>
#include "gtest/gtest.h"
TEST(FlDartProjectTest, Null) {

View File

@@ -150,7 +150,8 @@ int _checkAndroid(String outPath, String nmPath, Iterable<String> builds) {
for (final String key in entryMap.keys) {
final bool isValidFlutterGpuSymbol =
key.startsWith('InternalFlutterGpu') && entryMap[key] == 'T';
if (!isValidFlutterGpuSymbol && entryMap[key] != expectedSymbols[key]) {
final bool isLibcxxSymbol = key.endsWith('_lcxx_override');
if (!isValidFlutterGpuSymbol && !isLibcxxSymbol && entryMap[key] != expectedSymbols[key]) {
badSymbols[key] = entryMap[key]!;
}
}

View File

@@ -48,6 +48,7 @@ std::unique_ptr<TestVulkanSurface> TestVulkanSurface::Create(
SkSurfaceProps surface_properties(0, kUnknown_SkPixelGeometry);
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
auto result = std::unique_ptr<TestVulkanSurface>(
new TestVulkanSurface(std::move(image_result.value())));
result->surface_ = SkSurfaces::WrapBackendTexture(

View File

@@ -5,6 +5,7 @@
#ifndef BASE_CONTAINER_UTILS_H_
#define BASE_CONTAINER_UTILS_H_
#include <algorithm>
#include <set>
#include <vector>

View File

@@ -770,6 +770,94 @@ class _RepositoryCxxStlDualLicenseFile extends _RepositoryLicenseFile {
List<License> get licenses => _licenses;
}
class _RepositoryLlvmLibcLicenseFile extends _RepositorySingleLicenseFile {
_RepositoryLlvmLibcLicenseFile(_RepositoryDirectory parent, fs.TextFile io)
: super(parent, io, _parseLicense(io));
static final RegExp _pattern = RegExp(
r'^'
r'==============================================================================\n'
r'The LLVM Project is under the Apache License v2\.0 with LLVM Exceptions:\n'
r'==============================================================================\n'
r'\n('
r' *Apache License\n'
r' *Version 2.0, January 2004\n'
r' *http://www.apache.org/licenses/\n'
r'\n'
r'.+?)\n+'
r'---- LLVM Exceptions to the Apache 2.0 License ----'
r'.+?'
r'==============================================================================\n'
r'Software from third parties included in the LLVM Project:\n'
r'==============================================================================\n'
r'The LLVM Project contains third party software which is under different license\n'
r'terms\. All such code will be identified clearly using at least one of two\n'
r'mechanisms:\n'
r'1\) It will be in a separate directory tree with its own `LICENSE\.txt` or\n'
r' *`LICENSE` file at the top containing the specific license and restrictions\n'
r' *which apply to that software, or\n'
r'2\) It will contain specific license and restriction terms at the top of every\n'
r' *file\.\n'
r'\n'
r'==============================================================================\n'
r'Legacy LLVM License \(https://llvm\.org/docs/DeveloperPolicy\.html#legacy\):\n'
r'==============================================================================\n'
r'University of Illinois/NCSA\n'
r'Open Source License\n'
r'\n'
r'(Copyright \(c\) 2007-2019 University of Illinois at Urbana-Champaign\.\n'
r'All rights reserved\.\n'
r'\n'
r'Developed by:\n'
r'\n'
r' *LLVM Team\n'
r'\n'
r' *University of Illinois at Urbana-Champaign\n'
r'\n'
r' *http://llvm\.org\n'
r'\n'
r'Permission is hereby granted, free of charge, to any person obtaining a copy of\n'
r'this software and associated documentation files \(the "Software"\), to deal with\n'
r'the Software without restriction, including without limitation the rights to\n'
r'use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n'
r'of the Software, and to permit persons to whom the Software is furnished to do\n'
r'so, subject to the following conditions:\n'
r'\n'
r' *\* Redistributions of source code must retain the above copyright notice,\n'
r' *this list of conditions and the following disclaimers\.\n'
r'\n'
r' *\* Redistributions in binary form must reproduce the above copyright notice,\n'
r' *this list of conditions and the following disclaimers in the\n'
r' *documentation and/or other materials provided with the distribution\.\n'
r'\n'
r' *\* Neither the names of the LLVM Team, University of Illinois at\n'
r' *Urbana-Champaign, nor the names of its contributors may be used to\n'
r' *endorse or promote products derived from this Software without specific\n'
r' *prior written permission\.\n'
r'\n'
r'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n'
r'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n'
r'FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT\. IN NO EVENT SHALL THE\n'
r'CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n'
r'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n'
r'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE\n'
r'SOFTWARE\.)\n*'
r'$',
dotAll: true,
);
static License _parseLicense(fs.TextFile io) {
final Match? match = _pattern.firstMatch(io.readString());
if (match == null) {
throw 'unexpected license file contents';
}
if (match.groupCount != 2) {
throw 'internal error; match count inconsistency\nRemainder:[[${match.input.substring(match.end)}]]';
}
return License.fromBodyAndType(match.group(2)!, LicenseType.bsd, origin: io.fullName);
}
}
class _RepositoryKhronosLicenseFile extends _RepositoryLicenseFile {
_RepositoryKhronosLicenseFile(super.parent, super.io) : _licenses = _parseLicenses(io);
@@ -1052,6 +1140,7 @@ class _RepositoryDirectory extends _RepositoryEntry implements LicenseSource {
'/flutter/third_party/inja/third_party/include/nlohmann/json.hpp': _RepositoryInjaJsonFile.new,
'/flutter/third_party/libcxx/LICENSE.TXT': _RepositoryCxxStlDualLicenseFile.new,
'/flutter/third_party/libcxxabi/LICENSE.TXT': _RepositoryCxxStlDualLicenseFile.new,
'/flutter/third_party/llvm_libc/LICENSE.TXT': _RepositoryLlvmLibcLicenseFile.new,
'/flutter/third_party/libjpeg-turbo/src/LICENSE': _RepositoryLibJpegTurboLicenseFile.new,
'/flutter/third_party/libjpeg-turbo/src/README.ijg': _RepositoryReadmeIjgFile.new,
'/flutter/third_party/libpng/LICENSE': _RepositoryLibPngLicenseFile.new,

View File

@@ -137,6 +137,11 @@ final Set<String> skippedPaths = <String>{
r'flutter/third_party/libwebp/gradle', // not included in our build
r'flutter/third_party/libwebp/swig', // not included in our build
r'flutter/third_party/libwebp/webp_js',
r'flutter/third_party/llvm_libc/AOR_v20.02',
r'flutter/third_party/llvm_libc/benchmarks',
r'flutter/third_party/llvm_libc/examples',
r'flutter/third_party/llvm_libc/fuzzing',
r'flutter/third_party/llvm_libc/test',
r'flutter/third_party/ninja', // build system
r'flutter/third_party/ocmock', // only used for tests
r'flutter/third_party/perfetto/debian', // contains nothing that ends up in the binary executable

View File

@@ -1438,6 +1438,37 @@ final List<RegExp> csNoticeLicenses = <RegExp>[
multiLine: true,
caseSensitive: false,
),
// Seen in libcxx std::format headers
RegExp(
kIndent +
(r'Distributed under the Terms of Use in https://www\.unicode\.org/copyright\.html\. '
r'Permission is hereby granted, free of charge, to any person obtaining '
r'a copy of the Unicode data files and any associated documentation '
r'\(the "Data Files"\) or Unicode software and any associated documentation '
r'\(the "Software"\) to deal in the Data Files or Software '
r'without restriction, including without limitation the rights to use, '
r'copy, modify, merge, publish, distribute, and/or sell copies of '
r'the Data Files or Software, and to permit persons to whom the Data Files '
r'or Software are furnished to do so, provided that either '
r'\(a\) this copyright and permission notice appear with all copies '
r'of the Data Files or Software, or '
r'\(b\) this copyright and permission notice appear in associated '
r'Documentation\. '
r'THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF '
r'ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE '
r'WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND '
r'NONINFRINGEMENT OF THIRD PARTY RIGHTS\. '
r'IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS '
r'NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL '
r'DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, '
r'DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER '
r'TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR '
r'PERFORMANCE OF THE DATA FILES OR SOFTWARE\. '
.replaceAll(' ', _linebreak)),
multiLine: true,
caseSensitive: false,
),
];
final List<RegExp> csStrayCopyrights = <RegExp>[