llvm-toolchain-10 (1:10.0.1-5) unstable; urgency=medium
authorGianfranco Costamagna <locutusofborg@debian.org>
Mon, 31 Aug 2020 10:28:24 +0000 (11:28 +0100)
committerGianfranco Costamagna <locutusofborg@debian.org>
Mon, 31 Aug 2020 10:28:24 +0000 (11:28 +0100)
  [ John Paul Adrian Glaubitz ]
  * Use dh-exec to exclude lib/libPolly*.a on powerpc and
    powerpcspe from libclang-common-X.Y-dev.install.in

  [ Gianfranco Costamagna ]
  * autopkgtests: ignore binfmts enable command return value.

[dgit import unpatched llvm-toolchain-10 1:10.0.1-5]

220 files changed:
1  2 
debian/NEWS
debian/README
debian/README.source
debian/TODO
debian/changelog
debian/clang-X.Y-doc.docs.in
debian/clang-X.Y-doc.install.in
debian/clang-X.Y-examples.examples.in
debian/clang-X.Y.install.in
debian/clang-X.Y.links.in
debian/clang-X.Y.lintian-overrides.in
debian/clang-X.Y.manpages.in
debian/clang-format-X.Y.install.in
debian/clang-format-X.Y.lintian-overrides.in
debian/clang-format-X.Y.manpages.in
debian/clang-tidy-X.Y.install.in
debian/clang-tidy-X.Y.links.in
debian/clang-tidy-X.Y.lintian-overrides.in
debian/clang-tidy-X.Y.manpages.in
debian/clang-tools-X.Y.install.in
debian/clang-tools-X.Y.links.in
debian/clang-tools-X.Y.lintian-overrides.in
debian/clang-tools-X.Y.manpages.in
debian/clangd-X.Y.install.in
debian/clangd-X.Y.manpages.in
debian/compat
debian/control
debian/copyright
debian/debian_path.h
debian/libc++-X.Y-dev.install.in
debian/libc++-X.Y-dev.links.in
debian/libc++-X.Y-dev.lintian-overrides.in
debian/libc++1-X.Y.install.in
debian/libc++1-X.Y.links.in
debian/libc++1-X.Y.lintian-overrides.in
debian/libc++abi-X.Y-dev.install.in
debian/libc++abi-X.Y-dev.links.in
debian/libc++abi-X.Y-dev.lintian-overrides.in
debian/libc++abi1-X.Y.install.in
debian/libc++abi1-X.Y.links.in
debian/libc++abi1-X.Y.lintian-overrides.in
debian/libclang-X.Y-dev.install.in
debian/libclang-X.Y-dev.links.in
debian/libclang-common-X.Y-dev.install.in
debian/libclang-common-X.Y-dev.links.in
debian/libclang-cppX.Y-dev.install.in
debian/libclang-cppX.Y-dev.links.in
debian/libclang-cppX.Y.install.in
debian/libclang-cppX.Y.links.in
debian/libclang1-X.Y.install.in
debian/libclang1-X.Y.links.in
debian/libclang1-X.Y.lintian-overrides.in
debian/libclang1-X.Y.symbols.in
debian/liblld-X.Y-dev.install.in
debian/liblld-X.Y.install.in
debian/liblld-X.Y.links.in
debian/liblldb-X.Y-dev.install.in
debian/liblldb-X.Y-dev.links.in
debian/liblldb-X.Y.install.in
debian/liblldb-X.Y.links.in
debian/liblldb-X.Y.lintian-overrides.in
debian/libllvm-X.Y-ocaml-dev.META.in
debian/libllvm-X.Y-ocaml-dev.dirs.in
debian/libllvm-X.Y-ocaml-dev.install.in
debian/libllvm-X.Y-ocaml-dev.lintian-overrides.in
debian/libllvmX.Y.install.in
debian/libllvmX.Y.links.in
debian/libllvmX.Y.lintian-overrides.in
debian/libomp-X.Y-dev.install.in
debian/libomp-X.Y-dev.links.in
debian/libomp-X.Y-doc.docs.in
debian/libomp-X.Y.links.in
debian/libomp5-X.Y.install.in
debian/libomp5-X.Y.links.in
debian/libomp5-X.Y.lintian-overrides.in
debian/libomp5-X.Y.symbols.in
debian/lld-X.Y.install.in
debian/lld-X.Y.manpages.in
debian/lldb-X.Y.install.in
debian/lldb-X.Y.links.in
debian/lldb-X.Y.lintian-overrides.in
debian/lldb-X.Y.manpages.in
debian/lldb-X.Y.postinst.in
debian/llvm-X.Y-dev.dirs.in
debian/llvm-X.Y-dev.install.in
debian/llvm-X.Y-dev.links.in
debian/llvm-X.Y-doc.dirs.in
debian/llvm-X.Y-doc.install.in
debian/llvm-X.Y-examples.dirs.in
debian/llvm-X.Y-examples.examples.in
debian/llvm-X.Y-examples.links.in
debian/llvm-X.Y-runtime.binfmt.in
debian/llvm-X.Y-runtime.install.in
debian/llvm-X.Y-runtime.lintian-overrides.in
debian/llvm-X.Y-runtime.manpages.in
debian/llvm-X.Y-runtime.postinst.in
debian/llvm-X.Y-runtime.prerm.in
debian/llvm-X.Y-tools.dirs.in
debian/llvm-X.Y-tools.install.in
debian/llvm-X.Y.dirs.in
debian/llvm-X.Y.install.in
debian/llvm-X.Y.lintian-overrides.in
debian/llvm-X.Y.manpages.in
debian/llvm-priv-dev.dirs
debian/orig-tar.sh
debian/patches/0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch
debian/patches/0001-systemz-allow-configuring-default-SYSTEMZ_DEFAULT_AR.patch
debian/patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch
debian/patches/0003-Debian-version-info-and-bugreport.patch
debian/patches/0044-soname.diff
debian/patches/0048-Set-html_static_path-_static-everywhere.patch
debian/patches/0049-Use-Debian-provided-MathJax-everywhere.patch
debian/patches/19-clang_debian_version.patch
debian/patches/23-strlcpy_strlcat_warning_removed.diff
debian/patches/26-set-correct-float-abi.diff
debian/patches/930008-arm.diff
debian/patches/D67877.patch
debian/patches/atomic_library_1.diff
debian/patches/bootstrap-fix-include-next.diff
debian/patches/clang-analyzer-force-version.diff
debian/patches/clang-arm-default-vfp3-on-armv7a.patch
debian/patches/clang-baseline-fix-i386.patch
debian/patches/clang-format-version.diff
debian/patches/clang-tidy-run-bin.diff
debian/patches/clang_vendor_pass_stage2.diff
debian/patches/clangd-atomic-cmake.patch
debian/patches/debug-jit-path.diff
debian/patches/declare_clear_cache.diff
debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff
debian/patches/disable-error-xray.diff
debian/patches/disable-fuzzer-compiler-rt-x86.diff
debian/patches/disable-lit-cpuid-install.diff
debian/patches/disable-llvm-symbolizer-test.diff
debian/patches/disable-path-test-failing.diff
debian/patches/disable-sse2-old-x86.diff
debian/patches/do-not-fail-on-unexpected-pass.diff
debian/patches/fix-clang-path-and-build.diff
debian/patches/fix-llvm-config-obj-src-root.patch
debian/patches/fix-scan-view-path.diff
debian/patches/hurd/hurd-EIEIO-undef.diff
debian/patches/hurd/hurd-cxx-paths.diff
debian/patches/hurd/hurd-pathmax.diff
debian/patches/install-scan-build-py.diff
debian/patches/kfreebsd/CMakeLists.txt.diff
debian/patches/kfreebsd/clang_lib_Basic_Targets.diff
debian/patches/kfreebsd/compiler-rt_lib.diff
debian/patches/kfreebsd/include_llvm_ADT_Triple.h.diff
debian/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff
debian/patches/kfreebsd/kfreebsd-openmp.diff
debian/patches/kfreebsd/kfreebsd-threads-build.diff
debian/patches/kfreebsd/kfreebsd-triple-clang.diff
debian/patches/kfreebsd/kfreebsd-triple.diff
debian/patches/kfreebsd/lib_Support.diff
debian/patches/kfreebsd/lib_Target_X86.diff
debian/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff
debian/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff
debian/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff
debian/patches/libcxx/libcxx-riscv64-cycletimer.diff
debian/patches/libcxx/libcxx-silent-failure-arm64.diff
debian/patches/libcxx/libcxx-silent-failure-ppc64el.diff
debian/patches/libcxx/libcxx-silent-test-libcxx.diff
debian/patches/libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch
debian/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch
debian/patches/libcxx/libcxxabi-arm-ehabi-fix.patch
debian/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch
debian/patches/lldb-libname.diff
debian/patches/lldb-soname.diff
debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch
debian/patches/lldb/lldb-disable-swig-error.diff
debian/patches/lldb/lldb-link-atomic-cmake.patch
debian/patches/lldb/lldb-missing-install.diff
debian/patches/mips-force-nomadd4.patch
debian/patches/mips-fpxx-enable.diff
debian/patches/no-cgi.patch
debian/patches/no-z3.patch
debian/patches/openmp-soname.diff
debian/patches/openmp/bootstrap-with-openmp-version-export-missing.diff
debian/patches/openmp/openmp-check-execstack.diff
debian/patches/openmp/openmp-mips-affinity.patch
debian/patches/powerpcspe/D49754-powerpcspe-clang.diff
debian/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff
debian/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff
debian/patches/print-lldb-path.patch
debian/patches/python-clangpath.diff
debian/patches/python3-shebang.patch
debian/patches/remove-apple-clang-manpage.diff
debian/patches/remove-test-freezing.diff
debian/patches/remove-trailing-space-version.diff
debian/patches/risc/clang-riscv64-multiarch.diff
debian/patches/risc/riscv64-multilib-empty.patch
debian/patches/scan-build-clang-path.diff
debian/patches/scan-view-fix-path.diff
debian/patches/series
debian/patches/silent-MCJIIT-tests.diff
debian/patches/silent-amd-tet.diff
debian/patches/silent-gold-test.diff
debian/patches/silent-gold-utils.diff
debian/patches/silent-llvm-isel-fuzzer.diff
debian/patches/silent-more-tests.diff
debian/patches/silent-test-failing-codeverage.diff
debian/patches/silent-test-macho.diff
debian/patches/symbolizer-path.diff
debian/patches/test-keep-alive.diff
debian/patches/ubuntu-groovy.diff
debian/patches/unwind-chain-inclusion.diff
debian/patches/workaround-bug-42994-use-linker.diff
debian/pollycc.in
debian/prepare-new-release.sh
debian/python3-clang-X.Y.install.in
debian/python3-lldb-X.Y.install.in
debian/python3-lldb-X.Y.links.in
debian/qualify-clang.sh
debian/rules
debian/source/format
debian/source/lintian-overrides
debian/tests/cmake-test
debian/tests/control
debian/tests/integration-test-suite-test
debian/unpack.sh
debian/watch

diff --cc debian/NEWS
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..edd628b749b27c49f4bc4c06b80d6d09deab7429
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++llvm-toolchain-7 (1:7.0.1-1) unstable; urgency=medium
++
++  * llvm-toolchain packages are built using clang itself (stage2)
++    - stage1 = build clang with gcc
++    - stage2 = clang building itself
++    This could lead to some unexpected (but rare) ABI issues.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 16 Nov 2018 13:00:39 +0100
++
++llvm-toolchain-7 (1:7-1) unstable; urgency=medium
++
++  * From version 7, llvm-toolchain also provides libc++, libc++abi
++    and OpenMP packages. Non-coinstallable on purpose.
++  * Packages, binaries and libraries have been renamed.
++    Instead of the X.Y naming, we moved to X to match the
++    naming from upstream.
++    As example, clang version 7 is named clang-7 (unlike clang-6.0)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 17 Jan 2018 10:50:39 +0100
++
++llvm-toolchain-snapshot (1:3.6~svn214630-1~exp1) experimental; urgency=medium
++
++  * clang is now co-instalable. Available on version 3.4, 3.5 and 3.6
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 02 Aug 2014 12:57:41 +0200
diff --cc debian/README
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7e86a204c753b598553915f1b93d1ff26fde76ab
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,111 @@@
++Organization of the repository
++==============================
++
++The debian package for each LLVM point release is maintained as a git branch.
++For example, the 10 release lives at in the "10" branch.
++
++The current snapshot release is maintained in the "snapshot" branch.
++
++The easiest way to get all branches is probably to have one
++clone per version:
++
++for f in 8 9 10 snapshot; do
++    git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f
++done
++
++Steps for manually building a snapshot release
++==============================================
++
++1) Retrieve the latest snapshot and create original tarballs.
++
++   Run the orig-tar.sh script,
++
++     $ sh snapshot/debian/orig-tar.sh
++
++   which will retrieve the latest version for each LLVM subproject (llvm,
++   clang, lldb, etc.) from the main development (upstream github). and repack it
++   as a set of tarballs.
++
++2) Unpack the original tarballs and apply quilt debian patches.
++
++   From the branches/ directory run the unpack.sh script,
++
++     $ sh unpack.sh
++
++   which will unpack the source tree inside a new directory such as
++   branches/llvm-toolchain-snapshot_3.9~+20191018225217+3b113a2be6d.
++   (date+hour+short git hash).
++   Depending on the current snapshot version number and git release,
++   the directory name will be
++   different.
++
++   Quilt patches will then be applied.
++
++3) Build the binary packages using,
++
++     $ fakeroot debian/rules binary
++
++When debugging, successive builds can be recompiled faster by using tools such
++as ccache (PATH=/usr/lib/ccache:$PATH fakeroot debian/rules binary).
++
++Retrieving a specific branch or release candidate with orig-tar.sh
++==================================================================
++
++When using orig-tar.sh, if you need to retrieve a specific branch, you can pass
++the branch name as the first argument. For example, to get the 10 release
++branch at
++  https://github.com/llvm/llvm-project/branches
++you should use,
++
++  $ sh 10/debian/orig-tar.sh release/10.x
++
++To retrieve a specific release candidate, you can pass the branch name as the
++first argument, and the tag rc number as the second argument. For example, to
++get the 9.0.1 release candidate rc3 at
++  https://github.com/llvm/llvm-project/tags
++you should use,
++
++  $ sh 10/debian/orig-tar.sh 10.0.1 rc3
++
++For a stable release, the syntax is:
++
++ $ sh 10/debian/orig-tar.sh 10.0.0
++
++
++Additional maintainer scripts
++=============================
++
++The script qualify-clang.sh that is found at the git debian/ directory
++should be used to quickly test a newly built package. It runs a short
++set of sanity-check tests and regression tests.
++
++The script releases/snapshot/debian/prepare-new-release.sh is used when
++preparing a new point release. It automatically replaces version numbers
++in various files of the package.
++
++Making a change to all versions
++===============================
++
++Sometimes, we want to make a change on all branches.
++In that case, start to make the change from the older
++version (example: 8), then, change branch (example: 9) and
++$ git merge origin/8
++to retrieve the changes
++
++
++Change in major upstream version
++================================
++TODO update with the git commands
++
++$ svn copy snapshot VERSION
++$ svn commit -m "VERSION branched" VERSION
++$ cd VERSION
++$ sed -i -e '0,/llvm-toolchain-snapshot/s/llvm-toolchain-snapshot/llvm-toolchain-VERSION/' debian/changelog debian/control
++$ svn commit -m "snapshot => VERSION"
++$ cd ../snapshot
++$ emacs debian/prepare-new-release.sh
++# Change the version
++$ bash debian/prepare-new-release.sh
++$ svn commit -m "new snapshot release"
++
++Now, try build build it.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3e2e1ad7b53c78aebd2b67ea2ceb4294955d040e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++All programs and libraries shipped in this package are trying to stay as close
++as possible from upstream.
++
++However, because of the objectives of Debian, besides paths, some changes are
++made.
++
++= File names =
++
++* To make sure that most of the llvm-toolchain packages are co-installable,
++files are installed in /usr/lib/llvm-X/
++and symlinks are managed by the other package llvm-defaults
++
++
++= CPU extensions =
++
++* For x86, SSE2 extensions are disabled (and the target CPU is i686 instead of
++  pentium4).
++
++* For armel, uses float ABI instead of hard.
++
++* For armv7-a, NEON extensions are disabled.
++
++* For mips, FPXX is enabled.
++
++* For riscv64, the hard-float ABI is used instead of the float one, and
++  the target CPU is set to RV64GC instead of RV64I.
++
++* For s390x: set default abi to z196 for debian, and z13 for ubuntu.
++  See https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-10/+bug/1864226
++
++= Libraries =
++
++* sonames are created
++
++* Build-ID are enabled
++
++
++ -- Sylvestre Ledru <sylvestre@debian.org>, Mon, 30 Mar 2020 11:08:10 +0200
++
diff --cc debian/TODO
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b0f378d5be1fed6a4b3833bb170c34d36cf344eb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++* package utils/creduce-clang-crash.py
++
++* add the support of libclang in llvm default (for now, it is
++called libclang1-3.3.so)
++
++* move the header at the right place in libclang-dev
++
++* In 1:7.0.1~+rc2-5, we did:
++  * Fix a baseline violation on armhf (Closes: #914268)
++    clang-arm-default-vfp3-on-armv7a.patch has been updated to disable
++    neon in another place
++It caused 200+ tests to fail on arm:
++https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-7&arch=amd64&ver=1%3A7.0.1%7E%2Brc2-4&stamp=1542503855&raw=0
++https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-7&arch=amd64&ver=1%3A7.0.1%7E%2Brc2-5&stamp=1542863723&raw=0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..eab252107b35afeea4deacb4777a7a2d4d202489
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3817 @@@
++llvm-toolchain-10 (1:10.0.1-5) unstable; urgency=medium
++
++  [ John Paul Adrian Glaubitz ]
++  * Use dh-exec to exclude lib/libPolly*.a on powerpc and
++    powerpcspe from libclang-common-X.Y-dev.install.in
++
++  [ Gianfranco Costamagna ]
++  * autopkgtests: ignore binfmts enable command return value.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 31 Aug 2020 12:28:24 +0200
++
++llvm-toolchain-10 (1:10.0.1-4) unstable; urgency=medium
++
++  * Fix testsuite by ignoring binfmts test
++    (can't be enabled on autopkgtests)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 28 Aug 2020 21:54:05 +0200
++
++llvm-toolchain-10 (1:10.0.1-3) unstable; urgency=medium
++
++  * Fix testsuite by enabling binfmts support before using it
++    (the default is disabled)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 27 Aug 2020 12:42:20 +0200
++
++llvm-toolchain-10 (1:10.0.1-2) unstable; urgency=medium
++
++  [ Samuel Thibault ]
++  * patches/hurd/hurd-cxx-paths.diff: Refresh, some of the factorization was
++    backported from 11 to 10.
++
++  [ Gianfranco Costamagna ]
++  * debian/patches/mips-force-nomadd4.patch: Apply and rebase patch to disable
++    nomadd4 on mips* (Closes: #964989)
++    - thanks Yunqiang Su <wzssyqa@gmail.com> for the patch
++
++  [ Steve Langasek ]
++  * Drop ocaml support on i386, which pulls in a series of packages which
++    is not reasonable to support.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 23 Aug 2020 22:57:55 +0200
++
++llvm-toolchain-10 (1:10.0.1-1) unstable; urgency=medium
++
++  * New release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 21 Jul 2020 18:29:06 +0200
++
++llvm-toolchain-10 (1:10.0.1~+rc4-1) unstable; urgency=medium
++
++  * New RC release (of course, I was wrong)
++  * Update the binfmt-support postinstall to match what is done elsewhere
++    in Debian
++  * Add binfmt-support to one of the autopkgtest tests
++    And make sure that the test is only executed when installed correctly
++    Otherwise, fails with
++    "./foo.bc: cannot execute binary file: Exec format error"
++  * patches/remove-trailing-space-version.diff: cherry-pick an upstream patch
++    to address https://bugs.llvm.org/show_bug.cgi?id=38998#c15
++    trailing whitespace of clang full version causing a display issue
++    when building the linux kernel with clang
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 08 Jul 2020 10:49:26 +0200
++
++llvm-toolchain-10 (1:10.0.1~+rc3-1) unstable; urgency=medium
++
++  * New rc release. Should be the last (this is why I am
++    uploading to unstable)
++  * Ship with integration-test-suite-test and run it with autopkgtest
++    integration-test-suite-test is a project started by Serge Guelton
++    and myself.
++    The goal is to provide a set of tests to verify that llvm/clang/etc
++    are working as expected in a distro (Linux, BSD, etc).
++    But also to bring a set of expectations of what a LLVM toolchain should
++    looks like when shipping to users.
++    Serge is taking care of that work for Fedora/Redhat.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 07 Jul 2020 09:44:59 +0200
++
++llvm-toolchain-10 (1:10.0.1~+rc2-1~exp1) experimental; urgency=medium
++
++  * New rc release
++  * Pass CLANG_VENDOR to CLANG_BOOTSTRAP_PASSTHROUGH
++    Fix https://bugs.llvm.org/show_bug.cgi?id=38998
++    For our friends of https://github.com/ClangBuiltLinux/
++  * remove try-to-fix-polly-link.patch and D74453-riscv-atomic_cmp_xchg.diff
++    (applied upstream)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 27 Jun 2020 11:28:28 +0200
++
++llvm-toolchain-10 (1:10.0.1~+rc1-1~exp1) experimental; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * first rc of 10.0.1
++  * Enable LLVM_ENABLE_DUMP (Closes: #956966)
++  * Move binfmt-support as Recommends llvm-10-runtime
++    instead of a strong dependencies (Closes: #958127)
++  * build libc++ with -DLIBCXX_USE_COMPILER_RT=YES
++    and -DLIBCXXABI_USE_COMPILER_RT=YES
++  * Remove D76596.diff (merged upstream)
++
++  [ Gianfranco Costamagna ]
++  * Don't run tests on riscv64/Ubuntu for now, the virtual machines timeout
++    during testsuite (probably lack of proper capable hardware to run it)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 19 May 2020 08:17:26 +0200
++
++llvm-toolchain-10 (1:10.0.0-4) unstable; urgency=medium
++
++  * Also ship polly libs in libclang-common-10-dev.
++    Fixes bug #44870 (upstream)
++  * move risc patches into their own directory
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 10 Apr 2020 10:27:41 +0200
++
++llvm-toolchain-10 (1:10.0.0-3) unstable; urgency=medium
++
++  * ppc64el/autopkgtest: Just like with arm64, ignore two tests
++  * Update the copyright file with recent changes (Closes: #956287)
++    Thanks to Michael Lustfield for the detective work
++
++  [ Jessica Clarke ]
++  * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on
++    riscv64.
++
++  [ William Grant ]
++  * debian/patches/riscv64-multilib-empty.patch: Adjust riscv64 GCC detector
++    to also check for existence of crtbegin.o in the default multilib dir,
++    like most other ports. Fixes FTBFS on riscv64, since on Ubuntu
++    /usr/lib/gcc/riscv64-linux-gnu/10 exists but is empty (gcc-10-base is
++    installed, but libgcc-10-dev is not).
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 02 Apr 2020 21:48:13 +0200
++
++llvm-toolchain-10 (1:10.0.0-2) unstable; urgency=medium
++
++  [ Dimitri John Ledkov <xnox@ubuntu.com> ]
++  * s390x: set default abi to z196 for debian, and z13 for ubuntu.
++    LP: #1864226
++
++  [ Matthias Klose <doko@ubuntu.com> ]
++  * Apply D76596.diff, proposed backport from the trunk. LP: #1867173.
++    This was causing postgresql to FTBFS with llvm 10
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 27 Mar 2020 05:16:28 +0100
++
++llvm-toolchain-10 (1:10.0.0-1) unstable; urgency=medium
++
++  * New release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 24 Mar 2020 17:37:07 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc6-1) unstable; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * Sixth RC release
++  * Really fix the arm64 autopkgtest
++
++  [ Gianfranco Costamagna ]
++  * debian/patches/d21664cce1db8debe2528f36b1fbd2b8af9c9401.patch:
++    - cherry-pick upstream commit to hopefully unbreak mesa builds
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 23 Mar 2020 20:39:36 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc5-1) unstable; urgency=medium
++
++  * Fith RC release
++  * Make autopkgtest/qualify-clang.sh work on arm64
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 19 Mar 2020 15:59:43 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc4-1) unstable; urgency=medium
++
++  * Fourth RC release
++  * Disable the emmintrin.h build test in qualify-clang.sh on arm64
++  * Add some tests for clangd usage
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 13 Mar 2020 20:42:36 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc3-1) unstable; urgency=medium
++
++  * Third RC release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Mar 2020 14:56:12 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc2-3) unstable; urgency=medium
++
++  * Disable libfuzzer on x86
++    https://bugs.llvm.org/show_bug.cgi?id=43677
++    FTBFS otherwise
++  * Add a libclang-cpp10-dev package (needed to unbreak the cmake)
++    https://bugs.llvm.org/show_bug.cgi?id=42432
++    This makes libclang-cpp10 usable and polish the links and dups
++  * Fix the *clang* desc as C++17 is supported
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 01 Mar 2020 20:59:25 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc2-2) unstable; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * Bring back libfuzzer, for some reasons I don't remember
++    I disabled it:
++    https://bugs.llvm.org/show_bug.cgi?id=41956
++  * Silent the polly tests in debian/qualify-clang.sh
++    clang (LLVM option parsing): Unknown command line argument
++    '-polly'.  Try: 'clang (LLVM option parsing) --help'
++
++  [ Aurelien Jarno ]
++  * Also disable hwasan_symbolize on mipsel mips64el riscv64
++
++  [ Gianfranco Costamagna ]
++  * Patch to convert old python3 cgi method into the new html one
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 29 Feb 2020 14:04:22 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc2-1) unstable; urgency=medium
++
++  * Upload to unstable to get ci.debian.net testing
++  * Also disable hwasan_symbolize on armel s390x powerpc ppc64
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 16 Feb 2020 14:50:53 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc2-1~exp1) experimental; urgency=medium
++
++  * Second RC release
++    - Should fix the s390x issue (reported upstream)
++    (Closes: #950900)
++  * Do not try to install hwasan_symbolize on armhf ppc64el
++    as it isn't built
++    (Closes: #950899)
++
++  [ Samuel Thibault ]
++  * hurd/hurd-cxx-paths.diff: Fix patch so it can be applied.
++  * clang-tools-X.Y.install.in: Do not try to install hwasan_symbolize on
++    hurd-any.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 06 Feb 2020 10:37:39 +0100
++
++llvm-toolchain-10 (1:10.0.0~+rc1-1~exp1) experimental; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * fix lldb-10 -P path print (Closes: #945445)
++  * Fix lldb python installation path and symlinks
++  * Drop version constraint from libffi-dev library, satisfied since
++    old-old-stable
++
++  [ Sylvestre Ledru ]
++  * First RC release
++  * For now, disable ThinLTO usage because:
++      - LLVM_ENABLE_LTO doesn't work with gcc >= 9 (option not accepted)
++      - BOOTSTRAP_LLVM_ENABLE_LTO is producing some large binary
++        (uses llvm ir instead of binary code)
++        See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623
++  * Thanks to this previous change, don't hardcode gcc 8
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 03 Feb 2020 10:30:50 +0100
++
++llvm-toolchain-10 (1:10~++20200121023453+de4b2a7fad6-1~exp1) experimental; urgency=medium
++
++  * Branch llvm-toolchain-10 into its own branch
++  * Merge recent 9 changes (python 3 and testsuite mostly)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 21 Jan 2020 14:38:02 +0100
++
++llvm-toolchain-snapshot (1:10~+20191229111838+6991d5728f1-1~exp1) experimental; urgency=medium
++
++  * experimental New snapshot release
++  * Add a '+' in the version (as the old upload is high than the one without)
++    Will be removed in 11
++  * Sync 9 into 10
++  * Change of the version layout date+short git version
++  * Install /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a
++    /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so in libomp-X-dev
++  * Install usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize in clang-tools-X.Y
++  * Introduce python3-clang-10 (closes: #942826)
++  * Remove python-lldb-10
++  * Remove Python 2 deps (Closes: #945695)
++  * Disable the polly testsuite:
++    - freezing in the current build
++    - not a big deal if failing
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 29 Dec 2019 12:47:15 +0100
++
++llvm-toolchain-snapshot (1:10~+201911120943210600592dd459242-1~exp1) experimental; urgency=medium
++
++  * Repack to move to git
++  * Change the versioning scheme to git:
++    Infos of the last commit
++    - ~+ (this syntax is to make sure that this version > ~svn)
++    - date
++    - hour/minute/second
++    - short git hash
++  * Move the checkout of the sources from svn to git
++  * Use -DLLVM_ENABLE_PROJECTS instead of symlinks
++  * Use -DBOOTSTRAP_LLVM_ENABLE_LTO instead of
++    -DLLVM_ENABLE_LTO (not sure what it wasn't done)
++  * clang: Force the installation of libclang-cpp with the exact same version
++    and remove libclang as dep
++  * Bunch of changes coming from the branch 9
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 12 Nov 2019 16:51:40 +0100
++
++llvm-toolchain-snapshot (1:10~svn375339-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Last upload before the move to git
++  * lldb-libname.diff: disable for now, seems it that it is now handled
++    by cmake https://reviews.llvm.org/D68858. TODO: check it still work
++  * Remove "revert-r373786-libclang-cpp.diff" (applied upstream)
++  * Add dependency between libclang-cpp => libllvm with the exact version
++    (Closes: #942526)
++  * Build using -DCLANG_LINK_CLANG_DYLIB=ON to force the usage of dynamic
++    library instead of static library when building clang tools.
++    Decreases the total size from 510M to 278M (amd64)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Oct 2019 12:19:36 +0200
++
++llvm-toolchain-snapshot (1:10~svn374655-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Install pp-trace, clang-move and clang-offload-wrapper in
++    clang-tools-10
++  * Revert
++    "[clang-tools-extra] [cmake] Link against libclang-cpp whenever
++    possible" as it introduces a dep from libclang to libclang-cpp
++    Breaking the symbol list (and people should like to libclang-cpp
++    if they want to use C++ api)
++    https://bugs.llvm.org/show_bug.cgi?id=43589
++  * Added a check in debian/rules to prevent that from happening again
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 12 Oct 2019 16:27:53 +0200
++
++llvm-toolchain-snapshot (1:10~svn372920-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Add two new symbols to libclang1:
++    - clang_install_aborting_llvm_fatal_error_handler
++    - clang_uninstall_llvm_fatal_error_handler
++  * site-packages renamed to dist-packages in python3-lldb-10
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 07 Sep 2019 09:07:01 +0200
++
++llvm-toolchain-snapshot (1:10~svn370840-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Update of the license file. Upstream moved to Apache 2
++    with LLVM exception (Closes: #935149)
++  * Debian moved to gcc-9. This gcc version now refuses -flto="Thin"
++    Move from LLVM_ENABLE_LTO="Thin" to BOOTSTRAP_LLVM_ENABLE_LTO="Thin"
++    to mitigate the issue (the argument should be passed only at the
++    second stage of the build process)
++    See https://bugs.llvm.org/show_bug.cgi?id=43193
++  * Rename libclang-cpp1-10 to libclang-cpp10 to match the soname and libllvm10
++    naming (at some point, all libs should do that ...)
++  * New symbols in libomp5:
++   - GOMP_loop_nonmonotonic_dynamic_next
++   - GOMP_loop_nonmonotonic_dynamic_start
++   - GOMP_loop_nonmonotonic_guided_next
++   - GOMP_loop_nonmonotonic_guided_start
++   - GOMP_loop_ull_nonmonotonic_dynamic_next
++   - GOMP_loop_ull_nonmonotonic_dynamic_start
++   - GOMP_loop_ull_nonmonotonic_guided_next
++   - GOMP_loop_ull_nonmonotonic_guided_start
++   - GOMP_parallel_loop_nonmonotonic_dynamic
++   - GOMP_parallel_loop_nonmonotonic_guided
++  * Workaround bug https://bugs.llvm.org/show_bug.cgi?id=42994
++    (fails to link on Debian buster)
++  * for Ubuntu xenial: pass PYTHON_EXE to the stage2 build
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Sep 2019 11:42:50 +0200
++
++llvm-toolchain-snapshot (1:10~svn368740-1~exp1) experimental; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Fixed wrong shlib generation of libomp5 library
++  * clangd: fix missing epoch in breaks/replaces relationship
++  * testsuite, add python, used in some test
++  * Cherry-pick various fixes from branch 8 and 9, do not break anymore with libllvm3.9v4
++
++  [ Aurelien Jarno ]
++  * Add support for riscv64:
++    - Always link with -latomic on riscv64.
++    - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64.
++    - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA.
++  * Document riscv64 debian specific changes in README.source.
++
++  [ Sylvestre Ledru ]
++  * New snapshot release
++  * lldb-mi removed
++  * Ship clangd-10 as a new package (Closes: #932432)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 13 Aug 2019 21:37:46 +0200
++
++llvm-toolchain-snapshot (1:10~svn368706-1~exp1) experimental; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * lldb-mi removed
++
++  [ Gianfranco Costamagna ]
++  * clangd: fix missing epoch in breaks/replaces relationship
++  * testsuite, add python, used in some test
++  * Cherry-pick various fixes from branch 8 and 9, do not break anymore with libllvm3.9v4
++
++  [ Sylvestre Ledru ]
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 13 Aug 2019 17:55:41 +0200
++
++llvm-toolchain-snapshot (1:10~svn366440-1~exp1) experimental; urgency=medium
++
++  * New version in snapshot (10)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 18 Jul 2019 18:58:32 +0200
++
++llvm-toolchain-9 (1:9.0.1-12) UNRELEASED; urgency=medium
++
++  * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on
++    riscv64.
++
++ -- Jessica Clarke <jrtc27@debian.org>  Wed, 01 Apr 2020 16:23:55 +0100
++
++llvm-toolchain-9 (1:9.0.1-11) unstable; urgency=medium
++
++  * Allow one to build g++ 9 & 10 to fix a gcc build dependency
++    (closes: #955144)
++    And disable thin lto on all archs
++    It needs gcc-8 after after 8 will reject the -flto=thin arg
++    And BOOTSTRAP_LLVM_ENABLE_LTO will generate .so with llvm IR instead
++    of native code
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 31 Mar 2020 21:11:56 +0200
++
++llvm-toolchain-9 (1:9.0.1-10) unstable; urgency=medium
++
++  * debian/patches/947f9692440836dcb8d88b74b69dd379d85974ce.patch:
++    - cherry-pick upstream fix for glibc 2.31
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 07 Mar 2020 01:01:35 +0100
++
++llvm-toolchain-9 (1:9.0.1-9) unstable; urgency=medium
++
++  * Add patch to fix python3.8 test failures with deprecated cgi method, move
++    to new html parser
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 25 Feb 2020 15:28:58 +0100
++
++llvm-toolchain-9 (1:9.0.1-8) unstable; urgency=medium
++
++  * Add two new python autopkgtests to avoid regressions in the future
++  * Fix m68k architecture
++  * Add Myself to uploaders
++  * Revert site-packages/dist-packages hacking mv, this is done upstream now
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 23 Jan 2020 14:30:57 +0100
++
++llvm-toolchain-9 (1:9.0.1-7) unstable; urgency=medium
++
++  * Add dependency on libclang-cpp-9 from llvm-9-dev (Closes: #946761)
++  * fix lldb-9 -P path print (Closes: #945445)
++  * Fix lldb python installation path and symlinks
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 21 Jan 2020 13:05:06 +0100
++
++llvm-toolchain-9 (1:9.0.1-6) unstable; urgency=medium
++
++  * Team upload.
++  * Add some more python3 shebangs (Closes: #948497)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 10 Jan 2020 09:37:55 +0100
++
++llvm-toolchain-9 (1:9.0.1-5) unstable; urgency=medium
++
++  * Install clang in Python3 directory (Closes: #948409)
++    - thanks Mike Gabriel for the helpful report!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 08 Jan 2020 12:15:06 +0100
++
++llvm-toolchain-9 (1:9.0.1-4) unstable; urgency=medium
++
++  * Source only upload to sid
++  * Force a python3 shebang on python modules to fix testsuite
++  * Do not run z3 tests if z3 support is not enabled
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 04 Jan 2020 08:52:02 +0100
++
++llvm-toolchain-9 (1:9.0.1-3) unstable; urgency=medium
++
++  [ John Paul Adrian Glaubitz ]
++  * Build polly docs and manpages only when polly is enabled (Closes: #947236)
++
++  [ Sylvestre Ledru ]
++  * Introduce python3-clang-9 (closes: #942826)
++  * Remove python-lldb-9
++  * Remove Python 2 deps (Closes: #945695)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 29 Dec 2019 12:37:34 +0100
++
++llvm-toolchain-9 (1:9.0.1-2) unstable; urgency=medium
++
++  [ James Clarke ]
++  * Include upstream patch D71028 for rust mips tests (Closes: #946874)
++
++  [ Aurelien Jarno ]
++  * Include upstream patch D60657 for rust support on riscv64.
++
++ -- James Clarke <jrtc27@debian.org>  Fri, 20 Dec 2019 18:30:29 +0000
++
++llvm-toolchain-9 (1:9.0.1-1) unstable; urgency=medium
++
++  * New stable release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 19 Dec 2019 13:48:21 +0100
++
++llvm-toolchain-9 (1:9.0.1~+rc3-2) unstable; urgency=medium
++
++  * Team upload.
++  [ Gianfranco Costamagna ]
++  * Commit Breaks/Replaces into git
++
++  [ Julian Andres Klode ]
++  * Fix llvm-9-tools Breaks/Replaces libclang-common-9-dev (<< 1:9.0.1~+rc2)
++    (Closes: #946473)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 19 Dec 2019 00:26:04 +0100
++
++llvm-toolchain-9 (1:9.0.1~+rc3-1) unstable; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * New snapshot release + upload to unstable
++  * Use secure URI in debian/watch.
++  * Move source package lintian overrides to debian/source.
++  * Remove patches force-gcc-header-obj.diff, hurd-pathmax.diff, impl-
++    path-hurd.diff, libcxxabi-arm-ehabi-fix.patch, libcxxabi-test-don-t-
++    fail-extended-long-double.patch, revert-change-soname.diff, try-to-
++    unbreak-thinlto.diff that are missing from debian/patches/series.
++  * Rely on pre-initialized dpkg-architecture variables.
++  * Move transitional package libclang-cpp1-9 to oldlibs/optional per
++    policy 4.0.1.
++
++  [ Aurelien Jarno ]
++  * llvm-riscv64-fix-cffi.diff: backport patch to fix CFI directives on
++    riscv64 from master.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 14 Dec 2019 12:43:17 +0100
++
++llvm-toolchain-9 (1:9.0.1~+rc2-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Fix some paths, upstream moved from site-packages
++    to dist-packages for python packages
++  * Move yaml-bench from libclang-common-X.Y-dev to llvm-X.Y-tools where
++    it belongs
++    See http://lists.llvm.org/pipermail/llvm-dev/2019-December/137337.html
++  * Add a project in the cmake-test to silent a warning
++    (Closes: #945489)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Dec 2019 07:56:16 +0100
++
++llvm-toolchain-9 (1:9.0.1~+rc1-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 24 Nov 2019 14:51:29 +0100
++
++llvm-toolchain-9 (1:9.0.0-5) UNRELEASED; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Patch cmake files to disable the z3 support in Ubuntu
++  * Simplify rules file to put -g1 everywhere
++
++  [ Sylvestre Ledru ]
++  * Add a project in the cmake-test to silent a warning (Closes: #945489)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 26 Nov 2019 09:24:38 +0100
++
++llvm-toolchain-9 (1:9.0.0-4) unstable; urgency=medium
++
++  [ Samuel Thibault ]
++  * hurd-cxx-paths.diff: Re-introduce patch to find C++ headers.
++  * hurd-EIEIO-undef.diff: Drop patch, already fixed a different way upstream.
++  * hurd-pathmax.diff: Drop now-useless parts.
++
++  [ Sylvestre Ledru ]
++  * Add libz3-dev as dependencies on llvm-X.Y-dev (Closes: #943996)
++  * Update build-dep libpfm4-dev to linux-any.
++    Thanks to Samuel Thibault for the patch
++
++  [ Gianfranco Costamagna ]
++  * Add also Ubuntu focal to the gcc-8 arch list
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 05 Nov 2019 10:30:26 +0100
++
++llvm-toolchain-9 (1:9.0.0-3) unstable; urgency=medium
++
++  * Seems to be ok, uploading to unstable
++    (Closes: #942864) fuzzer issues
++    (Closes: #943623) libclangIndex.a are llvm ir bitcode
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 31 Oct 2019 20:36:09 +0100
++
++llvm-toolchain-9 (1:9.0.0-3~exp2) experimental; urgency=medium
++
++  [ Weston Ortiz ]
++  * Remove incorrect Breaks/Conflicts for lldb-9 package
++    https://bugs.llvm.org/show_bug.cgi?id=43451
++
++  [ Sylvestre Ledru ]
++  * disable-fuzzer-compiler-rt.diff: bring back this patch.
++    Still breaks i386 compiler-rt/fuzzer
++    Disable fuzzer only for i386
++  * Use stage2 files to build the doc. For some reasons, clang-tools-extra
++    html generation stopped working
++  * Disable z3 when the version is too old
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 31 Oct 2019 00:29:09 +0100
++
++llvm-toolchain-9 (1:9.0.0-3~exp1) experimental; urgency=medium
++
++  * Revert the change -DBOOTSTRAP_LLVM_ENABLE_LTO to use
++    -DLLVM_ENABLE_LTO to see if it fixes 943623
++    and/or 942864
++    Disable disable-fuzzer-compiler-rt.diff to evaluate the whole thing
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 29 Oct 2019 20:05:38 +0100
++
++llvm-toolchain-9 (1:9.0.0-2) unstable; urgency=medium
++
++  * polly, openmp & lldb aren't enabled for every platform
++    So, add to PROJECTS only when enabled
++  * clang: Force the installation of libclang-cpp with the exact same version
++    and remove libclang as dep
++  * With the github move, libfuzzer is now compiled as part of the build
++    process. It fails to compile for some unexpected reasons.
++    As I have been compiling libfuzzer by hand for a while, just still
++    do this.
++    See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942864
++    https://bugs.llvm.org/show_bug.cgi?id=43677
++    disable-fuzzer-compiler-rt.diff
++  * Disable all kfreebsd patches:
++    - Needs rebasing on snapshot often
++    - Didn't build on Debian for a while
++    - Not forwarded upstream
++    - No support from the team
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 20 Oct 2019 17:27:50 +0200
++
++llvm-toolchain-9 (1:9.0.0-1) unstable; urgency=medium
++
++  * Repack to move to git
++  * Move the checkout of the sources from svn to git
++  * Use -DLLVM_ENABLE_PROJECTS instead of symlinks
++  * Use -DBOOTSTRAP_LLVM_ENABLE_LTO instead of
++    -DLLVM_ENABLE_LTO (not sure what it wasn't done)
++  * Add dependency between libclang-cpp => libllvm with the exact version
++    (Closes: #942526)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Oct 2019 10:30:41 +0200
++
++llvm-toolchain-9 (1:9-3) unstable; urgency=medium
++
++  * python-clang-9: missing dependency on libclang-9-dev
++    (Closes: #941890)
++  * Enable Z3 solver (llvm & clang) to improve the quality of the static
++    analysis results
++  * Do not fail the test suite on the -lclang-cpp failing
++    I think I need to create a libclang-cpp-dev package to unblock it
++    (but dunno why it works locally)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 17 Oct 2019 18:38:28 +0200
++
++llvm-toolchain-9 (1:9-2) unstable; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Enable lldb on s390x too, it builds fine now
++  * python*lldb, depend on liblldb-9 to avoid failure during import
++  * Add a basic cmake test to see if the package is imported correctly
++
++  [ Sylvestre Ledru ]
++  * add a cpuid check
++  * /disable-lit-cpuid-install.diff: Remove the lit-cpuid from the llvm
++    install.
++    It is provided by lldb and we don't want to add this as a new
++    dep from llvm-dev (Closes: #941082 #941306)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 03 Oct 2019 18:14:21 +0200
++
++llvm-toolchain-9 (1:9-1) unstable; urgency=medium
++
++  * New release
++  * Fix the FTBFS on all platform by adding -DCLANG_BUILD_EXAMPLES=OFF
++    to cmake.
++    So, the following libs aren't built anymore:
++       - usr/lib/llvm-9/lib/SampleAnalyzerPlugin.so
++       - usr/lib/llvm-9/lib/CheckerDependencyHandlingAnalyzerPlugin.so
++       - usr/lib/llvm-9/lib/CheckerOptionHandlingAnalyzerPlugin.so
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 24 Sep 2019 21:09:57 +0200
++
++llvm-toolchain-9 (1:9~+rc5-1~exp2) experimental; urgency=medium
++
++  * debian/patches/D67877.patch: fix LLVMExports.cmake with upstream-proposed
++    patch (Closes: #941082)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 24 Sep 2019 18:57:31 +0200
++
++llvm-toolchain-9 (1:9~+rc5-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 13 Sep 2019 14:45:01 +0200
++
++llvm-toolchain-9 (1:9~+rc4-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 10 Sep 2019 15:25:46 +0200
++
++llvm-toolchain-9 (1:9~+rc3-1~exp3) experimental; urgency=medium
++
++  * Force gcc before 9 (gcc 8 on Debian unstable) because it causes
++    huge increase of the size of the .deb (because of .a and .so) and
++    issues in the libs
++    (Closes: #939472)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 06 Sep 2019 23:27:28 +0200
++
++llvm-toolchain-9 (1:9~+rc3-1~exp2) experimental; urgency=medium
++
++  * Debian moved to gcc-9. This gcc version now refuses -flto="Thin"
++    Move from LLVM_ENABLE_LTO="Thin" to BOOTSTRAP_LLVM_ENABLE_LTO="Thin"
++    to mitigate the issue (the argument should be passed only at the
++    second stage of the build process)
++    See https://bugs.llvm.org/show_bug.cgi?id=43193
++  * Fix a link issue (Closes: #939172)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 02 Sep 2019 10:46:45 +0200
++
++llvm-toolchain-9 (1:9~+rc3-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Update of the license file. Upstream moved to Apache 2
++    with LLVM exception (Closes: #935149)
++  * remove 0050-Remove-explicit-python-version-list.patch
++    bug-43011-mips.diff as they are merged upstream
++  * llvm-9-dev depends on llvm-9-tools
++    Since https://reviews.llvm.org/D56606, LLVMExports.cmake
++    requires FileCheck when LLVM_INSTALL_UTILS=ON is enabled (which
++    is the case here).
++    See https://bugs.llvm.org/show_bug.cgi?id=43035
++  * Also add PYTHON_EXECUTABLE to the CLANG_BOOTSTRAP_PASSTHROUGH option
++    to fix an issue on xenial
++  * Add clangd-X => libclang-common-X-dev dependency
++    See https://bugs.llvm.org/show_bug.cgi?id=43152
++  * Remove the -lc++experimental test from the qualify-clang.sh script
++    as the lib has been removed in 9~svn366022-1~exp1
++  * Also install libclang-cpp in /usr/lib/llvm-X/lib/libclang-cpp.so.X
++  * Improve the fix-clang-path-and-build.diff patch
++    If this package was built with libclang-common installed on the system,
++    it could fail with 'use of undeclared identifier' because
++    #include_next was failing as it was expecting the next header to be
++    libstdc++
++    Now, if the local build headers are found, don't include system's
++  * Rename libclang-cpp1-9 to libclang-cpp9 to match the soname and libllvm9
++    naming (at some point, all libs should do that ...)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 27 Aug 2019 23:38:11 +0200
++
++llvm-toolchain-9 (1:9~+rc2-1~exp2) experimental; urgency=medium
++
++  * Try to fix the mips* ftbfs
++    See bug 43011
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 22 Aug 2019 18:17:32 +0200
++
++llvm-toolchain-9 (1:9~+rc2-1~exp1) experimental; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Add back python-* dependencies to fix tools not really ready for python3
++  * Fix missing epoch in breaks/replaces
++
++  [ Sylvestre Ledru ]
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 14 Aug 2019 10:36:17 +0200
++
++llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Fixed wrong shlib generation of libomp5 library
++  * Add python to testsuite
++
++  [ Sylvestre Ledru ]
++  * Move lit-cpuid from llvm-tools to lldb (wrong package)
++  * Ship clangd-9 as a new package (Closes: #932432)
++
++  [ Aurelien Jarno ]
++  * Add support for riscv64:
++    - Always link with -latomic on riscv64.
++    - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64.
++    - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA.
++    - patches/libcxx/libcxx-riscv64-cycletimer.diff: backport riscv64
++      cycletimer support from upstream.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 03 Aug 2019 11:41:07 +0200
++
++llvm-toolchain-9 (1:9~+rc1-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 29 Jul 2019 22:16:33 +0200
++
++llvm-toolchain-snapshot (1:9~svn366022-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * New symbols in libomp5 added in the symbol file
++    - __kmpc_omp_target_task_alloc
++    - __kmpc_task_allow_completion_event
++    - __kmpc_task_reduction_modifier_fini
++    - __kmpc_task_reduction_modifier_init
++    - __kmpc_taskred_init
++    - __kmpc_taskred_modifier_init
++    - omp_fulfill_event
++    - omp_fulfill_event_
++  * Bring back bootstrap-fix-include-next.diff which has been removed from
++    an unknown reason
++  * Remove libc++experimental.a (seems to be not installed)
++  * Install python3-setuptools as it seems that lldb moved to python 3
++    Was failing with
++    "ModuleNotFoundError: No module named 'distutils.sysconfig'"
++  * liblldb.a has been removed upstream
++  * Ship libclang-cpp1-9 as a new package
++  * Ship python3-lldb-9 as a new package
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 18 Jul 2019 15:52:37 +0200
++
++llvm-toolchain-snapshot (1:9~svn364913-1~exp1) experimental; urgency=medium
++
++  [ Andreas Beckmann ]
++  * For now, lld doesn't generate shared libs. Removing the files
++    (Closes: #857653, LP: #1829677)
++
++  [ Gianfranco Costamagna ]
++  * Do not enable Thin on armhf for now, it FTBFS
++
++  [ Sylvestre Ledru ]
++  * Cherry-pick the recent changes from the 8 branch
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 02 Jul 2019 14:36:52 +0200
++
++llvm-toolchain-snapshot (1:9~svn362869-1~exp2) experimental; urgency=medium
++
++  * New snapshot release
++  * Install clang-scan-deps as part of clang-tools
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 15 Jun 2019 10:47:18 +0200
++
++llvm-toolchain-snapshot (1:9~svn362869-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * remove debian/patches/reproducible-pch.diff
++    done upstream
++  * No longer install lldb-test (disable upstream in 358574)
++  * Install lit-cpuid in llvm-9-tools
++  * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl to the list of symbols
++  * New snapshot release
++  * remove debian/patches/reproducible-pch.diff
++    done upstream
++  * No longer install lldb-test (disable upstream in 358574)
++  * Install lit-cpuid in llvm-9-tools
++  * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and
++    clang_Cursor_isInlineNamespace to the list of symbols
++  * lldb-static-assert.diff (revert a patch failing the build)
++  * New snapshot release
++  * remove debian/patches/reproducible-pch.diff
++    done upstream
++  * No longer install lldb-test (disable upstream in 358574)
++  * Install lit-cpuid in llvm-9-tools
++  * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and
++    clang_Cursor_isInlineNamespace to the list of symbols
++  * Install usr/lib/llvm-9/lib/{SampleAnalyzerPlugin.so,
++    CheckerDependencyHandlingAnalyzerPlugin.so,
++    CheckerOptionHandlingAnalyzerPlugin.so}
++    in libclang-9-dev
++  * Build using thinlto on non stretch, xenial and trusty
++    (fails with some undef symbols)
++    Option -DLLVM_ENABLE_LTO="Thin" added
++  * WebAssembly is now build by default, remove it from the
++    experimental list
++  * check-polly was executed twice
++  * Move the default ARM arch from arm1176jzf-s (armv6) to cortex-a7
++    (Closes: #930008)
++
++  [ John Paul Adrian Glaubitz ]
++  * Use dh-exec to exclude lib/LLVM*.so on powerpc and
++    powerpcspe from llvm-X.Y-dev.install.in
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 08 Jun 2019 11:12:47 +0200
++
++llvm-toolchain-snapshot (1:9~svn358327-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Remove libc++fs.a (done upstream)
++  * add clang-doc in clang-tools
++  * python2.7/site-packages/readline.so removed from liblldb
++  * libOptRemarks.so has been renamed to libRemarks.so
++  * new symbol: omp_get_supported_active_levels
++
++  [ Gianfranco Costamagna ]
++  * Commit Ubuntu delta to 8 and snapshot branches
++
++  [ Matthias Klose ]
++  * Remove the autopkg test for a genuine LLVM bug.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 13 Apr 2019 11:06:00 +0200
++
++llvm-toolchain-snapshot (1:9~svn354105-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++
++  [ John Paul Adrian Glaubitz ]
++  * Remove usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so
++    from debian/llvm-X.Y-dev.install.in and install
++    the files conditionally in debian/rules
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 15 Feb 2019 09:32:35 +0100
++
++llvm-toolchain-snapshot (1:9~svn353106-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Install lldb-instr-X in lldb-X
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Feb 2019 23:44:27 +0100
++
++llvm-toolchain-snapshot (1:9~svn351420-1~exp2) experimental; urgency=medium
++
++  * Remove 'Multi-Arch: same' in libclang
++    (Closes: #874248)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Feb 2019 23:42:28 +0100
++
++llvm-toolchain-snapshot (1:9~svn351420-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Fix a typo in the arch declaration
++  * Remove patch D54677-hurd-path_max.diff (applied upstream)
++  * Fix debian-changelog-line-too-long
++  * Silent source-contains-prebuilt-windows-binary
++  * Silent executable-not-elf-or-script
++    usr/lib/llvm-8/share/clang/bash-autocomplete.sh
++  * Remove unapplied patches:
++    - D52340-rustc-debuginfo.diff
++    - D54379-hurd-triple-clang.diff
++    - hurd-cxx-paths.diff
++    - openmp-jessie-missing-include.diff
++    - rustc-aarch64-test-failure.diff
++    - strip-ignore-deterministic-archives.diff
++  * Update the list of openmp symbols (added):
++    - omp_get_device_num
++    - omp_get_initial_device
++    - omp_get_num_devices
++    - __kmpc_pause_resource (from v9)
++    - omp_pause_resource (from v9)
++    - omp_pause_resource_all (from v9)
++
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Feb 2019 23:42:20 +0100
++
++llvm-toolchain-snapshot (1:9~svn351375-1~exp1) experimental; urgency=medium
++
++  * New snapshot release and move to 9 as upstream branched
++  * Silent a source lintian warning
++    source: source-is-missing lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf
++  * Revert patch D55434 as it is breaking the build on old version of debian/ubuntu
++  * Remove BugpointPasses.so & TestPlugin.so as they don't ship anymore
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 16 Jan 2019 21:59:29 +0100
++
++llvm-toolchain-8 (1:8.0.1-4) unstable; urgency=medium
++
++  * Add clangd-X => libclang-common-X-dev dependency
++    See https://bugs.llvm.org/show_bug.cgi?id=43152
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 29 Aug 2019 09:42:41 +0200
++
++llvm-toolchain-8 (1:8.0.1-3) unstable; urgency=medium
++
++  * llvm-tools: depend on python2 packages too, the move to python3 was
++    premature and broke opt-viewer.py
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 07 Aug 2019 15:11:36 +0200
++
++llvm-toolchain-8 (1:8.0.1-2) unstable; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * clangd: Fix breaks+replaces missing epoch (Closes: #934016)
++  * Add python to testsuite, still required by some test
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 06 Aug 2019 09:36:11 +0200
++
++llvm-toolchain-8 (1:8.0.1-1) unstable; urgency=medium
++
++  * New stable release
++  * Ship python3-lldb-8 as a new package
++  * Ship clangd-8 as a new package (Closes: #932432)
++
++  [ Gianfranco Costamagna ]
++  * Fixed wrong shlib generation of libomp5 library
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 03 Aug 2019 11:44:29 +0200
++
++llvm-toolchain-8 (1:8.0.1~+rc4-2) unstable; urgency=medium
++
++  * Compile against Python 3
++    (Closes: #931029)
++
++ -- Christian Biesinger <cbiesinger@google.com>  Thu, 18 Jul 2019 14:13:56 -0500
++
++llvm-toolchain-8 (1:8.0.1~+rc4-1) unstable; urgency=medium
++
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 11 Jul 2019 08:39:38 +0200
++
++llvm-toolchain-8 (1:8.0.1~+rc3-1) unstable; urgency=medium
++
++  * New testing release in unstable
++
++  [ Gianfranco Costamagna ]
++  * Enable thinlto everywhere except armhf
++  * Drop wrong exit 1 from testsuite
++
++  [ Andreas Beckmann ]
++  * For now, lld doesn't generate shared libs. Removing the files
++    (Closes: #857653, LP: #1829677)
++
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 28 Jun 2019 20:15:23 +0200
++
++llvm-toolchain-8 (1:8.0.1~+rc2-1~exp1) experimental; urgency=medium
++
++  * New testing release
++  * Only enable thinlto on archs with gold, should fix the ftbfs
++  * Add libpfm4-dev as build dep + -DLLVM_ENABLE_LIBPFM=ON as it is
++    needed for llvm-exegesis https://bugs.llvm.org/show_bug.cgi?id=42187
++  * Improve the rendering of the qualify-clang.sh testsuite
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 08 Jun 2019 11:11:39 +0200
++
++llvm-toolchain-8 (1:8.0.1~+rc1-1~exp2) experimental; urgency=medium
++
++  * Build using thinlto on non stretch, xenial and trusty
++    (fails with some undef symbols)
++    Option -DLLVM_ENABLE_LTO="Thin" added
++  * WebAssembly is now build by default, remove it from the
++    experimental list
++  * check-polly was executed twice
++  * Move the default ARM arch from arm1176jzf-s (armv6) to cortex-a7
++    (Closes: #930008)
++
++  [ John Paul Adrian Glaubitz ]
++  * Use dh-exec to exclude lib/LLVM*.so on powerpc and
++    powerpcspe from llvm-X.Y-dev.install.in
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 19 May 2019 13:31:37 +0200
++
++llvm-toolchain-8 (1:8.0.1~+rc1-1~exp1) experimental; urgency=medium
++
++  * New testing release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 17 May 2019 08:33:53 +0200
++
++llvm-toolchain-8 (1:8-5) unstable; urgency=medium
++
++  * Try another way to address the mips64el issue
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 13 May 2019 11:36:47 +0200
++
++llvm-toolchain-8 (1:8-4) unstable; urgency=medium
++
++  * Try to disable mips64el-fix.diff (struct_kernel_stat_sz)
++    to workaround a mips issue with some new C{XX}FLAGS
++    see https://reviews.llvm.org/D59702
++
++  [ Gianfranco Costamagna ]
++  * Add Ubuntu eoan to supported ubuntu distro
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 29 Apr 2019 08:58:57 +0200
++
++llvm-toolchain-8 (1:8-3) unstable; urgency=medium
++
++  * Fix the FTBFS on mips (introduced by my previous change)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 02 Apr 2019 11:57:08 +0200
++
++llvm-toolchain-8 (1:8-2) unstable; urgency=medium
++
++  * Fix the search path on mips64el (which is causing the stage2
++    build of mips64el to fail
++    See https://bugs.llvm.org/show_bug.cgi?id=41204
++
++  [ Timo Aaltonen ]
++  * import patches for intel-opencl-clang: they fix various issues
++    with opengl and clang-8, and are taken from llvm master branch.
++    - Fix pointer blocks on OpenCL functions, that never pointed to real
++      functions
++    - Fix assertion errors on some OpenCL functions
++    - Refactor a little bit OpenCL calls, by emitting direct block calls.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 20 Mar 2019 14:36:40 +0100
++
++llvm-toolchain-8 (1:8-1) unstable; urgency=medium
++
++  * New upstream release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 19 Mar 2019 21:57:02 +0100
++
++llvm-toolchain-8 (1:8~+rc5-2) unstable; urgency=medium
++
++  * Try to fix a mips64el FTBFS
++    Cherry-pick of https://patches-gcc.linaro.org/patch/3032/
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 17 Mar 2019 20:18:19 +0100
++
++llvm-toolchain-8 (1:8~+rc5-1) unstable; urgency=medium
++
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 12 Mar 2019 12:27:41 +0100
++
++llvm-toolchain-8 (1:8~+rc4-1) unstable; urgency=medium
++
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 10 Mar 2019 11:06:14 +0100
++
++llvm-toolchain-8 (1:8~+rc3-1~exp1) unstable; urgency=medium
++
++  * New snapshot release
++  * Activate -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN for all
++    gcc
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 28 Feb 2019 12:33:57 +0100
++
++llvm-toolchain-8 (1:8~+rc2-1~exp3) UNRELEASED; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Commit Ubuntu delta to 8 and snapshot branches
++
++  [ Matthias Klose ]
++  * Remove the autopkg test for a genuine LLVM bug.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 06 Mar 2019 10:16:17 +0100
++
++llvm-toolchain-8 (1:8~+rc2-1~exp1) unstable; urgency=medium
++
++  * New snapshot release
++  * Add support for kfreebsd (Closes: #921246)
++    Many thanks to Svante Signell for all patches
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 07 Feb 2019 17:09:15 +0100
++
++llvm-toolchain-8 (1:8~+rc1-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Remove 'Multi-Arch: same' in libclang
++    (Closes: #874248)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 24 Jan 2019 08:49:34 +0100
++
++llvm-toolchain-8 (1:8~svn351401-1~exp1) experimental; urgency=medium
++
++  * New snapshot release (branch 8 created)
++  * Silent a source lintian warning
++    source: source-is-missing
++    lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf
++  * Revert patch D55434 as it is breaking the build on old version of
++    debian/ubuntu
++  * Remove BugpointPasses.so & TestPlugin.so as they don't ship anymore
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 17 Jan 2019 08:24:19 +0100
++
++llvm-toolchain-8 (1:8~svn350834-1~exp2) UNRELEASED; urgency=medium
++
++  * Remove patch D55434-revert.diff as the regression has been fixed upstream
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 17 Jan 2019 09:16:03 +0100
++
++llvm-toolchain-snapshot (1:8~svn348749-1~exp2) experimental; urgency=medium
++
++  * New symbols in openmp:
++    - OMP_NULL_ALLOCATOR
++    - __kmpc_alloc
++    - __kmpc_free
++    - __kmpc_get_default_allocator
++    - __kmpc_omp_reg_task_with_affinity
++    - __kmpc_set_default_allocator
++    - omp_alloc
++    - omp_capture_affinity
++    - omp_cgroup_mem_alloc
++    - omp_const_mem_alloc
++    - omp_default_mem_alloc
++    - omp_display_affinity
++    - omp_free
++    - omp_get_affinity_format
++    - omp_get_default_allocator
++    - omp_high_bw_mem_alloc
++    - omp_large_cap_mem_alloc
++    - omp_low_lat_mem_alloc
++    - omp_pteam_mem_alloc
++    - omp_set_affinity_format
++    - omp_set_default_allocator
++    - omp_thread_mem_alloc
++    - ompc_capture_affinity
++    - ompc_display_affinity
++    - ompc_get_affinity_format
++    - ompc_set_affinity_format
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 18 Dec 2018 18:09:48 +0100
++
++llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium
++
++  * On old Debian/Ubuntu, run dh_strip using fakeroot to mitigate
++    a permission issue
++  * Remove dbgsym packages from debci because of bug #917528
++
++  [ Gianfranco Costamagna ]
++  * Ignore a test result on i386, due to upstream bug 26580#c18
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 02 Jan 2019 12:37:45 +0100
++
++llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium
++
++  * New snapshot release
++  * Merge changes from 7 into snapshot
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 10 Dec 2018 10:56:16 +0100
++
++llvm-toolchain-snapshot (1:8~svn346586-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Also install libOptRemarks.so
++  * Merge all the recent 7 changes into snapshot
++    (Closes: #913058) the co install issue with libc++ & openmp
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 10 Nov 2018 15:14:15 +0100
++
++llvm-toolchain-snapshot (1:8~svn345569-1~exp1) experimental; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
++  * Fix the autopkgtest script (no gcc in the test)
++  * remove dep from lld to llvm-8-dev because lld
++    doesn't use LLVM LTO
++  * remove old Replaces/Breaks
++  * Standards-Version: 4.2.1
++  * Backport a fix to improve scan-build code error.
++    Thanks to Roman Lebedev for the fix(Closes: #909662)
++  * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
++  * Install bash-completion for clang
++  * Disable ocaml on armel
++
++  [ Gianfranco Costamagna ]
++  * Take option two in bug #877567 to fix FTBFS on mips and mipsel
++
++  [ Sylvestre Ledru ]
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 30 Oct 2018 08:31:14 +0100
++
++llvm-toolchain-7 (1:7.0.1-3) unstable; urgency=medium
++
++  * Also install clang-7-dbgsym libclang1-7-dbgsym in autopkgtest
++    to verify that debug symbols are present
++  * Cherry-pick upstream fix D52340 to address a rustc debuginfo
++    (Closes: #917209)
++  * Change the jit debug path from $HOME/.debug/jit/ to
++    $TMPDIR/.debug/jit/ (Closes: #916393)
++  * Document in README.source some Debian/Ubuntu specific changes
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 26 Dec 2018 22:57:45 +0100
++
++llvm-toolchain-7 (1:7.0.1-2) unstable; urgency=medium
++
++  * Enable -DENABLE_LINKER_BUILD_ID:BOOL=ON as, unlike gcc, isn't enabled
++    by default in clang. Thanks to Adrian Bunk for the patch.
++    Once more, thanks to Rebecca Palmer (Closes: #916975)
++  * Build with -g1 also on 64bit architectures (thanks to Adrian too)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 21 Dec 2018 17:07:44 +0100
++
++llvm-toolchain-7 (1:7.0.1-1) unstable; urgency=medium
++
++  * New release
++  * Remove the dbg workaround. Hopefully, the new version of
++    binutils will fix it (Closes: #913946)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 16 Dec 2018 13:07:54 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc3-2) unstable; urgency=medium
++
++  * Fix llvm-config by stripping unnecessary flags
++    See also https://bugs.llvm.org/show_bug.cgi?id=8220
++    (Closes: #697755, #914838)
++  * Try to workaround the debug issues by adding -fno-addrsig to the *FLAGS
++    One more time, thanks to Rebecca Palmer (Closes: #913946)
++    The goal is to provide correct debug packages.
++    Workaround https://sourceware.org/bugzilla/show_bug.cgi?id=23788
++  * Force the chmod +x on llvm-X/bin/* because it was sometimes removed
++    by the strip process
++  * Force the link to atomic also for i386 as it fails on Debian jessie too
++  * Improved the debian/patches/series presentation by creating categories
++  * Improve the separation between *FLAGS for gcc and clang.
++    This is done for -fno-addrsig as it doesn't exit for gcc
++    This can be done with the BOOTSTRAP_CMAKE_CXX_FLAGS option
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 10 Dec 2018 03:49:59 -0500
++
++llvm-toolchain-7 (1:7.0.1~+rc3-1) unstable; urgency=medium
++
++  * New testing release
++  * disable the llvm-strip as it created too big llvm lib
++
++  [ John Paul Adrian Glaubitz ]
++  * Add patch to add powerpcspe support to clang
++  * Add patch to fix register spilling on powerpcspe
++  * Add patch to optimize double parameter calling setup on powerpcspe
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 08 Dec 2018 07:29:59 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-8) unstable; urgency=medium
++
++  * Use llvm-strip instead of binutils strip.
++    Two reasons:
++      - with clang stage2, the dbg packages were not generated
++      - strip fails on stretch and other ubuntu on some archives
++    For this, I had to silent the --enable-deterministic-archives
++    option (https://bugs.llvm.org/show_bug.cgi?id=39789).
++    Thanks to Rebecca Palmer for the idea
++    (Closes: #913946)
++  * Change the i386 base line to avoid using sse2 extension
++    This is more important now that llvm is built with clang
++    instead of gcc.
++    Thanks to Fanael Linithien for the patch
++    (Closes: #914770, #894840)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 01 Dec 2018 11:18:39 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-7) unstable; urgency=medium
++
++  * Bring back mips-rdhwr.diff as it isn't in rc2
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 25 Nov 2018 17:00:31 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-6) unstable; urgency=medium
++
++  [ Samuel Thibault ]
++  * D53557-hurd-self-exe-realpath.diff: Fix paths returned by
++    llvm-config (See Bug#911817).
++
++  [ Sylvestre Ledru ]
++  * Fix the FTBFS on armhf for real! Thanks to Adrian Bunk
++    Force the activation of FeatureVFP3 & FeatureD16
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 24 Nov 2018 09:12:26 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-5) unstable; urgency=medium
++
++  [ Samuel Thibault ]
++  * D54079-hurd-openmp.diff, D54338-hurd-libcxx-threads-build.diff,
++    D54339-hurd-libcxx-threads-detection.diff, D54378-hurd-triple.diff,
++    D54379-hurd-triple-clang.diff, D54677-hurd-path_max.diff,
++    hurd-cxx-paths.diff: New patches to fix hurd build.
++
++  [ Sylvestre Ledru ]
++  * Remove mips-rdhwr.diff as it has been applied upstream
++  * Fix a baseline violation on armhf (Closes: #914268)
++    clang-arm-default-vfp3-on-armv7a.patch has been updated to disable
++    neon in another place
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 21 Nov 2018 09:45:00 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-4) unstable; urgency=medium
++
++  * Workaround the build issues on armhf
++    Thanks to Adrian Bunk for the idea
++  * Remove useless symlink /usr/include/c++ -> ../lib/llvm-7/include/c++
++    (Closes: #913400)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 16 Nov 2018 22:46:29 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-3) unstable; urgency=medium
++
++  * Disable gold for sparc* (Closes: #913260)
++  * Hide a symbol in openmp for mips64el
++  * Try to integrate a patch to make pch reproducible
++    Thanks to Rebecca Palmer for the patch
++    (Closes: #877359)
++  * Fix the misscompilation issue causing rustc to crash (Closes: #913271)
++    Might cause some ABI issues but no real good solution.
++    See https://bugs.llvm.org/show_bug.cgi?id=39427
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 08 Nov 2018 20:50:39 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-2) unstable; urgency=medium
++
++  * Fix a non-break space in a patch (Closes: #913213)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 08 Nov 2018 09:28:36 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-1) unstable; urgency=medium
++
++  * Upload of 7.0.1 rc2 into unstable
++  * New testing release
++  * Enable the stage2 bootstrap:
++    - stage1 = build clang with gcc
++    - stage2 = clang building itself
++    (Closes: #909234)
++  * Bring back the Disable NEON generation on armhf patch which was gone
++    Should fix the FTBFS on armhf
++    (Closes: #842142)
++  * Update the clang manpage to remove osx specific options
++    and to add -arch (Closes: #743133)
++  * Bring back usr/lib/@DEB_HOST_MULTIARCH@/{libiomp5.so, libomp5.so}
++    symlink for gcc (Closes: #912641)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 07 Nov 2018 15:17:41 +0100
++
++llvm-toolchain-7 (1:7.0.1~+rc2-1~exp1) experimental; urgency=medium
++
++  * New testing release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 05 Nov 2018 23:38:34 +0100
++
++llvm-toolchain-7 (1:7-9) unstable; urgency=medium
++
++  * Remove the dump of cmake error file (too confusing)
++  * Try to fix the bootstrap FTBFS :
++    - on armel by forcing the link to -latomic
++    - mips-rdhwr.diff: backport D51773 to fix an
++      assembly issue on mips.
++      Thanks to jrtc27 for finding the issue.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 04 Nov 2018 18:07:23 +0100
++
++llvm-toolchain-7 (1:7-8) unstable; urgency=medium
++
++  * Update the watch file to display the right version
++    (even if the download will fail)
++  * clang-7 suggests libomp-7-dev instead of libomp-dev
++  * Make sure that we don't conflict openmp & libc++ with llvm-defaults's
++    (Closes: #912544)
++  * Handle better the non coinstability of openmp & libc++ (like we are doing
++    with python-clang-*)
++  * Backport upstream fix D51749 to address a rust aarch64 issues
++    (Closes: #909705)
++  * Add tests from old bugs to make sure they don't come back
++    (Closes: #889832, #827866)
++  * The sanitizers use the versioned llvm-symbolizer provided by the
++    llvm-X package (Closes: #753572)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 20 Oct 2018 16:00:58 +0200
++
++llvm-toolchain-7 (1:7-7~exp2) experimental; urgency=medium
++
++  * clangd-atomic-cmake.patch: Link against atomic for clangd in i386
++  * When the cmake configure of the stage2 is failing, dump the cmake error log
++  * Declare some variables (-Wno-*) for all platforms (was failing on mips)
++  * Update the watch file to display the right version
++    (even if the download will fail)
++  * clang-7 suggests libomp-7-dev instead of libomp-dev
++  * Make sure that we don't conflict openmp & libc++ with llvm-defaults's
++    (Closes: #912544)
++  * Handle better the non coinstability of openmp & libc++ (like we are doing
++    with python-clang-*)
++  * Backport upstream fix D51749 to address a rust aarch64 issues
++    (Closes: #909705)
++  * Add tests from old bugs to make sure they don't come back
++    (Closes: #889832, #827866)
++  * The sanitizers use the versioned llvm-symbolizer provided by the
++    llvm-X package (Closes: #753572)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 21 Oct 2018 18:34:20 +0200
++
++llvm-toolchain-7 (1:7-7~exp1) experimental; urgency=medium
++
++  * Experiment the clang bootstrap
++  * Try to bootstrap clang using clang
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 17 Oct 2018 20:15:57 +0200
++
++llvm-toolchain-7 (1:7-7) unstable; urgency=medium
++
++  [ Samuel Thibault ]
++  * Apply hurd fixes (Closes: #908847).
++   - hurd-lib_Support_Unix_Path.inc.diff
++   - hurd-pathmax.diff
++   - hurd-tools_llvm-shlib_CMakeLists.txt.diff
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 18 Oct 2018 16:50:58 +0200
++
++llvm-toolchain-7 (1:7-6) unstable; urgency=medium
++
++  * Team upload
++  * Upload to unstable
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 17 Oct 2018 11:00:09 +0200
++
++llvm-toolchain-7 (1:7-6~exp2) experimental; urgency=medium
++
++  * Disable for now the bootstrapping clang patches
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 16 Oct 2018 15:00:46 +0200
++
++llvm-toolchain-7 (1:7-6~exp1) experimental; urgency=medium
++
++  * Try to bootstrap (currently in a different branch)
++  * Split the builds in different make target
++  * Add python-pygments as dep of llvm-7-tools because
++    opt-viewer.py needs it
++  * Add back libomp5-X.Y.symbols.in (untested)
++  * Fix the install of clang bash completion
++  * Start the work on bootstraping clang
++    - bootstrap-with-openmp-version-export-missing.diff: fix a link issue
++      https://bugs.llvm.org/show_bug.cgi?id=39200
++    - bootstrap-fix-include-next.diff: Fix an include issue at bootstrap phase
++      https://bugs.llvm.org/show_bug.cgi?id=39162
++
++  [ Gianfranco Costamagna ]
++  * Take option two in bug #877567 to fix FTBFS on mips and mipsel
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 06 Oct 2018 23:04:24 +0200
++
++llvm-toolchain-7 (1:7-5) unstable; urgency=medium
++
++  * In debci, run qualify-clang.sh in verbose mode
++  * Only run the g++ test if g++ exist
++
++  [ Reshabh Sharma ]
++  * Run check-openmp to test OpenMP
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 06 Oct 2018 08:25:48 +0200
++
++llvm-toolchain-7 (1:7-4) unstable; urgency=medium
++
++  * Backport a fix to improve scan-build code error.
++    Thanks to Roman Lebedev for the fix(Closes: #909662)
++  * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
++  * Install bash-completion for clang
++  * Disable ocaml on armel
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 26 Sep 2018 14:32:41 +0100
++
++llvm-toolchain-7 (1:7-3) unstable; urgency=medium
++
++  * Fix a syntax issue in a scan-build patch
++  * Fix the autopkgtest script (no gcc in the test)
++  * remove dep from lld to llvm-7-dev because lld
++    doesn't use LLVM LTO
++  * remove old Replaces/Breaks
++  * Standards-Version: 4.2.1
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 21 Sep 2018 22:48:47 +0200
++
++llvm-toolchain-7 (1:7-2) unstable; urgency=medium
++
++  * Fix the ftbfs under armel on libc++ and enable openmp on armel.
++    Thanks to Adrian Bunk for the patch
++  * Make libc++, libc++abi & openmp NOT co-installable
++    Rational: the benefits are limited compared to the drawback.
++    We should have issues like:
++       - built with libc++-8-dev
++       - run with libc++1-7
++    (Closes: #903802)
++  * Remove circular dependency by removing python-lldb-7: Depends: liblldb-7-dev
++    (Closes: #888889)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 19 Sep 2018 14:12:34 +0200
++
++llvm-toolchain-snapshot (1:8~svn342269-1) unstable; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * libc++-8-dev doesn't provide libstdc++-dev anymore (Closes: #908738)
++  * Build llvm using -DLLVM_USE_PERF=yes (Closes: #908707)
++  * Only rename libomp when openmp is built
++
++  [ Gianfranco Costamagna ]
++  * Force polly cmake removal on arch:all because of --fail-missing
++
++  [ Reshabh Sharma ]
++  * Make OpenMP packages coinstallable from version 7
++  * Make libc++ packages coinstallable from version 7
++
++  [ John Paul Adrian Glaubitz ]
++  * Add patch to fix missing MultiArch include dir
++    on powerpcspe (Closes: #908791)
++  * Disable LLDB on riscv64
++  * Fix inverted logic in ifeq statement for POLLY_ENABLE
++    and OPENMP_ENABLE (Closes: #908646)
++  * Disable OpenMP on unsupported architecture x32
++  * Add patch to fix missing include and library paths on x32
++
++  [ Gianfranco Costamagna ]
++  * Install polly only on arch:all packages
++  * Drop gnustep and gnustep-devel suggestions (Closes: #902847)
++  * Enable polly on s390x
++  * Disable omp on armel mips and mipsel for now
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 14 Sep 2018 21:56:57 +0200
++
++llvm-toolchain-snapshot (1:8~svn340819-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Force sphinx to be >> 1.2.3
++  * also ignore libc++experimental.a on dh_strip (fails on stretch)
++  * Make libc++-8-dev & libc++abi-8-dev coinstallable
++  * Remove libtool flex, bison, dejagnu, tcl, expect,
++    and perl from the build deps (testing)
++  * Disable force-gcc-header-obj.diff as it is introducing
++    some regressions in the search headers
++    (Closes: #903709)
++  * branching to version 8
++    - New symbols in libclang:
++      clang_Cursor_getObjCPropertyGetterName
++      clang_Cursor_getObjCPropertySetterName
++      clang_Type_getModifiedType
++      clang_Type_getNullability
++      clang_Type_getNumObjCProtocolRefs
++      clang_Type_getNumObjCTypeArgs
++      clang_Type_getObjCObjectBaseType
++      clang_Type_getObjCProtocolDecl
++      clang_Type_getObjCTypeArg
++  * python-recommonmark is a new build dep for the sphinx doc
++  * dh_strip should be verbose
++  * On Stretch (binutils 2.28), do not run strip on libFuzzer.a, libc++.a
++    & libc++abi.a because it segfaults
++  * Fixed "weak-library-dev-dependency libc++-7-dev on libc++-7-helpers"
++  * Fixed "libomp5-7: shlibs-declares-dependency-on-other-package
++           libomp5-7) (>= 1:7~svn298832-1~)"
++  * Also use the local cmake binary if available (for trusty)
++    and take in account the PRE_PROCESS_CONF option
++  * Try to fix a FTBFS on jessie with openmp
++
++  [ Gianfranco Costamagna ]
++  * Add liblldb-8-dev to python-lldb runtime dependencies, needed to import it
++  * Enable lld on arm64, mips64el
++  * Enable lldb on mips64el
++  * Enable lld on ppc64el
++
++  [ John Paul Adrian Glaubitz ]
++  * Don't build with ld.gold on powerpcspe
++  * Disable polly on powerpcspe
++  * Add upstream patch to make rustc build on powerpc
++
++  [ Reshabh Sharma ]
++  * Integrate opemp as part of the llvm-toolchain packages (Closes: #813672)
++    As part of this work, the transition libiomp packages have been removed.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 28 Aug 2018 16:28:24 +0200
++
++llvm-toolchain-7 (1:7.1.0~svn353565-1~exp1) UNRELEASED; urgency=medium
++
++  * New stable release.
++    To be clear, this is the same as release 7.0.1
++    To be ABI compliant in Debian between 7 and 7.0.1,
++    I took the pr39427-misscompile.diff.
++    7.1.0 is an official release for downstream users to bring
++    back the ABI comptability.
++    I am uploading this new version in the archive to:
++    - avoid question like "why we don't have 7.1.0 in the archive?"
++    - align with upstream
++    - clearly show that we kept the ABI
++    Upstream decided to rename the library from 7 to 7.1.0
++    As I kept the ABI, I reverted the patches (debian/patches/7.1.0/*)
++    More info on https://bugs.llvm.org/show_bug.cgi?id=39427
++    and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913271
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 09 Feb 2019 16:34:12 +0100
++
++llvm-toolchain-7 (1:7.0.1-7) unstable; urgency=medium
++
++  * kfreebsd/kfreebsd-triple-clang.diff: update of the patch to fix
++    the kfreebsd FTBFS  (Closes: #921246)
++  * Enable ld gold for kfreebsd-amd64 and kfreebsd-i386
++    Many thanks to Svante Signell for the two updates
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 07 Feb 2019 17:17:40 +0100
++
++llvm-toolchain-7 (1:7.0.1-6) unstable; urgency=medium
++
++  * Add support for kfreebsd (Closes: #921246)
++    Many thanks to Svante Signell for all patches
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 03 Feb 2019 17:27:51 +0100
++
++llvm-toolchain-7 (1:7.0.1-5) unstable; urgency=medium
++
++  * Add 'Rules-Requires-Root: no' in debian/control
++  * llvm-7-examples: Force the same version of llvm-7-dev to mitigate
++    a debci issue
++    https://ci.debian.net/data/autopkgtest/unstable/amd64/l/llvm-toolchain-7/1635547/log.gz
++  * Add 'Rules-Requires-Root: no' in debian/control
++  * Because more and more tools in clang-tools are in python, add
++    the dependency
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 04 Jan 2019 16:00:41 +0100
++
++llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium
++
++  * On old Debian/Ubuntu, run dh_strip using fakeroot to mitigate
++    a permission issue
++
++  [ Gianfranco Costamagna ]
++  * Ignore a test result on i386, due to upstream bug 26580#c18
++
++  * Stable release
++  * Also manages clang-X as tool for scan-build
++    see https://reviews.llvm.org/D52151
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 17 Sep 2018 13:51:03 +0200
++
++llvm-toolchain-7 (1:7~+rc3-5) unstable; urgency=medium
++
++  [ John Paul Adrian Glaubitz ]
++  * Add patch to fix missing include and library paths on x32
++
++  [ Sylvestre Ledru ]
++  * Only rename libomp when openmp is built
++
++ -- John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>  Fri, 14 Sep 2018 19:54:38 +0200
++
++llvm-toolchain-7 (1:7~+rc3-4) unstable; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * libc++-7-dev doesn't provide libstdc++-dev anymore (Closes: #908738)
++
++  [ Gianfranco Costamagna ]
++  * Force polly cmake removal on arch:all because of --fail-missing
++
++  [ Reshabh Sharma ]
++  * Make OpenMP packages coinstallable from version 7
++  * Make libc++ packages coinstallable from version 7
++
++  [ John Paul Adrian Glaubitz ]
++  * Add patch to fix missing MultiArch include dir
++    on powerpcspe (Closes: #908791)
++  * Disable LLDB on riscv64
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 14 Sep 2018 11:27:28 +0200
++
++llvm-toolchain-7 (1:7~+rc3-3) unstable; urgency=medium
++
++  [ John Paul Adrian Glaubitz ]
++  * Disable OpenMP on unsupported architecture x32
++
++  [ Sylvestre Ledru ]
++  * Build llvm using -DLLVM_USE_PERF=yes (Closes: #908707)
++
++  [ Gianfranco Costamagna ]
++  * Install polly only on arch:all packages
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 13 Sep 2018 09:31:29 +0200
++
++llvm-toolchain-7 (1:7~+rc3-2) unstable; urgency=medium
++
++  [ John Paul Adrian Glaubitz ]
++  * Fix inverted logic in ifeq statement for POLLY_ENABLE
++    and OPENMP_ENABLE (Closes: #908646)
++
++  [ Gianfranco Costamagna ]
++  * Drop gnustep and gnustep-devel suggestions (Closes: #902847)
++  * Enable polly on s390x
++  * Disable omp on armel mips and mipsel for now
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 12 Sep 2018 10:58:12 +0200
++
++llvm-toolchain-7 (1:7~+rc3-1) unstable; urgency=medium
++
++  [ John Paul Adrian Glaubitz ]
++  * Disable OpenMP on unsupported architectures powerpc,
++    powerpcspe, riscv64 and sparc64 (Closes: #907912)
++
++  [ Sylvestre Ledru ]
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 10 Sep 2018 17:01:25 +0200
++
++llvm-toolchain-7 (1:7~+rc2-1~exp3) experimental; urgency=medium
++
++  * Remove libtool flex, bison, dejagnu, tcl, expect,
++    and perl from the build deps (testing)
++  * Disable force-gcc-header-obj.diff as it is introducing
++    some regressions in the search headers
++    (Closes: #903709)
++
++  [ Gianfranco Costamagna ]
++  * Fix build on armhf, by removing some installed package
++  * Fix build on s390x, by disabling OpenMP
++  * Add liblldb-7-dev to python-lldb runtime dependencies, needed to import it
++  * Enable lld on arm64, mips64el
++  * Enable lldb on mips64el
++
++  [ Reshabh Sharma ]
++  * Add version for libc++ and OpenMP packages breaks/replaces
++  * Remove libc++-helpers package
++    - No real value
++    - Just two scripts
++    - Command line arguments aren't that complex
++  * Fix autopkgtest support
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 03 Sep 2018 09:16:22 +0200
++
++llvm-toolchain-7 (1:7~+rc2-1~exp2) experimental; urgency=medium
++
++  * Force sphinx to be >> 1.2.3
++  * Also ignore libc++experimental.a on dh_strip (fails on stretch)
++  * Make libc++-7-dev & libc++abi-7-dev coinstallable
++
++  [ John Paul Adrian Glaubitz ]
++  * Don't build with ld.gold on powerpcspe
++  * Disable polly on powerpcspe
++  * Add upstream patch to make rustc build on powerpc
++
++  [ Gianfranco Costamagna ]
++  * Enable lld on ppc64el
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 27 Aug 2018 10:57:41 +0200
++
++llvm-toolchain-7 (1:7~+rc2-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * dh_strip should be verbose
++  * On Stretch (binutils 2.28), do not run strip on libFuzzer.a, libc++.a
++    & libc++abi.a because it segfaults
++  * Fixed "weak-library-dev-dependency libc++-7-dev on libc++-7-helpers"
++  * Fixed "libomp5-7: shlibs-declares-dependency-on-other-package
++           libomp5-7) (>= 1:7~svn298832-1~)"
++  * Also use the local cmake binary if available (for trusty)
++    and take in account the PRE_PROCESS_CONF option
++
++  [ Reshabh Sharma ]
++  * Fixed "Lintian warnings for libc++abi-7-dev package"
++    - Warning: libc++abi-7-dev: breaks-without-version libc++-dev
++    - Warning: libc++abi-7-dev: breaks-without-version libc++abi-dev
++    - Warning: llvm-toolchain-7 source: binaries-have-file-conflict
++      libc++abi-7-dev libc++abi1-7 usr/lib/llvm-7/lib/libc++abi.so
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 16 Aug 2018 17:49:31 +0200
++
++llvm-toolchain-7 (1:7~+rc1-1~exp2) experimental; urgency=medium
++
++  * Disable force-gcc-header-obj.diff as it is introducing
++    some regressions in the search headers
++    (Closes: #903709)
++  * libc++-7-dev should depend on libc++-7-helpers (and not
++    libc++-helpers)
++  * Fix the links in the helper package
++
++  [ Reshabh Sharma ]
++  * Fix the path to libc++ header
++  * libc++.so was in two packages
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 15 Aug 2018 15:27:57 +0200
++
++llvm-toolchain-7 (1:7~+rc1-1~exp1) experimental; urgency=medium
++
++  * First testing release of 7
++    - Rename packages
++    - Update the VCS-* URL
++  * Standards-Version to 4.2.0
++
++  [ Dimitri John Ledkov ]
++  * Enable lldb on ppc64el LP: #1777136
++
++  [ Reshabh Sharma ]
++  * Integrate libcxx and libcxxabi as part of the llvm-toolchain packages
++    Very similar to the previous packages
++    except that libc++abi-7-test & libc++-7-test are no longer shipped
++    Outcome of the LLVM GSoC 2018
++    (Closes: #813673)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 07 Aug 2018 19:25:09 +0200
++
++llvm-toolchain-snapshot (1:7~svn336894-1~exp1) experimental; urgency=medium
++
++  [ Reshabh Sharma ]
++  * Integrate opemp as part of the llvm-toolchain packages (Closes: #813672)
++    As part of this work, the transition libiomp packages have been removed.
++
++  [ Sylvestre Ledru ]
++  Bravo to Reshabh Sharma for his work
++  * Also ship diagtool in clang-tools-X
++  * Also ship hmaptool in clang-tools-X
++  * Enable WebAssembly & AVR as experimental archs (Closes: #899202)
++  * d/p/force-gcc-header-obj.diff Fix the detection of the objc path
++  * clang_getCompletionFixIt, clang_getCompletionNumFixIts & getTokenclang
++    added as new symbols of libclang1
++  * Fix the version with snapshot packages
++    Fixes upstream issue https://bugs.llvm.org/show_bug.cgi?id=37729
++
++  [ Gianfranco Costamagna ]
++  * Bump std-version to 4.1.5, no changes required
++
++  [ Reshabh Sharma ]
++  * Updated debian/control with breaks, provides and conflicts for OpenMP
++    packages (Closes: #903802)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 09 May 2018 14:23:49 +0200
++
++llvm-toolchain-snapshot (1:7~svn330801-1~exp2) experimental; urgency=medium
++
++  * d/p/force-gcc-header-obj.diff Fix the detection of the objc path
++  * Add python-yaml as dep for clang-tidy (Closes: #890514)
++  * d/p/impl-path-hurd.diff: Try to fix an issue with hurd
++
++  [ Peter Wu ]
++  * Make CMake find_package(Clang) work. Fixes upstream bug
++    https://bugs.llvm.org/show_bug.cgi?id=37128
++    - Move Clang*.cmake back to /usr/lib/llvm-X.Y/lib/cmake/clang and install a
++      symlink in /usr/lib/cmake/clang-X.Y.
++    - Ensure that the LLVM installation prefix is correctly discovered despire
++      symlinks (replaces fix-cmake-config-prefix.diff).
++    - Create /usr/lib/llvm-X.Y/bin/clang-X.Y symlink as required by
++      ClangTargets-relwithdebinfo.cmake.
++    - Remove useless LLVM_CMAKE_DIR sed command that did not match anything.
++    - Ignore missing binaries in ClangTargets-relwithdebinfo.cmake.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 07 May 2018 23:27:26 +0200
++
++llvm-toolchain-6.0 (1:6.0.1~+rc1-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Fix a typo in the debci
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 26 Apr 2018 08:02:09 +0200
++
++llvm-toolchain-6.0 (1:6.0-3) unstable; urgency=medium
++
++  * Remove sysconf_interceptor_bypass_test.cc because it makes
++    Debian unstable and Ubuntu bionic freeze
++  * Remove the info text from the manpages (Closes: #894734)
++  * Remove a bunch of old unused patches
++  * Fix debian-watch-uses-insecure-uri as upstream has now https
++  * Standards-Version updated to 4.1.3
++  * llvm-dsymutil has been renamed to dsymutil
++  * Remove sysconf_interceptor_bypass_test.cc because it makes
++    Debian unstable and Ubuntu bionic freeze
++  * library-binary-filename.diff removed (applied upstream)
++  * Add clang_File_tryGetRealPathName as new symbol in libclang
++
++  [ Reshabh Sharma ]
++  * Enable autopkgtest for amd64 & i386 on the llvm test suite
++    (Closes: #774294)
++
++  [ Nicholas D Steeves ]
++  * Fix the lintian error 'privacy-breach-uses-embedded-file'
++    (Closes: #829361)
++
++  [ Athos Ribeiro ]
++  * Create symlink to run-clang-tidy-X.Y.py to remove its .py extension
++    (Closes: #892089)
++
++  [ David Tenty ]
++  * Migrate to automatic debug packages (Closes: #893267)
++
++  [ Sylvestre Ledru ]
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 25 Apr 2018 10:59:20 +0200
++
++llvm-toolchain-snapshot (1:7~svn327768-1) unstable; urgency=medium
++
++  * New snapshot release
++  * create the directory for the mips stuff
++  * Fail the build when new symbols are added
++  * 5 new symbols:
++    - clang_PrintingPolicy_dispose
++    - clang_PrintingPolicy_getProperty
++    - clang_PrintingPolicy_setProperty
++    - clang_getCursorPrettyPrinted
++    - clang_getCursorPrintingPolicy
++  * Use upstream ld.lld manpage instead of help2man
++  * Move the VCS to git.
++    Many thanks to James Clarke for doing the conversion
++  * Create the directory before having the manpages generated
++  * clang-tidy-7 also depends on clang-tools-7 for, at least
++    clang-apply-replacements
++  * Automatically update the debian/README
++  * clang-tidy-7: depends on libclang-common-7-dev
++    (Closes: #891999)
++
++  [ James Clarke ]
++  * Disable LLDB on powerpcspe
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 17 Mar 2018 14:56:19 +0100
++
++llvm-toolchain-snapshot (1:7~svn323616-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Fix llvm-config with the change of versioning (Closes: #888592)
++  * Update the creation of the README to unbreak the mips* FTBFS
++  * Update of the clang-tools-X.Y description
++  * ignore source: source-is-missing lldb/unittests/
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 28 Jan 2018 13:43:37 +0100
++
++llvm-toolchain-snapshot (1:7~svn322880-1) unstable; urgency=medium
++
++  * Change the versioning from X.Y to X as upstream is using
++    X.Y.Z and X
++    I am keeping the epoch because it would be too complex to manage
++    with the various updates scenario
++  * Two new symbols in libclang
++    - clang_getFileContents
++    - clang_isInvalidDeclaration
++  * Fix the VCS-* tags
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 18 Jan 2018 20:50:03 +0100
++
++llvm-toolchain-6.0 (1:6.0.1-11) unstable; urgency=medium
++
++  * Remove 'Multi-Arch: same' in libclang
++    (Closes: #874248)
++  * Cherry-pick various llvm fixes for Julia
++    (Closes: #919628)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 09 Feb 2019 17:22:59 +0100
++
++llvm-toolchain-6.0 (1:6.0.1-10) unstable; urgency=medium
++
++  * Fix a baseline violation on armhf (Closes: #914268)
++    Thanks to Adrian Bunk
++    doing that for the Julia package.
++
++  [ John Paul Adrian Glaubitz ]
++  * Add patch to fix missing include and library paths on x32
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 23 Jan 2019 23:25:50 +0100
++
++llvm-toolchain-6.0 (1:6.0.1-9.2) unstable; urgency=medium
++
++  * Non-maintainer upload.
++  * debian/patches/D53557-hurd-self-exe-realpath.diff: Fix paths returned by
++    llvm-config (Closes: Bug#911817).
++
++ -- Samuel Thibault <sthibault@debian.org>  Wed, 24 Oct 2018 22:44:54 +0000
++
++llvm-toolchain-6.0 (1:6.0.1-9.1) unstable; urgency=medium
++
++  * Non-maintainer upload.
++  * Apply hurd fixes (Closes: #908847).
++    - hurd-lib_Support_Unix_Path.inc.diff
++    - hurd-pathmax.diff
++    - hurd-tools_llvm-shlib_CMakeLists.txt.diff
++
++ -- Samuel Thibault <sthibault@debian.org>  Tue, 16 Oct 2018 20:18:39 +0000
++
++llvm-toolchain-6.0 (1:6.0.1-8) unstable; urgency=medium
++
++  [ John Paul Adrian Glaubitz ]
++  * Fix inverted logic in ifeq statement for POLLY_ENABLE (Closes: #908646)
++
++  [ Gianfranco Costamagna ]
++  * Fixup the polly installation failure where polly is not built
++  * Add s390x to polly architectures
++  * Fix typo in rules file
++
++  [ Sylvestre Ledru ]
++  * Disable sse2 on pentium4 arch (Closes: #632472)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 13 Sep 2018 10:04:42 +0200
++
++llvm-toolchain-snapshot (1:6.0~svn321385-1) unstable; urgency=medium
++
++  * Snapshot upload before rc1 (January)
++  * Create clang-tools-6.0 and move the various clang tools into it
++    clang-tools-6.0 depends on clang-6.0. This might affect some packages.
++    (Closes: #836397)
++  * Bring back the libedit support in lldb
++    Fix upstream bug https://bugs.llvm.org/show_bug.cgi?id=35291
++  * Also ship ld64.lld and wasm-ld in the lld-X.Y package
++  * Update d/rules to reflect the move of libfuzzer into compiler-rt
++  * Update of the copyright file (Closes: #878502)
++    Thanks to Nicholas D Steeves for the work
++  * Try to fix the mipsel FTBFS (Closes: #877567)
++    I am trying the first option from the bug:
++    - gsplit-dward on 32 bits archs
++    - -g everywhere
++    Many thanks to Adrian Bunk for that
++  * Use ?= for some variables declarations
++  * Remove the hardcoded declarations of llvm version in debian/rules
++  * add /usr/lib/cuda to the CUDA toolkit search paths
++    Thanks to Andreas Beckmann for the patch (Closes: #882505) (LP: #1706326)
++  * Fix the fix-scan-view-path.diff path
++  * Move libomp-dev from Suggests to Recommends (Closes: #882781)
++  * Add a symlink to fix lldb-X.Y (Closes: #881993)
++  * Remove update-cuda-search-path.patch (applied upstream)
++  * Also install usr/bin/lldb-test-6.0
++  * liblld-6.0-dev depends on liblld-6.0 (Closes: #856545)
++  * Add new symbols for libclang1:
++    - clang_CXIndex_setInvocationEmissionPathOption
++    - clang_CXXRecord_isAbstract
++    - clang_Cursor_getObjCManglings
++    - clang_getCursorTLSKind
++  * add test-keep-alive.diff to improve the keep alive for some
++    archs like mips*
++  * Standards-Version: 4.1.1
++  * remove liblld-6.0-dbg for now
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 22 Dec 2017 21:41:17 +0100
++
++llvm-toolchain-snapshot (1:6.0~svn315736-1) unstable; urgency=medium
++
++  * New snapshot
++  * Ship liblldMinGW lld lib
++  * Ship clang-refactor & clang-func-mapping in clang-X.Y
++  * Remove the -Wl option to call gold instead of the normal linker
++    (Closes: #876787)
++  * Force the deactivation of ocaml until the transition is done
++  * Standards Version 4.1.0
++
++  [ Gianfranco Costamagna ]
++  * Enable ocaml on release architectures.
++  * Add NDEBUG flag, lost in the -g -> -g1 switch
++
++  [ Matthias Klose ]
++  * Link with --no-keep-files-mapped --no-map-whole-files when using gold.
++  * build using gold on arm64 and s390x. For backports, arm64 might still
++    need the BFD linker, and building with only one or two processes in
++    parallel.
++  * On amd64, s390x, arm64 and ppc64el, build with -g1 instead of -g.
++  * Set CMAKE_CXX_FLAGS_RELWITHDEBINFO and pass opt_flags.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 11 Sep 2017 22:27:20 +0200
++
++llvm-toolchain-snapshot (1:6.0~svn311834-2) unstable; urgency=medium
++
++  * Fix the FTBFS because of -gsplit-dwarf:
++    - Only enable it on archs which needs it
++    - Only enable it when gcc supports it correctly
++  * Fail the build if the arch + gcc has a broken gsplit-dwarf support
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 31 Aug 2017 19:14:53 +0200
++
++llvm-toolchain-snapshot (1:6.0~svn311834-1) unstable; urgency=medium
++
++  * Link LLDB with -latomic on powerpcspe (Closes: #872267)
++  * Fix the C++ include path order (Closes: #859083)
++  * Disable -gsplit-dwarf when using gcc 7 for causing a linking issue
++    See https://bugs.llvm.org/show_bug.cgi?id=34140
++    (Closes: #853525)
++  * clang was producing unusable binaries on armv5tel (Closes: #873307)
++    Thanks to Adrian Bunk for the patch
++  * With Ubuntu Trusty (for apt.llvm.org), the build fails
++    on internal compiler error: in output_index_string, at dwarf2out.c:218
++    force the usage of gcc 4.9
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 26 Aug 2017 22:35:00 +0200
++
++llvm-toolchain-snapshot (1:6.0~svn310776-1) unstable; urgency=medium
++
++  * We moved from 5.0 to 6.0
++  * Ship the opt-viewer new program as part of llvm-6.0 tools
++  * ld.lld manpage wasn't installed
++  * Disable the clang-fix-cmpxchg8-detection-on-i386.patch patch
++    because breaks the build with
++    'error: 'isCmpXChg8Supported' was not declared in this scope'
++  * Remove usr/bin/liblldb-intel-mpxtable.so-6.0 as it seems to be removed
++    from usptream
++  * Force the usage of gcc 6 until the link issues with gcc 7 are fixed
++    https://bugs.llvm.org/show_bug.cgi?id=34140
++
++  [ Katsuhiko Nishimra ]
++  * Ensure /usr/bin/g++-$(GCC_VERSION) exists (Closes: #871591)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 27 Jul 2017 23:16:06 +0200
++
++llvm-toolchain-snapshot (1:5.0~svn305653-1) unstable; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Re-add clang-doc documentation
++
++  [ Sylvestre Ledru ]
++  * New snapshot release
++  * Fix a hurd PATH_MAX issue
++  * Transform the lldb swig check from a error to a warning
++  * Add libomp-dev to the suggests of clang
++  * Add Provides on python-lldb-x.y & python-clang-x.y & libllvm-x.y-ocaml-dev
++    to avoid the recurring problem about conflicts
++    (Closes: #835546, #863739, #863742)
++  * Standards-Version => 4.0.0
++  * Generate the llvm-tblgen, clang-change-namespace, clang-offload-bundler
++    lld, clang++, clang-check, clang-cpp & clang-import-test manpages
++  * Remove the --no-discard-stderr option from help2man calls
++  * use -DPOLLY_BUNDLED_JSONCPP=OFF & add pkg-config as a dep (to help find
++    the files)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 09 Jun 2017 12:04:56 +0200
++
++llvm-toolchain-snapshot (1:5.0~svn302368-1~exp1) experimental; urgency=medium
++
++  * Only enable libfuzzer for Linux kernel.
++    Thanks to Pino Toscano for the patch
++  * Add option -DPOLLY_BUNDLED_JSONCPP=ON
++    to use the system lib instead of the patch d/p/use-deb-json.diff
++  * New symbols added in libclang
++     - clang_EvalResult_getAsLongLong
++     - clang_EvalResult_getAsUnsigned
++     - clang_EvalResult_isUnsignedInt
++     - clang_TargetInfo_dispose
++     - clang_TargetInfo_getPointerWidth
++     - clang_TargetInfo_getTriple
++     - clang_Type_isTransparentTagTypedef
++     - clang_getAllSkippedRanges
++     - clang_getTranslationUnitTargetInfo
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 07 May 2017 12:13:43 +0200
++
++llvm-toolchain-snapshot (1:5.0~svn298899-1) unstable; urgency=medium
++
++  * Limit the archs where the ocaml binding is built
++    Should fix the FTBFS
++    Currently amd64 arm64 armel armhf i386
++  * d/p/add_symbols_versioning.patch removed (applied upstream)
++  * Really fix "use versioned symbols" for llvm
++    Thanks to Julien Cristau for the patch (Closes: #849098)
++  * Explicit the dep of clang-tidy on same version of llvm to avoid
++    undefined symbols
++  * Add override_dh_makeshlibs for the libllvm or liblldb versions
++    Thanks to Julien Cristau for the patch
++  * change the min version of the libclang1 symbols to 1:4.0-3~
++  * Fix the symlink on scan-build-py
++  * add libncurses in the list of build deps (Closes: #861170)
++
++  [ Rebecca N. Palmer ]
++  * Use versioned symbols (Closes: #848368)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 09 Apr 2017 10:11:56 +0200
++
++llvm-toolchain-snapshot (1:5.0~svn294583-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * New library liblldb-intel-mpxtable.so
++  * Fix the incorrect symlink to scan-build-py (Closes: #856869)
++  * Explicit the dep of clang-format on same version of llvm to avoid
++    undefined symbols
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 16 Jan 2017 09:03:48 +0100
++
++llvm-toolchain-snapshot (1:5.0~svn292017-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++    snapshot is now 5.0
++  * d/p/silent-amdgpu-test-failing.diff silent amdgpu tests failing
++    (see upstream bug 31610)
++  * d/p/lldb-server-link-issue.patch removed, merged upstream
++  * Also install python-lldb-5.0 when installing lldb-5.0 (Closes: #851171)
++  * Bring back the content of llvm-5.0-doc (Closes: #844616)
++  * Bring back the content of llvm-4.0-doc (Closes: #844616)
++  * d/p/pthread-link.diff Hardcode like to pthread which was missing for
++    libclang
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 14 Jan 2017 16:36:51 +0100
++
++llvm-toolchain-snapshot (1:4.0~svn291344-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Disable libedit usage in lldb because of garbage (Closes: #846616, #850111)
++  * Build lld
++    - d/p/lld-arg-cmake-issue.diff fixes upstream bug #27685
++  * ship clang-tblgen
++  * Run clang extra test suite
++  * Fix the detection of lldb-server
++  * Fix the run of the check-lldb target
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 07 Jan 2017 12:24:32 +0100
++
++llvm-toolchain-snapshot (1:4.0~svn290810-1) unstable; urgency=medium
++
++  * New snapshot release
++  * d/p/kfreebsd-support.diff removed (applied upstream)
++  * debian/orig-tar.sh: less verbose
++  * d/p/lldb-missing-install.diff: For the install
++    of lldb-server and lldb-argdumper as they are not always installed
++  * Ship new binary in clang-X.Y: clang-import-test
++  * New symbols in libclang1:
++    - clang_EvalResult_getAsLongLong
++    - clang_EvalResult_getAsLongLong
++    - clang_EvalResult_isUnsignedInt
++  * Fix a regression in the test run for the code coverage
++  * Silent ThinLTO/X86/autoupgrade.ll, fails with code coverage (and maybe others)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 02 Jan 2017 13:51:06 +0100
++
++llvm-toolchain-snapshot (1:4.0~svn286225-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Remove the info section from the generated manpages (Closes: #846269)
++
++  [ Kai Wasserbäch ]
++  * debian/patches/{0003-Debian-version-info-and-bugreport.patch,
++    0044-soname.diff,23-strlcpy_strlcat_warning_removed.diff,
++    26-set-correct-float-abi.diff,atomic_library_[12].diff,
++    fix-clang-path-and-build.diff,fix-lldb-server-build,lldb-libname.diff,
++    lldb-soname.diff,mips-fpxx-enable.diff,removeduplicatedeclaration.diff}:
++    Refreshed.
++  * debian/patches/{silent-gold-utils,kfreebsd-support}.diff: Updated.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 08 Nov 2016 12:19:55 +0100
++
++llvm-toolchain-snapshot (1:4.0~svn282142-1~exp1) experimental; urgency=medium
++
++  * The libstdc++-6-dev & libobjc-6-dev are only install with clang-X.Y
++    and libclang-X.Y-dev and no longer with libclang1-X.Y
++    (Closes: #841309)
++  * Fix the VCS-* fields
++
++  [ Kai Wasserbäch ]
++  * debian/patches/{23-strlcpy_strlcat_warning_removed.diff,
++    0003-Debian-version-info-and-bugreport.patch, atomic_library_[12].diff,
++    python-clangpath.diff,removeduplicatedeclaration.diff,
++    fix-clang-path-and-build.diff,mips-fpxx-enable.diff}: Refreshed.
++  * debian/patches/{silent-more-tests.diff,silent-MCJIIT-tests.diff}: Updated.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 24 Oct 2016 10:45:07 +0200
++
++llvm-toolchain-3.9 (1:3.9-6) unstable; urgency=medium
++
++  * Fix segfaults in the memory sanitizers (Closes: #842642)
++    Caused by the newer glibc. Many thanks for Nobert Lange for everything
++  * Enable the sanitizers testsuite
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 11 Nov 2016 17:01:38 +0100
++
++llvm-toolchain-3.9 (1:3.9-5) unstable; urgency=medium
++
++  * d/p/0011-SimplifyCFG-Hoisting-invalidates-metadata.patch: Also apply bug 29163
++    to fix some issues in rust (Closes: #842956)
++    Many thanks to Ximin Luo for the investigation
++
++  * libclang-common-4.0-dev: missing multilib binaries for the sanitizer
++    libraries (Closes: #841923)
++    Many thanks to Norbert Lange for the changes
++
++  [ Pauli ]
++  * d/p/clang-fix-cmpxchg8-detection-on-i386.patch:
++    libcxx atomic tests for old i386 fail with wrong Atomic inline width.
++    Needed for libc++
++    (See https://llvm.org/bugs/show_bug.cgi?id=19355)
++  * d/p lldb-addversion-suffix-to-llvm-server-exec.patch:
++    Fix the lldb-server call in some cases
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 04 Nov 2016 17:18:07 +0100
++
++llvm-toolchain-3.9 (1:3.9-4) unstable; urgency=medium
++
++  * LLVMConfig.cmake was installed into wrong location
++    Install a symlink from lib/cmake/llvm to share/llvm/cmake
++    (Closes: #839234)
++  * Fix a path issue in scan-view. Thanks Riccardo Magliocchetti
++    (Closes: #838572)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 31 Oct 2016 10:47:52 +0100
++
++llvm-toolchain-3.9 (1:3.9-3) unstable; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * The libstdc++-6-dev & libobjc-6-dev are only install with clang-X.Y
++    and libclang-X.Y-dev and no longer with libclang1-X.Y
++    (Closes: #841309)
++
++  [ Gianfranco Costamagna ]
++  * Team upload
++  * d/p/drop-wrong-hack-arm64.patch:
++    - drop hack that was preventing the package from building on
++      non-amd64 64bit architectures:
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 27 Oct 2016 11:45:28 +0200
++
++llvm-toolchain-snapshot (1:4.0~svn280796-1~exp1) experimental; urgency=medium
++
++  * Merge clang-include-fixer-4.0 into clang-4.0. Don't think
++    it deserves it own package
++  * python-lldb-4.0 archs "any" to a list like others pkg
++  * Fix a version issue with run-clang-tidy-4.0.py
++  * Also install clang-change-namespace-4.0
++
++  [ Kai Wasserbäch ]
++  * debian/clang-X.Y.install.in: Added clang-cpp.
++  * debian/patches: Refreshed.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 02 Sep 2016 13:11:56 +0200
++
++llvm-toolchain-3.9 (1:3.9-1) unstable; urgency=medium
++
++  * New stable release
++  * Port to kfreebsd. Many thanks to Pino Toscano
++    (Closes: #835665)
++  * clang_getAllSkippedRanges in the list of libclang1 symbols
++  * Try to disable the execution of the testsuite for scan-build & coverity
++    for real
++  * Also ship clang-reorder-fields as part of the clang-4.0 package
++  * Build lldb on arm64. Hopefully, works.
++  * New snapshot release
++  * Tentative fix for lldb-server build
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 07 Sep 2016 12:02:12 +0200
++
++llvm-toolchain-snapshot (1:4.0~svn279916-1) unstable; urgency=medium
++
++  * Snapshot is now 4.0
++  * Introduce clang-include-fixer-4.0
++  * Fix the usage of jsoncpp in polly. Thanks to James Clarke for the patch
++    (Closes: #835607)
++  * Fix the renaming of the manpages (Closes: #834077)
++  * Use the manpage from clang.rst instead of help2man
++  * Disable the build of lldb on mips64el, ppc64 and s390x for real
++  * Add symlink from ./build to ../share and ../lib etc
++    Thanks to Ximin Luo for the patch (Closes: #834144)
++  * Sync the 3.9 changes into 4.0
++  * Fix the cmake paths in llvm-4.0-dev deb package. Thanks to Brad King
++    for the patch (Closes: #819072)
++  * Bring back the lto (gone with the cmake migration)
++    (Closes: #819333) (upstream: #27223)
++  * LLVMConfig.cmake is now installed to <prefix>/lib/cmake/llvm instead of
++    <prefix>/share/llvm/cmake
++    Thanks to Brad King of the fix
++  * Disable lldb on sparc64 (Closes: #832371)
++  * Also install clang-rename.el & clang-rename.py in clang-4.0
++  * scan-build llvm results are built using --show-description
++  * Generate manpages for lli, lldb-mi & git-clang-format
++  * Fix some lintian overrides
++  * Generate more manpages
++  * Remove some garbage from the manpages (Closes: #815991, #804347)
++  * Disable -gsplit-dwarf on Ubuntu precise
++  * Update the coverity configuration (Debian has moved to gcc 6)
++  * remove compiler-rt-path.diff (file removed upstream, probably because
++    we moved to cmake)
++  * Ship clang-offload-bundler in clang 4.0
++  * Set the correct Conflicts for python-clang-4.0, python-lldb-4.0
++    (Closes: #832410)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 27 Aug 2016 14:19:41 +0200
++
++llvm-toolchain-snapshot (1:4.0~svn275970-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Bring back llvm-4.0-tools to life
++  * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev
++    package
++
++  * amd64 llvm testsuite is green, bring back the failure in case of error
++  * Fix the cmake paths in llvm-3.9-dev deb package. Thanks to Brad King
++    for the patch (Closes: #819072)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 25 Jul 2016 12:18:52 +0200
++
++llvm-toolchain-3.9 (1:3.9~svn275918-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Silent test CodeGen/SPARC/LeonInsertNOPsDoublePrecision.ll
++  * ship lli-child-target as part of the llvm-X.Y-runtime package
++  * Bring back llvm-3.9-tools to life
++  * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev
++    package
++  * ship lli-child-target as part of the llvm-X.Y-runtime package
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 19 Jul 2016 15:34:08 +0200
++
++llvm-toolchain-snapshot (1:3.9~svn274438-1) unstable; urgency=medium
++
++  * Remove the autoconf section
++  * Bring back the removal of the build dir
++  * Fix the coverage builds (didn't allow several cflags)
++  * Set the correct conflicts on python-lldb-3.8 (Closes: #817873)
++  * Set the correct conflicts on python-clang-3.8 (Closes: #817872)
++  * remove llvm26003-sanitizer-check-env.diff (merged upstream)
++  * Do not fail the build if the manpages cannot be built (failing on
++    Ubuntu precise)
++  * Install libfindAllSymbols.a as part of libclang-X.Y-dev
++  * Ship scan-build-py
++  * Use the libjsoncpp library embedded (fails to link otherwise)
++  * Standards-Version 3.9.8
++  * cmake files moved from usr/lib/llvm-3.9/share/llvm/cmake/
++    to usr/lib/llvm-3.9/lib/cmake/llvm/
++    (upstream change)
++  * Add a symlink from usr/lib/llvm-3.9/share/llvm/cmake
++    pointing to usr/share/llvm-3.9/cmake
++  * Disable the run of lldb testsuite because of LLVM_LINK_LLVM_DYLIB=ON:
++    https://llvm.org/bugs/show_bug.cgi?id=28127
++  * Add -gsplit-dwarf to CXXFLAGS to workaround the memory allocation
++    issue on i386
++  * Ignore the lintian override about embedded-library for json.
++    Doesn't link otherwise
++  * Fix the soname of libclang and libLLVM. Might cause some breakage with
++    existing app but no choice...
++
++  [ Pablo Oliveira ]
++  * Add python-six as a dependency of python-lldb (Closes: #825371)
++    (thanks to Askar Safin)
++  * Fix lldb symlinks
++  * Fix missing _lldb.so import during lldb testsuite
++
++  [ Ed Schouten ]
++  * Preparation of the support of lld (not ready yet)
++
++  [ Kai Wasserbäch ]
++    * debian/rules:
++      - Ensure ld-gold is used. CMake invokes the linker through g++ most of the
++        time, therefore we need to set -Wl,-fuse-ld=gold.
++      - Remove unused variable "confargs".
++
++  [ Brad King ]
++  * Install cmake files in usr/share/llvm-@LLVM_VERSION@/cmake/ instead of
++    usr/share/llvm-@LLVM_VERSION@/cmake/
++  * Also install libLLVM-3.8.so.1 as a symlink
++  * debian/patches/fix-cmake-config-prefix.diff:
++    cover the CMake build system too
++  (Closes: #819072)
++
++  [ Alexis La Goutte ]
++  * Fix an issue with scan-view (Closes: #825101)
++
++  [ YunQiang Su ]
++  * Enable FPXX by default on mips/mipsel (Closes: #826749)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 02 Jul 2016 20:46:05 +0200
++
++llvm-toolchain-snapshot (1:3.9~svn260851-1) unstable; urgency=medium
++
++  * New snapshot
++  * Switch to 3.9 (remove lldb-3.9-dev as it was a transitionnal pkg)
++  * Update the clang description for something more accurate (C++-11, 14, etc)
++  * Cmake migration. Done by Andrew Wilkins. Many thanks to him
++    - Update patches to set SONAME in CMake build
++    - Create symlinks with ".links", don't install from build tree
++    - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.)
++    - Remove llvm-X.Y-tools package, because it contained only
++      internal tools that are not intended for distribution.
++    - Remove autotools-specific artifacts from packages.
++    - Remove "dummy" documentation artifacts from llvm-X.Y-docs
++      package. Not built/installed by CMake, not useful.
++    - Update control/rules to support CMake
++    - Patch LLDB SWIG interfaces to workaround a bug in SWIG
++      See https://llvm.org/bugs/show_bug.cgi?id=25468
++    - add missing files to clang-format
++    - Add patch to fix sanitizer lit invocation
++    - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.);
++      not installed by CMake, not intended for distribution
++    - removed llvm-X.Y-tools (contained only internal tools)
++    - removed autotools-specific artifacts (configure, Makefile, etc.)
++    - removed dummy documentation files
++  * Sync against 3.8
++  * Disable "Sphinx warnings treated as errors"
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 08 Mar 2016 09:50:29 +0100
++
++llvm-toolchain-3.8 (1:3.8-1) unstable; urgency=medium
++
++  * New upstream release
++  * Install a missing library to unbreak lldb (Closes: #815809)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 03 Mar 2016 21:16:21 +0100
++
++llvm-toolchain-3.8 (1:3.8~+rc3-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Update the clang description for something more accurate (C++-11, 14, etc)
++  * Update debian/orig-tar.sh to remove autoconf/config.sub autoconf/config.guess
++    in polly
++
++  [ Matthias Klose ]
++  * clang-tidy-3.8: Remove Breaks/Replaces on clang-modernize-3.8.
++  * Disable lldb on s390x.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 25 Feb 2016 14:26:14 +0100
++
++llvm-toolchain-3.8 (1:3.8~+rc2-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Remove build-llvm/ after the install step to save space.
++    Most of the rc1 builds failed because of hd space.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 03 Feb 2016 08:59:32 +0100
++
++llvm-toolchain-3.8 (1:3.8~+rc1-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Cmake migration. Done by Andrew Wilkins. Many thanks to him
++    - Update patches to set SONAME in CMake build
++    - Create symlinks with ".links", don't install from build tree
++    - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.)
++    - Remove llvm-X.Y-tools package, because it contained only
++      internal tools that are not intended for distribution.
++    - Remove autotools-specific artifacts from packages.
++    - Remove "dummy" documentation artifacts from llvm-X.Y-docs
++      package. Not built/installed by CMake, not useful.
++    - Update control/rules to support CMake
++    - Patch LLDB SWIG interfaces to workaround a bug in SWIG
++      See https://llvm.org/bugs/show_bug.cgi?id=25468
++    - add missing files to clang-format
++    - Add patch to fix sanitizer lit invocation
++    - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.);
++      not installed by CMake, not intended for distribution
++    - removed llvm-X.Y-tools (contained only internal tools)
++    - removed autotools-specific artifacts (configure, Makefile, etc.)
++    - removed dummy documentation files
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Jan 2016 16:09:01 +0100
++
++llvm-toolchain-3.8 (1:3.8.1-8) unstable; urgency=medium
++
++  * Disable the usage of ld gold on powerpc (Closes: #833583)
++  * Revert drop-avx512-from-skylake.diff, it is causing some regressions in the
++    testsuite
++  * Disable lldb on ppc64
++  * libfuzzer depends on the same version of clang (Closes: #833564)
++  * Use filter into of findstring in the gold usage. Thanks Doko for the
++    suggestion
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 07 Aug 2016 14:10:09 +0200
++
++llvm-toolchain-3.8 (1:3.8.1-7) unstable; urgency=medium
++
++  * Fix the detection of gcc. This broke the build on the latest unstable
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 05 Aug 2016 09:55:15 +0200
++
++llvm-toolchain-3.8 (1:3.8.1-6) unstable; urgency=medium
++
++  * Ship libFuzzer in its own package (libfuzzer-X.Y-dev) (Closes: #820159)
++  * Sync from Ubuntu. Many thanks to Matthias Klose
++    - drop-avx512-from-skylake.diff: Don't enable AVX512 on Skylake, as it's
++      a server cpu feature and breaks llvmpipe on workstations.
++    - Remove the build tree before calling dh_strip; at least the amd64 buildd
++      runs out of diskspace at this step.
++    - Add support for gcc's attribute abi_tag (needed for compatibility with
++      GCC 5's libstdc++); taken from the trunk (Closes: #797038)
++      (LP: #1510042, #1488254)
++      D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff
++      D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 28 Jul 2016 11:15:04 +0200
++
++llvm-toolchain-3.8 (1:3.8.1-5) unstable; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Try to fix mips64el build, by enabling the same
++    packages as the mips and mipsel versions
++  * Link mips* with latomic.
++
++  [ Sylvestre Ledru ]
++  * Disable lldb on sparc64 (Closes: #832371)
++  * Hopefully fix the FTBFS on armel
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Jul 2016 22:49:09 +0200
++
++llvm-toolchain-3.8 (1:3.8.1-4) unstable; urgency=medium
++
++  * Fix the FTBFS under mips/mipsel? (enable the link against atomic)
++    (Closes: #820537)
++  * Bring back llvm-3.8-tools to life
++  * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev
++    package
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Jul 2016 10:20:46 +0200
++
++llvm-toolchain-3.8 (1:3.8.1-3) unstable; urgency=medium
++
++  * Add -gsplit-dwarf to CXXFLAGS to workaround the memory allocation
++    issue on i386 (hopefully)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 02 Jul 2016 20:59:08 +0200
++
++llvm-toolchain-3.8 (1:3.8.1-2) unstable; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * Add a symlink from usr/lib/llvm-3.8/share/llvm/cmake
++    pointing to usr/share/llvm-3.8/cmake
++
++  [ Gianfranco Costamagna ]
++  * Remove python-lldb-3.8 where liblldb-3.8-dev is not built
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 28 Jun 2016 14:44:48 +0200
++
++llvm-toolchain-3.8 (1:3.8.1-1) unstable; urgency=medium
++
++  * New maintenance release
++
++  [ Kai Wasserbäch ]
++  * debian/rules: Ensure ld-gold is used. CMake invokes the linker through
++    g++ most of the time, therefore we need to set -Wl,-fuse-ld=gold.
++
++  [ Brad King ]
++  * Followup to fix the cmake install (Closes: #819072)
++
++  [ YunQiang Su ]
++  * Enable FPXX by default on mips/mipsel (Closes: #826749)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 23 Jun 2016 08:49:29 +0200
++
++llvm-toolchain-3.8 (1:3.8.1~+rc1-1~exp1) experimental; urgency=medium
++
++  * New RC release
++  * Improve the cmake detection (used for llvm.org/apt)
++  * Standards-Version updated to 3.9.8
++  * Ignore outdated-autotools-helper-file
++
++  [ Brad King ]
++  * Install cmake files in usr/share/llvm-@LLVM_VERSION@/cmake/ instead of
++    usr/share/llvm-@LLVM_VERSION@/cmake/
++  * Also install libLLVM-3.8.so.1 as a symlink
++  * debian/patches/fix-cmake-config-prefix.diff:
++    cover the CMake build system too
++  (Closes: #819072)
++
++  [ Pablo Oliveira ]
++  * Fix python-lldb dependencies and make proper symlinks to libLLVM
++    and liblldb as suggested by Graham Inggs (Closes: #821022)
++  * Fix liblldb suffix in lldb/scripts/Python/finishSwigPythonLLDB.py
++    (Closes: #813798)
++  * Fix LLVM bug 26158 - clang packages don't provide man pages
++  * Add python-six as a dependency of python-lldb (thanks to Askar Safin).
++
++  [ Gianfranco Costamagna ]
++  * Make python-lldb-3.8 depend on lldb-3.8-dev, to pick all
++    the required dependencies
++  * Unbreak circular dependency by Suggesting the python binding from
++    liblldb-3.8-dev
++
++  [ Alexis La Goutte ]
++  * Fix an issue with scan-view (Closes: #825101)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 26 May 2016 17:30:00 +0200
++
++llvm-toolchain-3.8 (1:3.8-2) unstable; urgency=medium
++
++  * Team upload.
++  * Disable polly on s390x and fix polly check.
++  * Fix VCS fields.
++
++  [ Sylvestre Ledru ]
++  * Fix txt file installation issue, by putting a README.txt file
++    with some explanation.
++
++  [ Graham Inggs ]
++  * Tighten llvm dev dependency (Closes: #814142).
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 07 Mar 2016 10:56:05 +0100
++
++llvm-toolchain-3.8 (1:3.8-1) unstable; urgency=medium
++
++  * New upstream release
++  * Install a missing library to unbreak lldb (Closes: #815809)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 03 Mar 2016 21:16:21 +0100
++
++llvm-toolchain-3.8 (1:3.8~+rc3-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Update the clang description for something more accurate (C++-11, 14, etc)
++  * Update debian/orig-tar.sh to remove autoconf/config.sub autoconf/config.guess
++    in polly
++
++  [ Matthias Klose ]
++  * clang-tidy-3.8: Remove Breaks/Replaces on clang-modernize-3.8.
++  * Disable lldb on s390x.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 25 Feb 2016 14:26:14 +0100
++
++llvm-toolchain-3.8 (1:3.8~+rc2-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Remove build-llvm/ after the install step to save space.
++    Most of the rc1 builds failed because of hd space.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 03 Feb 2016 08:59:32 +0100
++
++llvm-toolchain-3.8 (1:3.8~+rc1-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Cmake migration. Done by Andrew Wilkins. Many thanks to him
++    - Update patches to set SONAME in CMake build
++    - Create symlinks with ".links", don't install from build tree
++    - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.)
++    - Remove llvm-X.Y-tools package, because it contained only
++      internal tools that are not intended for distribution.
++    - Remove autotools-specific artifacts from packages.
++    - Remove "dummy" documentation artifacts from llvm-X.Y-docs
++      package. Not built/installed by CMake, not useful.
++    - Update control/rules to support CMake
++    - Patch LLDB SWIG interfaces to workaround a bug in SWIG
++      See https://llvm.org/bugs/show_bug.cgi?id=25468
++    - add missing files to clang-format
++    - Add patch to fix sanitizer lit invocation
++    - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.);
++      not installed by CMake, not intended for distribution
++    - removed llvm-X.Y-tools (contained only internal tools)
++    - removed autotools-specific artifacts (configure, Makefile, etc.)
++    - removed dummy documentation files
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Jan 2016 16:09:01 +0100
++
++llvm-toolchain-snapshot (1:3.8~svn255217-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Fix an install issue with clang-tidy
++  * clang-modernize has been removed. Long live to clang-tidy, its
++    replacement
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 10 Dec 2015 05:18:29 +0100
++
++llvm-toolchain-snapshot (1:3.8~svn254193-2) UNRELEASED; urgency=medium
++
++  * disable lldb and polly on powerpc, currently ftbfs.
++    setting the lldb archs in debian/control in just one
++    place would be appreciated.
++  * quoting fixes in debian/rules, when make macros
++    are empty
++    Thanks to Doko for the two previous changes (Closes: #806729)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 30 Nov 2015 15:34:12 +0100
++
++llvm-toolchain-snapshot (1:3.8~svn254193-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Remove some warnings in the manpages generation (Closes: #795310)
++  * Also ship sancov in clang-3.8
++  * Fix the links to scan-build-3.8 & scan-view-3.8
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 20 Oct 2015 14:07:06 +0200
++
++llvm-toolchain-snapshot (1:3.8~svn250696-1) unstable; urgency=medium
++
++  * Remove macho-dump from LLVM (removed by upstream r248302)
++  * Introduce clang-tidy-3.8 as a separate package. Replaces clang-modernize
++  * Ship run-clang-tidy.py & clang-tidy-diff.py in clang-tidy-3.8
++  * Remove cpp11-migrate-3.8 package. Has been replaced by clang-modernize
++    for a while (which will be replaced by clang-tidy)
++  * Add three new symbols in libclang1
++    - clang_CompileCommand_getFilename@Base
++    - clang_CompileCommand_getMappedSourceContent@Base 3.8
++    - clang_CompileCommand_getMappedSourcePath@Base 3.8
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 21 Sep 2015 13:16:35 +0200
++
++llvm-toolchain-snapshot (1:3.8~svn247576-1) unstable; urgency=medium
++
++  [ Sylvestre Ledru ]
++  * New snapshot release
++  * Remove CVE-2015-2305.patch. Already fixed upstream in a different
++    way
++  * remove patches merge upstream
++    - lit-lang.diff
++    - locale-issue-ld.diff
++  * Also generate liblldb-3.8-dbg
++  * Select LLVM OpenMP as the default backend
++
++  [ Gianfranco Costamagna ]
++  * d/control: Add more conflicting packages (python-clang and python-lldb)
++    (Closes: #796811, #796843)
++  * Remove an obsolete declaration about dragonegg
++    (cherry-pick from 3.7 branch)
++
++  [ James Price ]
++  * d/p/fix-cmake-config-prefix.diff: fix cmake path,
++    needs a change after upstream revision r241080
++    (Addresses: #794905)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 14 Sep 2015 18:29:09 +0200
++
++llvm-toolchain-snapshot (1:3.8~svn245286-1) unstable; urgency=medium
++
++  * New snapshot release (3.7 => 3.8)
++    No need to rename libllvm as 3.8 was not part of the debian archive
++
++  [ Gianfranco Costamagna ]
++  * Fix VCS fields.
++  * d/p/CVE-2015-2305.patch, fix security issue on regcomp.c
++  * Fix many lintian warning/errors
++    - copyright fixes
++    - control files
++    - disabled ocaml documentation
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 18 Aug 2015 14:28:36 +0200
++
++llvm-toolchain-snapshot (1:3.7~svn231060-1~exp2) UNRELEASED; urgency=medium
++
++  * Reflect upstream changes wrt vim package. Split the files into different
++    directories
++  * Disable the patch force-gcc-header-obj.diff. Seems to cause bug #23556
++  * Fix the CMake build. thanks to PaweÅ‚ Bylica for the fix.
++    Fix upstream bug #23352
++  * No longer building some clang help page, removing them
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 21 Apr 2015 09:41:41 +0200
++
++llvm-toolchain-snapshot (1:3.7~svn231060-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * Force the version of clang in the analyzer scripts
++    clang-analyzer-force-version.diff
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Mar 2015 09:19:38 +0100
++
++llvm-toolchain-snapshot (1:3.7~svn230857-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Support of gcc 5.0 (Closes: #777988)
++  * compiler-rt-i586.diff: fix a build issue of compiler-rt under i386
++  * lldb-gdbserver & lldb-platform have been merged into lldb-server
++  * Bring back polly and remove libcloog-isl-dev & libisl-dev as build deps
++    (shipped in the polly source tree)
++  * Set the correct conflicts (Closes: #777580, #777581, #777582)
++  * lit-lang.diff: Force the call to ld to be in english
++    (was failing with a french locale)
++  * silent-MCJIIT-tests.diff: enable some tests and silents some other
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 28 Feb 2015 18:44:59 +0100
++
++llvm-toolchain-snapshot (1:3.7~svn227076-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Switch to version 3.7
++  * Standards-Version updated to 3.9.6
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 26 Jan 2015 09:23:41 +0100
++
++llvm-toolchain-snapshot (1:3.6~svn224810-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Update library filename declaration 3.5 => 3.6 (Closes: #772006)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 05 Dec 2014 17:46:56 -0800
++
++llvm-toolchain-snapshot (1:3.6~svn221998-1~exp1) experimental; urgency=medium
++
++  * Disable ocaml binding. Needs libctypes-ocaml 0.3.3 which is not available
++  * libllvm*.a is not longer built
++  * Update of the libclang symbols
++  * Improve the copyright file. Thanks to Dann Frazier (Closes: #766778)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 04 Nov 2014 14:43:28 +0100
++
++llvm-toolchain-snapshot (1:3.6~svn218612-1) unstable; urgency=medium
++
++  * Fix my screw up. Add .1 to the libclang soname to make
++    dpkg-shlibdeps happy
++  * Remove useless dependency on doxygen
++  * scan-build could not find clang binary (Closes: #758998)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 26 Sep 2014 17:05:26 +0200
++
++llvm-toolchain-snapshot (1:3.6~svn218446-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Upload in unstable
++  * Disable the co-instability of lldb & python-lldb
++    (Python stuff conflicts)
++  * Fix bad dependencies on lldb 3.6
++  * Refresh of the list of symbol in libclang
++  * Try to workaround the FTBFS under ppc64el (create an empty directory)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 24 Sep 2014 14:20:49 +0200
++
++llvm-toolchain-snapshot (1:3.6~svn216933-1~exp1) experimental; urgency=medium
++
++  * New snapshot release
++  * sync from 1:3.5~+rc4-2~exp1
++  * libclang-3.6.so should be used instead libclang.so. Update the soname
++    to match the new lib name (Closes: #759538)
++  * Rename liblldb.so to liblldb-3.6.so + update of the soname.
++  * python-clang-3.6 description updated
++  * liblldb-3.6 and python-lldb-3.6 added
++  * lldb-3.6-dev renamed to liblldb-3.6-dev to match the previous changes
++  * Manpages for llvm-ranlib, clang-apply-replacements, pp-trace and clang-tidy
++    added
++  * clang-3.6 should depends on binutils (for ld, at least)
++    (Closes: #751030)
++  * clang/www/analyzer/scripts/dbtree.js removed
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 30 Aug 2014 18:09:20 +0200
++
++llvm-toolchain-snapshot (1:3.6~svn215195-3) unstable; urgency=medium
++
++  * Just like in 3.4 & 3.5, bring back lldb & lldb-dev under mips & mipsel
++  * Ship clang-rename/clang-rename-3.6
++  * Disable libstdc++-header-i386.diff & include-target.diff (merged upstream)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 18 Aug 2014 09:02:30 +0200
++
++llvm-toolchain-snapshot (1:3.6~svn215195-2) unstable; urgency=medium
++
++  * try to build lldb-mi under kfreebsd (kfreebsd-lldb-mi.diff)
++  * kfreebsd-lldb-gdbserver.diff removed (applied upstream)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 11 Aug 2014 08:44:13 +0200
++
++llvm-toolchain-snapshot (1:3.6~svn215195-1) unstable; urgency=medium
++
++  * Upload in unstable
++  * Enable compressed debug sections (Closes: #757002)
++  * Force scan-build to use the same version of clang
++  * Old JIT has been removed. 0050-powerpcspe-fp.diff is useless
++  * try to build lldb-gdbserver under kfreebsd (kfreebsd-lldb-gdbserver.diff)
++  * Second try to fix build under HURD (hurd-EIEIO-undef.diff)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Aug 2014 13:36:15 +0200
++
++llvm-toolchain-3.4 (1:3.4.2-8) unstable; urgency=medium
++
++  * Try to bring back lldb-3.4-dev on mips & mipsel (Closes: #758314)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 16 Aug 2014 22:39:13 +0200
++
++llvm-toolchain-3.4 (1:3.4.2-7) unstable; urgency=medium
++
++  * Upload in unstable
++  * Try to bring back lldb on mips & mipsel
++  * Force scan-build to use the same version of clang
++  * Try to fix hurd (hurd-EIEIO-undef.diff)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 05 Aug 2014 14:40:05 +0200
++
++llvm-toolchain-3.5 (1:3.5~+rc4-1) unstable; urgency=medium
++
++  * New snapshot release
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Aug 2014 23:09:59 +0200
++
++llvm-toolchain-3.5 (1:3.5~+rc3-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Cherry-pick to commit from upstream (revisions 214906 214907)
++    to improve the gcc compat
++  * Remove scan-build-clang-path.diff (applied upstream)
++  * Just like in 3.4, bring back lldb & lldb-dev under mips & mipsel
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Aug 2014 23:43:06 +0200
++
++llvm-toolchain-3.5 (1:3.5~+rc2-1) unstable; urgency=medium
++
++  * Fix the version
++  * try to build lldb-gdbserver under kfreebsd (kfreebsd-lldb-gdbserver.diff)
++  * Second try to fix build under HURD (hurd-EIEIO-undef.diff)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 08 Aug 2014 10:42:13 +0200
++
++llvm-toolchain-3.5 (1:3.5~+rc2-1~exp1) unstable; urgency=medium
++
++  * New snapshot release
++  * Enable compressed debug sections (Closes: #757002)
++  * Force scan-build to use the same version of clang
++  * Bring back scan-build-search-path.diff (Closes: #757219)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Aug 2014 13:35:35 +0200
++
++llvm-toolchain-snapshot (1:3.6~svn214630-1~exp1) experimental; urgency=medium
++
++  * New snapshot release (3.5 => 3.6)
++  * Co installation of clang (Closes: #736057)
++    - scan-build => scan-build-3.6
++    - scan-view => scan-view-3.6
++    - asan_symbolize => asan_symbolize-3.6
++  * Refresh of the patches
++  * Install yaml2obj, obj2yaml & verify-uselistorder in llvm-3.6
++  * Remove of pollycc
++  * clang alternatives are managed by llvm-defaults
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 31 Jul 2014 18:12:59 +0200
++
++llvm-toolchain-3.5 (1:3.5~+rc1-2) unstable; urgency=medium
++
++  * Sync with 3.4 svn to retrieve some changes:
++  * Replace $(CURDIR)/debian/tmp by a variable
++  * Move the polly installation in the dh_auto_install rules instead
++    of using *.install files. In llvm.org/apt/, I have to sometime disable
++    polly
++  * hurd-EIEIO-undef.diff: try to undef an errno.h to fix the ftbfs
++  * clang-X suggests clang-X-doc (Closes: #755922)
++  * Manage all files using .in mechanism. It will simplify the upgrade of
++    version
++  * Disable lldb for ppc64el. Thanks to Dimitri John Ledkov (Closes: #756380)
++  * Fix the FTBFS under PowerPC. Thanks to Dimitri John Ledkov for the patch
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 24 Jul 2014 11:42:56 +0200
++
++llvm-toolchain-3.5 (1:3.5~+rc1-1) unstable; urgency=medium
++
++  * First RC release of the 3.5 llvm toolchain
++  * Apply lldb-kfreebsd.diff patch to fix FTBFS under KFreeBSD
++    Thanks to Ed Maste
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 23 Jul 2014 08:57:59 +0200
++
++llvm-toolchain-snapshot (1:3.5~svn213451-1) unstable; urgency=medium
++
++  * New snapshot release
++  * If the version of gcc is too old, force the usage of gcc 4.8
++  * Clang will now show the full version. Example: 3.5.0-svn213052-1~exp1
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Jul 2014 15:27:11 +0200
++
++llvm-toolchain-snapshot (1:3.5~svn211669-2) unstable; urgency=medium
++
++  * Remove useless dependency on g++
++  * Use the option stable '-analyzer-config stable-report-filename=true'
++    to the llvm scan-build reports
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 29 Jun 2014 19:13:05 +0200
++
++llvm-toolchain-snapshot (1:3.5~svn211669-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Fix CVE-2014-2893 (Closes: #744817)
++  * Merge with 3.4/debian
++  * Ship lldb-mi in lldb
++  * Remove scan-build-fix-clang-detection.diff (applied upstream)
++  * Ship the compiler-rt static libraries
++  * Running tests respect DEB_BUILD_OPTIONS=parallel=X
++   (Closes: #751943)
++  * Fix FTBFS on powerpc and powerpcspe (Closes: #733890)
++  * Broken library symlink fixed in lldb-3.5 (Closes: #715130)
++  * Fix --use-cc when no absolute path is provided (Closes: #748777)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 25 Jun 2014 07:58:03 +0200
++
++llvm-toolchain-snapshot (1:3.5~svn209039-2) unstable; urgency=medium
++
++  * Provide a link as compatibility with previous lib name (Closes: #748569)
++  * Be less permissive when installing lldb. Remove duplication of the install
++    of liblldb.so.1
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 18 May 2014 20:01:40 +0200
++
++llvm-toolchain-snapshot (1:3.5~svn209039-1) unstable; urgency=medium
++
++  * New snapshot release
++  * Fix the cmake install patch
++  * Disable profile_rt.diff for now
++  * Refresh of libclang1-3.5.symbols
++  * Fix path to /usr/lib/clang/3.5.0/ (Closes upstream #19088)
++  * Fix the wrong dependency declaration on llvm-3.5-tools
++  * Add gnustep & gnustep-devel as suggests of clang-3.5
++  * Add libc6-dev as an explicit dependency of clang-3.5
++  * Build with dh_install --fail-missing
++  * Start to use /usr/bin/foo-X.Y. First step to have several clang versions
++    installed together
++  * Add some missing files:
++    - lli-child-target         - llvm-3.5-runtime
++    - count                    - llvm-3.5-tools
++    - html.tar.gz              - llvm-3.5-doc
++    - ocamldoc.tar.gz          - llvm-3.5-doc
++    - BugpointPasses.so        - llvm-3.5-dev
++    - liblldb*                 - lldb-3.5-dev
++    - clang-apply-replacements - clang-3.5
++    - clang-tidy               - clang-3.5
++    - clang-query              - clang-3.5
++    - pp-trace                 - clang-3.5
++    - lldb-platform            - lldb-3.5
++    - lldb-gdbserver           - lldb-3.5
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 16 May 2014 23:23:50 +0200
++
++llvm-toolchain-3.4 (1:3.4.2-2) unstable; urgency=medium
++
++  * Improve the CVE-2014-2893 fix (Closes: #744817)
++  * Add a check to avoid an error on arch where compiler-rt is not available
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 16 Jun 2014 23:00:47 +0200
++
++llvm-toolchain-3.4 (1:3.4.2-1) unstable; urgency=medium
++
++  * New upstream release
++  * Add build conflict on libllvm-3.5-ocaml-dev
++  * Also disable lldb tests under armel (like armhf). Timeout
++  * Update of the repack script
++  * Use llvm-3.4-dev.links.in to manage the symlinks
++  * Fix the soname of liblldb.so to see it treated as a real library
++    (Closes: #750868)
++  * Switch to the default gcc/g++ compiler. Currently 4.9 (Closes: #751322)
++  * Fixes CVE-2014-2893 (Closes: #744817)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 06 Jun 2014 15:55:57 +0200
++
++llvm-toolchain-3.4 (1:3.4.1-4) unstable; urgency=medium
++
++  * Be less permissive when installing lldb. Remove duplication of the install
++    of liblldb.so.1
++  * Add symlinks lldb-3.4, lldb-platform-3.4 & lldb-gdbserver-3.4 without 3.4
++  * Clang was unusable with libstdc++ from gcc 4.9 (Closes: #744792)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 18 May 2014 20:18:19 +0200
++
++llvm-toolchain-3.4 (1:3.4.1-3) unstable; urgency=medium
++
++  * Fix path for arch without support of compiler-rt. Should fix most of the
++    FTBFS
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 16 May 2014 15:27:37 +0200
++
++llvm-toolchain-3.4 (1:3.4.1-2) unstable; urgency=medium
++
++  * Fix the soname. No changes in the ABI, so, no need to update the soname
++    (Closes: #747701)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 11 May 2014 17:29:22 +0200
++
++llvm-toolchain-3.4 (1:3.4.1-1) unstable; urgency=medium
++
++  * New upstream release. Note that only LLVM & Clang had a new release.
++    I just copied the 3.4 tarballs for clang-extra-tools, polly, lldb and
++    compiler-rt.
++  * Symlink for current build mode missing (Closes upstream #18836)
++  * Add link usr/lib/llvm-3.4/ to usr/lib/llvm-3.4/build/Debug+Asserts
++  * Backport of a r201586 from upstream. scan-build was failing on some project
++    like firefox build system. (Yeh, advantage to be the packager of a software
++    that I use ;) ). See scan-build-fix-clang-detection.diff
++  * Fix the version in the symbol list (libclang1-3.4.symbols)
++  * Update the path regarding upstream changed (3.4 => 3.4.1)
++    (Patch improved also by Martin Nowack)
++  * Remove generated file libllvm3.4.install
++  * Add gnustep & gnustep-devel as suggests of clang-3.4
++  * Add libc6-dev as an explicit dependency of clang-3.4
++  * Build with dh_install --fail-missing
++  * Start to use /usr/bin/foo-X.Y. First step to have several clang versions
++    installed together
++  * Add some missing files:
++    - lli-child-target         - llvm-3.4-runtime
++    - count                    - llvm-3.4-tools
++    - html.tar.gz              - llvm-3.4-doc
++    - ocamldoc.tar.gz          - llvm-3.4-doc
++    - BugpointPasses.so        - llvm-3.4-dev
++    - liblldb*                 - lldb-3.4-dev
++    - lldb-platform-3.4        - lldb-3.4
++    - clang-apply-replacements - clang-3.4
++    - clang-tidy               - clang-3.4
++    - pp-trace                 - clang-3.4
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 09 May 2014 19:57:33 +0200
++
++llvm-toolchain-snapshot (1:3.5~svn200375-1) unstable; urgency=medium
++
++  * New snapshot release
++  * polly unnopstream is now using the isl trunk. Disabling it for now.
++  * Only explicit the link against atomic when running mips & mipsel
++  * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
++  * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot
++    packages and it should be the norm now...
++
++  [ Martin Nowack ]
++  * Fixed build directory for llvm-config
++  * Add Unittests for running tests for llvm-based projects
++  * Install FileCheck and not for testing
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 29 Jan 2014 07:36:29 -0800
++
++llvm-toolchain-snapshot (1:3.5~svn199601-1) unstable; urgency=low
++
++  * New snapshot release
++  * Update clang-format declaration from 3.4 => 3.5. Closes upstream bug #18451
++  * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
++  * Force gcc 4.8. LLVM & Co are now in C++ 11.
++  * Also make clang-3.5 breaks/replaces clang. Conflicts on
++    /usr/share/clang/scan-view/ScanView.py (Closes: #730266)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 15 Jan 2014 15:08:03 +0100
++
++llvm-toolchain-snapshot (1:3.5~svn197556-1) unstable; urgency=low
++
++  * New snapshot release
++  * Merge changes from 1:3.4~+rc3-1
++  * Disable much of the display of the lldb display
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 17 Dec 2013 12:02:52 +0100
++
++llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low
++
++  * Sync from 3.4~+rc2-1
++  * Make lldb 3.5 also conflict with 3.4 (Closes: #730163)
++  * Make python-clang 3.5 also conflict with 3.4 (Closes: #730164)
++  * Fix a FTBFS with clang
++  * Refresh the /usr/include/clang mess
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 10 Dec 2013 09:57:15 +0100
++
++llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low
++
++  * Switch from 3.4 to 3.5
++  * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch
++    Useless now and misleading
++  * Standards-Version updated to 3.9.5
++  * kfreebsd.diff remove (applied upstream)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Nov 2013 21:24:28 +0100
++
++llvm-toolchain-3.4 (1:3.4-2) unstable; urgency=medium
++
++  * Only explicit the link against atomic when running mips & mipsel
++  * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
++  * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot
++    packages and it should be the norm now...
++  * Introduce llvm-3.4-tools to contain the new files needed by Martin
++
++  [ Matthias Klose ]
++  * Disable the lldb build for AArch64.
++  * Don't run the lldb tests on armhf (time out on the buildd).
++
++  [ Martin Nowack ]
++  * Fixed build directory for llvm-config
++  * Add Unittests for running tests for llvm-based projects
++  * Install FileCheck and not for testing
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 11 Feb 2014 11:19:21 +0100
++
++llvm-toolchain-3.4 (1:3.4-1) unstable; urgency=medium
++
++  * New upstream release
++  * Remove explicit dep on gcc 4.8
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 20 Dec 2013 18:36:58 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu4) trusty; urgency=medium
++
++  * Rebuild for ocaml-4.01.
++
++ -- Matthias Klose <doko@ubuntu.com>  Mon, 23 Dec 2013 12:11:17 +0000
++
++llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu3) trusty; urgency=low
++
++  * Bring over Ubuntu changes from 3.3:
++    - Revert to using the static copy of libjsoncpp, since the shared
++      library lacks sane versioning, and this is only a few thousand
++      lines of cargo-culted code from a reasonably stagnant upstream.
++    - Drop lcov build-dep to avoid pulling it into main, due to its
++      being fundamentally incompatibe with our newer GCC versions.
++
++ -- Matthias Klose <doko@ubuntu.com>  Fri, 20 Dec 2013 12:59:01 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu2) trusty; urgency=low
++
++  * Don't run the lldb tests on armhf (time out on the buildd).
++
++ -- Matthias Klose <doko@ubuntu.com>  Wed, 18 Dec 2013 12:29:56 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu1) trusty; urgency=low
++
++  * Disable the lldb build for AArch64.
++  * Build-depend on gcc-multilib on amd64 and i386.
++
++ -- Matthias Klose <doko@ubuntu.com>  Tue, 17 Dec 2013 18:44:50 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc3-1) unstable; urgency=low
++
++  * New testing upstream release
++  * Relative call in the chroot without proc failed.
++    See: fix-an-issue-in-chroot-witout-proc.diff
++  * Bring back lldb-link-atomic.diff to make sure lldb builds under
++    powerpc
++  * Also limit the number of archs for liblldb-dev
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 17 Dec 2013 11:27:40 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc2-3) unstable; urgency=low
++
++  * Fix the bad declaration on the lldb desactivation
++  * Also disable lldb under powerpc
++  * Hopefully, fix lldb under Kfreebsd-* (thanks to Ed Maste if it works)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Dec 2013 23:53:49 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc2-2) unstable; urgency=low
++
++  * Add the Ocaml ABI dependency (Closes: #731344)
++  * Disable LLDB also for ia64, mips & mipsel
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Dec 2013 15:37:39 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc2-1) unstable; urgency=low
++
++  * New testing upstream release
++  * 0047-version-name.diff ocamldoc.diff removed (applied upstream)
++  * r600 is now compiled by default (remove the configure arg)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Dec 2013 10:25:59 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc1-3) unstable; urgency=low
++
++  * Remove the usage of --with-c-include-dirs, --with-cxx-include-root,
++    --with-cxx-include-arch and --with-cxx-include-64bit-dir
++    It was blocking the automatic detection of the path of clang.
++    In particular in the context of the usage of -target.
++    However, it does not completely fix the detection of the i386 C++ path.
++    See the next item.
++    (Closes: #729933)
++  * Bring back the path to libstdc++ under i386. Still not fixed upstream
++    (Closes: #730857)
++  * Define also MAXPATHLEN in Path.inc for HURD.
++  * Silent the trillion of warnings in the LLDB Python wrapper (swig generated)
++    See silent-swig-warning.diff
++  * Silent some i386 tests failing (it is expected)
++    See silent-MCJIIT-tests.diff
++  * Make lldb 3.4 also conflict with 3.5 (Closes: #730163)
++  * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164)
++  * Port LLVM to mips64el. Thanks to YunQiang Su. Initially done for
++    3.3 and ported on the 3.4 (Closes: #730808)
++  * If we get an unexpected pass, do not break the tests
++    do-not-fail-on-unexpected-pass.diff (I am disabling some tests)
++  * Fix the path detection of the objective h headers.
++  * Also add usr/lib/llvm-3.4/lib/clang/3.4/include =>
++    usr/lib/clang/3.4/include symlink to simplify the path detection
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 01 Dec 2013 17:49:46 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc1-2) unstable; urgency=low
++
++  * Force the build to gcc 4.8... gcc 4.6 used on some Debian archs does not
++    support some C++ features.
++  * Fail the build when llvm tests are failing under amd64 + i386. More to come.
++  * Fix a libclang.so.1 issue during the clang tests
++  * Improve the patch 23-strlcpy_strlcat_warning_removed.diff
++    (also remove the tests)
++  * Make lldb 3.4 also conflict with 3.5 (Closes: #730163)
++  * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164)
++  * Remove usr/lib/llvm-3.4/build/autoconf/LICENSE.TXT
++  * silent warning "manpage-has-useless-whatis-entry" in lldb-3.4
++  * silent warning "package-name-doesnt-match-sonames libclang1"
++  * Refresh patch kfreebsd_v2.diff to, maybe, fix lldb build under kfreebsd.
++    Thanks to Ed Maste for the patch.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 26 Nov 2013 18:32:49 +0100
++
++llvm-toolchain-3.4 (1:3.4~+rc1-1) unstable; urgency=low
++
++  * New testing upstream release
++  * kfreebsd.diff removed. Applied upstream
++  * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch
++    Useless now and misleading
++  * Branch from llvm-toolchain-snapshot
++  * Standards-Version updated to 3.9.5
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Nov 2013 21:24:28 +0100
++
++llvm-toolchain-snapshot (1:3.4~svn194079-1) unstable; urgency=low
++
++  * New snapshot release
++  * Also install clang 3.4 examples (clang-3.4-examples) (Closes: #728260)
++  * Move c-index-test* from llvm-3.4 => clang-3.4. It was triggering an
++    unnecessary dependency from llvm-3.4 to libclang
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 01 Nov 2013 05:19:55 +0100
++
++llvm-toolchain-snapshot (1:3.4~svn193628-1) unstable; urgency=low
++
++  * New snapshot release
++    - Fix the scan-build warning (Closes: #725332)
++  * Merge changes from the 3.3 branch (see 1:3.3-12)
++  * Add lldb-3.4-dev package
++  * Remove mipsel-ftbfs.diff (applied upstream)
++  * Add support of coverity checker (non-free and not packaged)
++  * libprofile_rt and runtime has been removed upstream (r191835)
++    Features are provided by compiler-rt
++  * Update the build dependency from tcl8.5 to tcl (Closes: #725954)
++  * clang-modernize-3.4 was not coinstallable with clang 3.4
++    (Closes: #724245)
++  * The package wasn't cleaned correctly (Closes: #722155)
++  * libtinfo-dev is now a dependency of llvm-3.4-dev (Closes: #727129)
++  * Install libclang.so in /usr/lib/*/libclang-3.4.so
++  * Install libclang.so.1 in /usr/lib/*/libclang-3.4.so.1
++  * Also ship the python clang binding (python-clang-3.4)
++  * Enable polly if the dependencies are OK (only Debian unstable for now)
++  * Bring back /usr/lib/llvm-3.4/lib/libclang.so (libclang-3.4-dev) and
++    /usr/lib/llvm-3.4/lib/libclang.so.1 (libclang1-3.4)
++  * Honor the option "nocheck"
++  * Disable the build of lldb under HURD
++  * Ship the lldb headers into lldb-X.Y-dev (Closes: #723743)
++    I might create a liblldb-X.Y library at some point but I think it is too
++    early.
++  * Update the build dependency from tcl8.5 to tcl (Closes: #725953)
++  * Update of the clang descriptions (Closes: #727684)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 29 Oct 2013 17:56:18 +0100
++
++llvm-toolchain-snapshot (1:3.4~svn190846-1) unstable; urgency=low
++
++  * New snapshot release
++  * Merge changes from the 3.3 branch (see 1:3.3-9)
++  * Remove ia64-fix.diff (applied upstream)
++  * cpp11-migrate renamed to clang-modernize
++  * lldb-3.4 is back to Architectures: any
++  * Patch lldb-hurd.diff removed (applied upstream)
++  * Directory www/ from tarballs polly & lldb removed
++  * Update of the description of LLVM packages
++    (LLVM no longer mean Low Level Virtual Machine)
++
++  [ Luca Falavigna ]
++  * debian/control:
++    - Add llvm-3.4-dev to lldb-3.4 Depends field.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 05 Sep 2013 12:04:35 +0200
++
++llvm-toolchain-3.3 (1:3.3-9) unstable; urgency=low
++
++  [ Luca Falavigna ]
++  * debian/control:
++    - Add llvm-3.3-dev to lldb-3.3 Depends field (Closes: #715129).
++
++  [ Sylvestre Ledru ]
++  * Only use -fuse-ld=gold on supported distribution. Simplify the
++    backports.
++  * Fix  'bits/c++config.h' file not found under i386
++    See libstdc++-header-i386.diff. (Closes: #714890)
++  * Add more fixes for the HURD port... (but still fails)
++
++  [ Robert Millan ]
++  * clang under KfFreeBSD was not exporting the correct defines
++    (Closes: #721880)
++
++  [ Jon Severinsson ]
++  * Merge from llvm-toolchain-3.2 branch up to 3.2repack-11.
++  * Drop auto-generated file debian/libllvm3.3.install.
++  * Automatically determine GCC_VERSION and dep:devlibs based on g++ package
++    version.
++  * Automatically determine if -fuse-ld=gold is supported based on binutils
++    package version.
++
++  [ Adam Conrad ]
++  * debian/patches/lldb-link-atomic.diff: Link lldb with -latomic to get
++    builtin GCC atomic helpers on arches (like powerpc) that need them.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 26 Aug 2013 14:48:42 +0200
++
++llvm-toolchain-3.3 (1:3.3-8) unstable; urgency=low
++
++  [ Sylvestre Ledru ]
++  * Fix another issues under HURD...
++
++  [ Luca Falavigna ]
++  * debian/patches/libprofile_rt_sparc.patch:
++    - Re-enable libprofile_rt on Sparc, fix FTBFS.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 23 Aug 2013 15:02:05 +0200
++
++llvm-toolchain-3.3 (1:3.3-7) unstable; urgency=low
++
++  * debhelper version 9.20130720 fails on the call to dh_auto_clean
++    Remove it. It was anyway useless.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 22 Aug 2013 14:28:25 +0200
++
++llvm-toolchain-3.3 (1:3.3-6) unstable; urgency=low
++
++  * Fix the FTBFS under hurd and KFreeBSD
++  * Do not remove all *.o in tests. Some of them are from upstream source
++    tarball. Thanks to Maarten Lankhorst for the fix.
++  * Fix the lintian error 'lldb-3.3: postinst-must-call-ldconfig'
++  * Add the manpages of clang-format-3.3
++  * Overrides the manpages warnings
++  * Also apply unwind-chain-inclusion.diff from the snapshot branch to make sure
++    we can build the package locally even if libclang-dev is installed
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 22 Aug 2013 09:01:04 +0200
++
++llvm-toolchain-3.3 (1:3.3-5) unstable; urgency=low
++
++  * Install llvm-c headers also in usr/include/llvm-3.3/llvm-c
++  * Fix the FTBFS under mips & mipsel
++  * Refresh of the kfreebsd i386 patch
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 07 Aug 2013 13:12:23 +0200
++
++llvm-toolchain-3.3 (1:3.3-4) unstable; urgency=low
++
++  * Use the static library libjsoncpp.a instead of the ship library in polly
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 11 Aug 2013 09:54:17 +0200
++
++llvm-toolchain-snapshot (1:3.4~svn185325-1) unstable; urgency=low
++
++  * binutils-gold no longer exists. Use -fuse-ld=gold instead.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 01 Aug 2013 14:06:38 +0200
++
++llvm-toolchain-snapshot (1:3.3-2) unstable; urgency=low
++
++  * Fix warning python-script-but-no-python-dep on clang-format-X.Y
++  * manpages are generated during build time (simplifies maintenance)
++  * Fix duplicate underscore.js and jquery.js
++  * Move libjs-jquery & libjs-underscore dependencies to llvm-X.Y-doc
++  * Add lldb-X.Y manpage
++  * Hopefully fix the ftbfs under mipsel (mipsel-ftbfs.diff)
++  * Disable the usage of binutils-gold under armel. It currently fails with:
++    "attempt to map 2752512 bytes at offset 2066666 exceeds size of file;
++    the file may be corrupt"
++
++  [ Léo Cavaillé ]
++  * Add patch to find correctly LLVMGold.so with -O4 (Closes: #712437)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 20 Jun 2013 15:39:11 +0200
++
++llvm-toolchain-snapshot (1:3.4~svn184294-1~exp1) experimental; urgency=low
++
++  * New snapshot release
++  * Improve some scripts and fix cpp11-migrate install from
++    clang-tools-extra.
++  * Fix "versionless" clang manpages install.
++  * Fix Toolchain patch from change of scope (add namespaces).
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 19 Jun 2013 14:20:12 +0200
++
++llvm-toolchain-snapshot (1:3.4~svn183914-1) unstable; urgency=low
++
++  * New snapshot release
++  * Upload to unstable (will be blocked by a RC bug)
++  * Sync changes from llvm-toolchain-3.3:
++    - Introduce cpp11-migrate-3.4 and clang-format-3.4
++    - Install the vim llvm script at the right place
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 13 Jun 2013 18:47:08 +0200
++
++llvm-toolchain-snapshot (1:3.4~svn182733-1~exp1) experimental; urgency=low
++
++   * New snapshot release (3.4 release)
++   * Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
++       to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
++     * Various packages rename to allow co installations:
++       * libclang1 => libclang1-3.4
++       * libclang1-dbg => libclang1-3.4-dbg
++       * libclang-dev => libclang-3.4-dev
++       * libclang-common-dev => libclang-common-3.4-dev
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 27 May 2013 15:01:57 +0200
++
++llvm-toolchain-snapshot (1:3.3~svn179851-1~exp1) experimental; urgency=low
++
++  * Draft of a snapshot release (3.3)
++  * Enable r600 experimental backend
++  * Improve the dependencies:
++    * clang-3.3 depends on the exact same libllvm3.3 release
++    * idem for lldb-3.3
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 19 Apr 2013 09:31:38 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-11) unstable; urgency=low
++
++  * dh_auto_clean removed, just like in the 3.3
++  * Use the static library libjsoncpp.a instead of shipping library in polly
++    Backport of the modification of 3.3
++
++  [ Adam Conrad ]
++  * Revive deltas from the previous Ubuntu versions of llvm and clang:
++    - debian/patches/35-ubuntu-releases.diff: Add UbuntuSaucy to table.
++    - debian/patches/JITEmitter.patch: Fix a segfault in the exception
++      table of the JIT code emitter (See Launchpad bug #1160587)
++
++  [ Luca Falavigna ]
++  * debian/patches/libprofile_rt_sparc.patch:
++    - Re-enable libprofile_rt on Sparc, fix FTBFS.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 23 Aug 2013 11:49:09 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-10) unstable; urgency=low
++
++  * Fix the wrong package declaration on libstdc++-4.8-dev (Closes: #713944)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 24 Jun 2013 23:00:47 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-9) unstable; urgency=low
++
++  * Switch to libstdc++ 4.8 instead of 4.7 for the headers (Closes: #712520)
++  * Depends against libobjc-4.8-dev and libgcc-4.8-dev
++  * Disable the usage of binutils-gold under armel. It currently fails with:
++      "attempt to map 2752512 bytes at offset 2066666 exceeds size of file;
++      the file may be corrupt"
++  * Add DEBUGMAKE=1 to get information about compiler-rt compilation
++  * Fix "libclang-common-dev: missing-depends-line"
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 22 Jun 2013 07:38:41 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-8) unstable; urgency=low
++
++  * Fix the build under ia64. Thanks to Luca Falavigna for the patch
++    (ia64-fix.diff)
++  * Disable lldb-3.2:
++    - the quality is not good enough
++    - We have lldb-3.3 now in the archive
++    - Too many backported patches would be necessary for lldb-3.2 to work
++    - It blocks some important transitions (mesa)
++  * Add the detection of Ubuntu saucy
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 03 Jun 2013 11:32:29 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-7) unstable; urgency=low
++
++  * For now, enable only lldb for amd64 and i386 (blocks too many things)
++    (Bis) (Closes: #707866)
++  * Add a symlink of libLLVM-3.2.so.1 to usr/lib/llvm-3.2/lib/libLLVM-3.2.so
++    to fix make the llvm-config-3.2 --libdir work (Closes: #708677)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 27 May 2013 13:20:30 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-6) unstable; urgency=low
++
++  * Create the compiler-rt directory to make the install of compiler-rt works
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 18 May 2013 18:08:52 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-5) unstable; urgency=low
++
++  * For now, enable only lldb for amd64 and i386 (blocks too many things)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 18 May 2013 10:24:04 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-4) unstable; urgency=low
++
++  * Add several patches which, hopefully, will fix the build under ARM, S390,
++    S390X, etc (lldb-apple_only.diff, lldb-user-remove.diff & lldb-hurd.diff)
++  * Include sys/wait.h also under kfreebsd (kfreebsd-thread.diff)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 15 May 2013 12:04:24 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-3) unstable; urgency=low
++
++  * Before the configure, show which version of CC is being used.
++  * Add support of kfreebsd and hurd in lldb (kfreebsd-hurd-lldb.diff)
++  * Force the usage of gcc 4.7 for all archs. Should fix some FTBFS
++    (Closes: #707866)
++  * Fix the symlink on clang++.1.gz llvm-clang.1.gz (Closes: #707832)
++
++  [ Jon Severinsson ]
++  * Re-enable the r600 backend and update it to the mesa-9.1.1 tag.
++   (Closes: #708009)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 14 May 2013 12:10:07 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-2) unstable; urgency=low
++
++  * Do not depend on libobjc-4.7-dev & libgcc-4.7-dev.
++    They are still only in experimental
++  * Disable the usage of binutils-gold under [powerpc powerpcspe ppc64 sparc
++    sparc64] to fix FTBFS
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 07 May 2013 13:15:20 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-1) unstable; urgency=low
++
++  * Upload to unstable
++  * Standards-Version update to 3.9.4
++  * clang pure virtual function call crash with binaries built with C++11's
++    std::thread. Upstream commit 178816 (Closes: #705838)
++  * Introduce a symbols file for libclang1 (Closes: #705672)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 21 Apr 2013 14:06:23 +0200
++
++llvm-toolchain-3.2 (1:3.2repack-1~exp4) experimental; urgency=low
++
++  * Build using binutls-gold to improve the quality of the binaries.
++    See: http://allievi.sssup.it/techblog/?p=791
++  * Detect the vendor (Debian or Ubuntu) and update the configuration
++  * Port to powerpcspe. Thanks to Roland Stigge (Closes: #701587)
++    See: 31-powerpcspe.diff
++  * Fix the path detection of scan-build (Closes: #698352)
++    See: 32-scan-build-path.diff
++  * debian/patches/r600-snapshot.diff: Move backports into individual patches.
++  * debian/patches/r600-snapshot.diff: Update to mesa-9.1 git tag.
++    (Closes: #703671, #697356)
++  * Fix a typo in the detection of the vendor
++
++  [ Peter Michael Green ]
++  * Use binutils-gold only on architectures where it is actually available
++  * 33-armhf-defaults.diff Fix defaults to use correct CPU and FPU for
++    debian  armhf (Closes: #704111)
++  * 34-powerpc-no-altivec.diff disable altivec by default on powerpc because
++    debian powerpc does not require altivec (patch cherry picked from ubuntu)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 14 Mar 2013 17:47:12 +0100
++
++llvm-toolchain-3.2 (1:3.2repack-1~exp3) experimental; urgency=low
++
++  * Remove package "clang". It is now provided by llvm-defaults.
++  * Fix some issues relative to the epoch change
++  * Fix a wrong path in the _lldb.so Python symlink
++  * Install cmake files to build LLVM extensions (Closes: #701153)
++  * Remove the embedded copy of libjs-jquery (Closes: #701087)
++  * Fix the install of lli manpage (Closes: #697117)
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 17 Feb 2013 12:05:15 +0100
++
++llvm-toolchain-3.2 (1:3.2repack-1~exp2) experimental; urgency=low
++
++  * Install the python files for lldb. Thanks to Daniel Malea for spotting this.
++  * Update of the clean target
++  * Introduce an epoch to match the changes in bug #699899
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 13 Feb 2013 12:22:30 +0100
++
++llvm-toolchain-3.2 (3.2repack-1~exp1) experimental; urgency=low
++
++  * Build the whole LLVM toolchain at once. This includes:
++    - LLVM
++    - Clang
++    - compiler-rt
++    - lldb
++    - polly
++  * Also install clang-check & clang-tblgen in the clang-3.2 package
++  * Fix the patch detection of clang from scan-build (Closes: #698352)
++  * debian/patches/0050-powerpcspe-fp.diff: Add, hopefully fix FTBFS on
++    powerpcspe, by disabling save / restore of floating point registers which
++    don't exist on powerpcspe. Thanks to Roland Stigge for the patch.
++    (Closes: #696474)
++  * libLLVM-3.2.so.1 is now shipped only once (Closes: #696913)
++  * Enable RTTI (Closes: #697754)
++  * Introduce lldb as a new package (Closes: #698601)
++  * Add a script pollycc which will call clang with the right arguments.
++  * Use __builtin___clear_cache on ARM to fix a clang bug.
++    Thanks to Matthias Klose.
++
++ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 09 Feb 2013 12:14:10 +0100
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8c9084cfbe00e30a0af0123206e43e1bd9e4e179
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++clang/docs/_build/html/
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..20e442da356554c98fcfb2e42c2103ee82145249
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-doc-default-stylesheet.css
++usr/lib/llvm-@LLVM_VERSION@/share/clang/index.js
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..49cbc5fef734f652d852af42fccaa69d7ead6a0c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++clang/examples/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c92899f22562665573b5d72e946000ba1a832b0c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/clang
++usr/lib/llvm-@LLVM_VERSION@/bin/clang++
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-cpp
++
++#usr/share/man/man1/clang.1     usr/share/man/man1/
++usr/lib/llvm-@LLVM_VERSION@/lib/cmake/clang/*.cmake
++usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh
++
++usr/bin/clang-@LLVM_VERSION@
++usr/bin/clang++-@LLVM_VERSION@
++usr/bin/clang-cpp-@LLVM_VERSION@
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..412b2ca06a200b400b65f7dcfbcaecdbd6a1e2f3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/clang usr/lib/llvm-@LLVM_VERSION@/bin/clang-@LLVM_VERSION@
++usr/lib/llvm-@LLVM_VERSION@/lib/cmake/clang usr/lib/cmake/clang-@LLVM_VERSION@
++usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh usr/share/bash-completion/completions/clang-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4c1295bc36d94be6852b045fa5e3891fcecc233c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++# Does not link otherwise
++clang-@LLVM_VERSION@: embedded-library usr/lib/llvm-@LLVM_VERSION@/bin/clang: libjsoncpp
++# expected
++clang-@LLVM_VERSION@: executable-not-elf-or-script usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b19400aff2ca277eae4e5de4595465d272e33448
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++clang/docs/_build/man/clang-@LLVM_VERSION@.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d3a18a58bd7a8fff8db5df77394c8c0aca08638f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++clang/tools/clang-format/clang-format-@LLVM_VERSION@.py usr/share/vim/addons/syntax/
++clang/tools/clang-format/clang-format-diff-@LLVM_VERSION@ /usr/bin/
++usr/bin/clang-format-@LLVM_VERSION@
++usr/bin/git-clang-format-@LLVM_VERSION@
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-format
++usr/lib/llvm-@LLVM_VERSION@/bin/git-clang-format
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format-diff.py usr/share/clang/clang-format-@LLVM_VERSION@/
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format.py usr/share/clang/clang-format-@LLVM_VERSION@/
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format.el usr/share/emacs/site-lisp/clang-format-@LLVM_VERSION@/
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format-sublime.py usr/share/clang/clang-format-@LLVM_VERSION@/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa786799373b6ad0623361f3910d6195acb64ae2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++# I know but well...
++clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-format-diff-@LLVM_VERSION@.1.gz
++clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-format-@LLVM_VERSION@.1.gz
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..db4dd8f729ba8c578db5cb72a3419d0f09cbd98c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++debian/man/clang-format-diff-@LLVM_VERSION@.1
++debian/man/clang-format-@LLVM_VERSION@.1
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ef992c58d9cbc698d061e1d6c6b8a974a80b1686
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-tidy
++usr/lib/llvm-@LLVM_VERSION@/share/clang/run-clang-tidy.py
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-tidy-diff.py
++
++usr/bin/clang-tidy-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ad03ae1d5024f990bb15d1fd123f6b1f27d3a651
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/lib/llvm-@LLVM_VERSION@/share/clang/run-clang-tidy.py usr/bin/run-clang-tidy-@LLVM_VERSION@.py
++usr/lib/llvm-@LLVM_VERSION@/share/clang/run-clang-tidy.py usr/bin/run-clang-tidy-@LLVM_VERSION@
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-tidy-diff.py usr/bin/clang-tidy-diff-@LLVM_VERSION@.py
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c915da6052f6b9e36fd2f9facad5b6824e96c9f0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++# I know but well...
++clang-tidy-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-tidy-@LLVM_VERSION@.1.gz
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fa4a8146f66f8b2c01623f12929d7de78571a22b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/man/clang-tidy-@LLVM_VERSION@.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b15f6577af6cacfc64c5ae38149c97a924de2e1a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,69 @@@
++#!/usr/bin/dh-exec
++
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-check
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-apply-replacements
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-query
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-rename
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-rename.el
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-rename.py
++usr/lib/llvm-@LLVM_VERSION@/bin/scan-view
++usr/lib/llvm-@LLVM_VERSION@/bin/scan-build
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-cl
++usr/lib/llvm-@LLVM_VERSION@/bin/sancov
++usr/lib/llvm-@LLVM_VERSION@/share/scan-view/
++usr/lib/llvm-@LLVM_VERSION@/share/scan-build/
++usr/lib/llvm-@LLVM_VERSION@/share/man/man1/scan-build.1
++usr/lib/llvm-@LLVM_VERSION@/libexec/ccc-analyzer
++usr/lib/llvm-@LLVM_VERSION@/libexec/c++-analyzer
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-offload-bundler
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-reorder-fields
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-change-namespace
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-import-test
++usr/lib/llvm-@LLVM_VERSION@/bin/modularize
++usr/lib/llvm-@LLVM_VERSION@/bin/c-index-test
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-include-fixer
++usr/lib/llvm-@LLVM_VERSION@/bin/find-all-symbols
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-refactor
++usr/lib/llvm-@LLVM_VERSION@/bin/diagtool
++usr/lib/llvm-@LLVM_VERSION@/bin/hmaptool
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-extdef-mapping
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-doc
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-scan-deps
++usr/lib/llvm-@LLVM_VERSION@/bin/pp-trace
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-move
++usr/lib/llvm-@LLVM_VERSION@/bin/clang-offload-wrapper
++
++[!armel !armhf !ppc64el !hurd-any !s390x !powerpc !ppc64 !mipsel !mips64el !sparc64 !riscv64] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize
++
++clang/tools/scan-build-@LLVM_VERSION@      usr/share/clang/
++clang/tools/scan-build-py-@LLVM_VERSION@      usr/share/clang/
++clang/tools/scan-view-@LLVM_VERSION@       usr/share/clang/
++
++usr/lib/llvm-@LLVM_VERSION@/share/clang/run-find-all-symbols.py
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-include-fixer.py
++usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-include-fixer.el
++usr/bin/clang-check-@LLVM_VERSION@
++usr/bin/clang-apply-replacements-@LLVM_VERSION@
++usr/bin/clang-query-@LLVM_VERSION@
++usr/bin/clang-rename-@LLVM_VERSION@
++usr/bin/sancov-@LLVM_VERSION@
++usr/bin/clang-cl-@LLVM_VERSION@
++usr/bin/modularize-@LLVM_VERSION@
++usr/bin/scan-build-@LLVM_VERSION@
++usr/bin/scan-view-@LLVM_VERSION@
++usr/bin/c-index-test-@LLVM_VERSION@
++usr/bin/clang-offload-bundler-@LLVM_VERSION@
++usr/bin/clang-reorder-fields-@LLVM_VERSION@
++usr/bin/find-all-symbols-@LLVM_VERSION@
++usr/bin/clang-include-fixer-@LLVM_VERSION@
++usr/bin/clang-change-namespace-@LLVM_VERSION@
++usr/bin/clang-import-test-@LLVM_VERSION@
++usr/bin/clang-refactor-@LLVM_VERSION@
++usr/bin/diagtool-@LLVM_VERSION@
++usr/bin/hmaptool-@LLVM_VERSION@
++usr/bin/clang-extdef-mapping-@LLVM_VERSION@
++usr/bin/clang-doc-@LLVM_VERSION@
++usr/bin/clang-scan-deps-@LLVM_VERSION@
++usr/bin/clang-move-@LLVM_VERSION@
++usr/bin/pp-trace-@LLVM_VERSION@
++usr/bin/clang-offload-wrapper-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d6a04c711d3da7e8e8c2fe34a30c86b86f7a370a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/share/clang/scan-build-@LLVM_VERSION@/bin/scan-build  usr/bin/scan-build-@LLVM_VERSION@
++usr/share/clang/scan-build-py-@LLVM_VERSION@/bin/scan-build  usr/bin/scan-build-py-@LLVM_VERSION@
++usr/share/clang/scan-view-@LLVM_VERSION@/bin/scan-view    usr/bin/scan-view-@LLVM_VERSION@
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize usr/bin/hwasan_symbolize-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..eb04eb7130ceaaa6930cdf01e617cc36493a5653
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++# I know but well...
++clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-check.1.gz
++clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/scan-view.1.gz
++clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-apply-replacements-@LLVM_VERSION@.1.gz
++clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-check-@LLVM_VERSION@.1.gz
++clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/scan-view-@LLVM_VERSION@.1.gz
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5cb7dbd06ac2537c06d1b58eff990bf1e2b4414f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++clang/tools/scan-build/man/scan-build-@LLVM_VERSION@.1
++debian/man/clang-check-@LLVM_VERSION@.1
++debian/man/clang-rename-@LLVM_VERSION@.1
++debian/man/clang-query-@LLVM_VERSION@.1
++debian/man/clang-apply-replacements-@LLVM_VERSION@.1
++debian/man/sancov-@LLVM_VERSION@.1
++debian/man/scan-view-@LLVM_VERSION@.1
++debian/man/modularize-@LLVM_VERSION@.1
++debian/man/find-all-symbols-@LLVM_VERSION@.1
++debian/man/clang-include-fixer-@LLVM_VERSION@.1
++debian/man/clang-reorder-fields-@LLVM_VERSION@.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..32cec2748b36f194d2b60d5f1e97d18b9dcce8ec
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/clangd
++usr/bin/clangd-@LLVM_VERSION@
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1ac3b604d98405219360663276c0eddd3a7b2251
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/man/clangd-@LLVM_VERSION@.1
diff --cc debian/compat
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ec635144f60048986bc560c5576355344005e6e7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++9
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b6fdc9eecd3e66be4a53e91abdd6d28fdd265205
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,667 @@@
++Source: llvm-toolchain-10
++Section: devel
++Priority: optional
++Rules-Requires-Root: no
++Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
++Uploaders: Sylvestre Ledru <sylvestre@debian.org>, Gianfranco Costamagna <locutusofborg@debian.org>
++Build-Depends: debhelper (>= 9.0), cmake, chrpath, texinfo, sharutils,
++    libffi-dev,
++    lsb-release, patchutils, diffstat, xz-utils, python3-dev,
++    libedit-dev, libncurses5-dev, swig, python3-six, python3-sphinx (>= 1.3.6),
++    binutils-dev,
++    libjsoncpp-dev, pkg-config,
++    lcov, procps, help2man, zlib1g-dev,
++    g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32],
++    libjs-mathjax, python3-recommonmark,
++    doxygen, gfortran,
++    ocaml-nox [amd64 arm64 armhf ppc64el s390x],
++    ocaml-findlib [amd64 arm64 armhf ppc64el s390x],
++    libctypes-ocaml-dev [amd64 arm64 armhf ppc64el s390x],
++    dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el s390x],
++    libpfm4-dev [linux-any], python3-setuptools, libz3-dev
++Build-Conflicts: oprofile, ocaml
++Standards-Version: 4.2.1
++Homepage: https://www.llvm.org/
++Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 10
++Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/10
++
++# ------------- clang -------------
++
++Package: clang-10
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
++ ${dep:devlibs-objc}, libclang-common-10-dev (= ${binary:Version}),
++ libclang1-10 (= ${binary:Version}), libc6-dev, binutils
++Provides: c-compiler, objc-compiler, c++-compiler
++Recommends: llvm-10-dev, python3, libomp-10-dev
++Suggests: clang-10-doc
++Description: C, C++ and Objective-C compiler
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++
++Package: clang-tools-10
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, clang-10 (= ${binary:Version}),
++ python3
++Description: clang-based tools for C/C++ developments
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This package contains some clang-based tools like scan-build, clang-cl, etc.
++
++Package: clang-format-10
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
++ libllvm10 (= ${binary:Version})
++Description: Tool to format C/C++/Obj-C code
++ Clang-format is both a library and a stand-alone tool with the goal of
++ automatically reformatting C++ sources files according to configurable
++ style guides. To do so, clang-format uses Clang's Lexer to transform an
++ input file into a token stream and then changes all the whitespace around
++ those tokens. The goal is for clang-format to both serve both as a user
++ tool (ideally with powerful IDE integrations) and part of other
++ refactoring tools, e.g. to do a reformatting of all the lines changed
++ during a renaming.
++ .
++ This package also provides vim and emacs plugins.
++
++Package: clang-tidy-10
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
++ libllvm10 (= ${binary:Version}), libclang-common-10-dev,
++ clang-tools-10, python3-yaml
++Description: clang-based C++ linter tool
++ Provide an extensible framework for diagnosing and fixing typical programming
++ errors, like style violations, interface misuse, or bugs that can be deduced
++ via static analysis. clang-tidy is modular and provides a convenient interface
++ for writing new checks.
++
++Package: clangd-10
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends},
++ libclang-common-10-dev (= ${binary:Version})
++Description: Language server that provides IDE-like features to editors
++ clangd understands your C++ code and adds smart features to your editor:
++  - code completion
++  - compile errors
++  - go-to-definition
++  - and more.
++ .
++ clangd is a language server that implements the Language Server Protocol;
++ it can work with many editors through a plugin.
++
++Package: clang-10-doc
++Architecture: all
++Section: doc
++Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-mathjax
++Description: C, C++ and Objective-C compiler - Documentation
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This package contains the documentation.
++
++Package: libclang1-10
++Section: libs
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Pre-Depends: ${misc:Pre-Depends}
++Description: C interface to the Clang library
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This package contains the Clang library.
++ .
++ The C Interface to Clang provides a relatively small API that exposes
++ facilities for parsing source code into an abstract syntax tree (AST),
++ loading already-parsed ASTs, traversing the AST, associating physical source
++ locations with elements within the AST, and other facilities that support
++ Clang-based development tools.
++
++Package: libclang-10-dev
++Architecture: any
++Section: libdevel
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
++ ${dep:devlibs-objc}, libclang1-10 (= ${binary:Version}),
++ libclang-common-10-dev (= ${binary:Version})
++Description: Clang library - Development package
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This package contains the Clang headers to develop extensions over
++ libclang1-10.
++
++Package: libclang-common-10-dev
++Architecture: any
++Section: libdevel
++Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version})
++Description: Clang library - Common development package
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This package contains the Clang generic headers and some libraries
++ (profiling, etc).
++
++Package: libclang-cpp10
++Section: libs
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version})
++Pre-Depends: ${misc:Pre-Depends}
++Replaces: libclang-cpp1-10 (<< 1:10~svn370407-1~exp1)
++Breaks: libclang-cpp1-10 (<< 1:10~svn370407-1~exp1)
++Description: C++ interface to the Clang library
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This package contains the Clang C++ library.
++ .
++ The C++ Interface to Clang provides an API that exposes
++ facilities for parsing source code into an abstract syntax tree (AST),
++ loading already-parsed ASTs, traversing the AST, associating physical source
++ locations with elements within the AST, and other facilities that support
++ Clang-based development tools.
++
++Package: libclang-cpp10-dev
++Architecture: any
++Section: libdevel
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
++ libclang-cpp10 (= ${binary:Version})
++# Move of libclang-cpp.so into libclang-cpp10.dev
++Breaks: libclang-10-dev (<< 1:10.0.0~+rc2-3)
++Replaces: libclang-10-dev (<< 1:10.0.0~+rc2-3)
++Description: C++ interface to the Clang library
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This package contains the Clang C++ library.
++ .
++ The C++ Interface to Clang provides an API that exposes
++ facilities for parsing source code into an abstract syntax tree (AST),
++ loading already-parsed ASTs, traversing the AST, associating physical source
++ locations with elements within the AST, and other facilities that support
++ Clang-based development tools.
++ .
++ This package contains the Clang headers to develop extensions over
++ libclang-cpp10.
++
++
++Package: libfuzzer-10-dev
++Architecture: linux-any
++Section: libdevel
++Depends: ${shlibs:Depends}, ${misc:Depends}, clang-10 (= ${binary:Version})
++Description: Library for coverage-guided fuzz testing
++ LibFuzzer is a library for in-process, coverage-guided, evolutionary fuzzing
++ of other libraries.
++ .
++ LibFuzzer is similar in concept to American Fuzzy Lop (AFL), but it performs
++ all of its fuzzing inside a single process. This in-process fuzzing can be
++ more restrictive and fragile, but is potentially much faster as there is no
++ overhead for process start-up.
++ .
++ The fuzzer is linked with the library under test, and feeds fuzzed inputs to
++ the library via a specific fuzzing entrypoint (aka 'target function'); the
++ fuzzer then tracks which areas of the code are reached, and generates mutations
++ on the corpus of input data in order to maximize the code coverage. The code
++ coverage information for libFuzzer is provided by LLVM's SanitizerCoverage
++ instrumentation.
++
++
++Package: python3-clang-10
++Section: python
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-10-dev
++Replaces: python-clang-x.y, python-clang-10 (<< 10~+20191225064807+aff6c9db9a9-1~exp1)
++Conflicts: python-clang-x.y
++Provides: python-clang-x.y
++Breaks: python-clang-10 (<< 10~+20191225064807+aff6c9db9a9-1~exp1)
++Description: Clang Python Bindings
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This binding package provides access to the Clang compiler and libraries.
++
++
++Package: clang-10-examples
++Architecture: any
++Section: doc
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: Clang examples
++ Clang project is a C, C++, Objective C and Objective C++ front-end
++ based on the LLVM compiler. Its goal is to offer a replacement to the
++ GNU Compiler Collection (GCC).
++ .
++ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
++ provides most of the support of C++20.
++ .
++ This package contains the Clang examples.
++
++# ------------- LLVM -------------
++
++Package: libllvm10
++Architecture: any
++Section: libs
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Pre-Depends: ${misc:Pre-Depends}
++Multi-Arch: same
++Description: Modular compiler and toolchain technologies, runtime library
++ LLVM is a collection of libraries and tools that make it easy to build
++ compilers, optimizers, just-in-time code generators, and many other
++ compiler-related programs.
++ .
++ This package contains the LLVM runtime library.
++
++Package: llvm-10
++Architecture: any
++Suggests: llvm-10-doc
++Depends: llvm-10-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
++Recommends: llvm-10-dev
++Description: Modular compiler and toolchain technologies
++ LLVM is a collection of libraries and tools that make it easy to build
++ compilers, optimizers, just-in-time code generators, and many other
++ compiler-related programs.
++ .
++ LLVM uses a single, language-independent virtual instruction set both
++ as an offline code representation (to communicate code between
++ compiler phases and to run-time systems) and as the compiler internal
++ representation (to analyze and transform programs). This persistent
++ code representation allows a common set of sophisticated compiler
++ techniques to be applied at compile-time, link-time, install-time,
++ run-time, or "idle-time" (between program runs).
++ .
++ The strengths of the LLVM infrastructure are its extremely
++ simple design (which makes it easy to understand and use),
++ source-language independence, powerful mid-level optimizer, automated
++ compiler debugging support, extensibility, and its stability and
++ reliability. LLVM is currently being used to host a wide variety of
++ academic research projects and commercial projects. LLVM includes C
++ and C++ front-ends, a front-end for a Forth-like language (Stacker),
++ a young scheme front-end, and Java support is in development. LLVM can
++ generate code for X96, SparcV10, PowerPC or many other architectures.
++
++Package: llvm-10-runtime
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Recommends: binfmt-support
++Description: Modular compiler and toolchain technologies, IR interpreter
++ LLVM is a collection of libraries and tools that make it easy to build
++ compilers, optimizers, just-in-time code generators, and many other
++ compiler-related programs.
++ .
++ LLVM uses a single, language-independent virtual instruction set both
++ as an offline code representation (to communicate code between
++ compiler phases and to run-time systems) and as the compiler internal
++ representation (to analyze and transform programs). This persistent
++ code representation allows a common set of sophisticated compiler
++ techniques to be applied at compile-time, link-time, install-time,
++ run-time, or "idle-time" (between program runs).
++ .
++ This package provides the minimal required to execute programs in LLVM
++ format.
++
++Package: llvm-10-dev
++Architecture: any
++Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends},
++ llvm-10 (= ${binary:Version}), libllvm10 (= ${binary:Version}), libtinfo-dev,
++ llvm-10-tools (= ${binary:Version}), libclang-cpp10 (= ${binary:Version}), libz3-dev
++Description: Modular compiler and toolchain technologies, libraries and headers
++ LLVM is a collection of libraries and tools that make it easy to build
++ compilers, optimizers, just-in-time code generators, and many other
++ compiler-related programs.
++ .
++ LLVM uses a single, language-independent virtual instruction set both
++ as an offline code representation (to communicate code between
++ compiler phases and to run-time systems) and as the compiler internal
++ representation (to analyze and transform programs). This persistent
++ code representation allows a common set of sophisticated compiler
++ techniques to be applied at compile-time, link-time, install-time,
++ run-time, or "idle-time" (between program runs).
++ .
++ This package provides the libraries and headers to develop applications
++ using llvm.
++
++Package: llvm-10-tools
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
++ python3-pygments, python3-yaml,
++# Because of yaml-bench
++Breaks: libclang-common-10-dev (<< 10~+20191225064807+aff6c9db9a9-1~exp1)
++Replaces: libclang-common-10-dev (<< 10~+20191225064807+aff6c9db9a9-1~exp1)
++Description: Modular compiler and toolchain technologies, tools
++ LLVM is a collection of libraries and tools that make it easy to build
++ compilers, optimizers, just-in-time code generators, and many other
++ compiler-related programs.
++ .
++ LLVM uses a single, language-independent virtual instruction set both
++ as an offline code representation (to communicate code between
++ compiler phases and to run-time systems) and as the compiler internal
++ representation (to analyze and transform programs). This persistent
++ code representation allows a common set of sophisticated compiler
++ techniques to be applied at compile-time, link-time, install-time,
++ run-time, or "idle-time" (between program runs).
++ .
++ This package provides tools for testing.
++
++Package: libllvm-10-ocaml-dev
++Section: ocaml
++Architecture: amd64 arm64 armhf ppc64el s390x
++Suggests: llvm-10-doc
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-10-dev (= ${binary:Version})
++Replaces: libllvm-x.y-ocaml-dev
++Conflicts: libllvm-x.y-ocaml-dev
++Provides: ${ocaml:Provides}, libllvm-x.y-ocaml-dev
++Description: Modular compiler and toolchain technologies, OCaml bindings
++ LLVM is a collection of libraries and tools that make it easy to build
++ compilers, optimizers, just-in-time code generators, and many other
++ compiler-related programs.
++ .
++ LLVM uses a single, language-independent virtual instruction set both
++ as an offline code representation (to communicate code between
++ compiler phases and to run-time systems) and as the compiler internal
++ representation (to analyze and transform programs). This persistent
++ code representation allows a common set of sophisticated compiler
++ techniques to be applied at compile-time, link-time, install-time,
++ run-time, or "idle-time" (between program runs).
++ .
++ This package provides the OCaml bindings to develop applications using llvm.
++
++Package: llvm-10-doc
++Section: doc
++Architecture: all
++Depends: ${misc:Depends}, libjs-jquery, libjs-underscore
++Description: Modular compiler and toolchain technologies, documentation
++ LLVM is a collection of libraries and tools that make it easy to build
++ compilers, optimizers, just-in-time code generators, and many other
++ compiler-related programs.
++ .
++ LLVM uses a single, language-independent virtual instruction set both
++ as an offline code representation (to communicate code between
++ compiler phases and to run-time systems) and as the compiler internal
++ representation (to analyze and transform programs). This persistent
++ code representation allows a common set of sophisticated compiler
++ techniques to be applied at compile-time, link-time, install-time,
++ run-time, or "idle-time" (between program runs).
++ .
++ This package contains all documentation (extensive).
++
++Package: llvm-10-examples
++Section: doc
++Architecture: all
++Depends: ${misc:Depends}, llvm-10-dev (>= ${source:Version}), llvm-10-dev (<< ${source:Version}+c~)
++Description: Modular compiler and toolchain technologies, examples
++ LLVM is a collection of libraries and tools that make it easy to build
++ compilers, optimizers, just-in-time code generators, and many other
++ compiler-related programs.
++ .
++ LLVM uses a single, language-independent virtual instruction set both
++ as an offline code representation (to communicate code between
++ compiler phases and to run-time systems) and as the compiler internal
++ representation (to analyze and transform programs). This persistent
++ code representation allows a common set of sophisticated compiler
++ techniques to be applied at compile-time, link-time, install-time,
++ run-time, or "idle-time" (between program runs).
++ .
++ This package contains examples for using LLVM, both in developing
++ extensions to LLVM and in using it to compile code.
++
++
++# ------------- lld -------------
++
++Package: lld-10
++Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
++# ia64 hurd powerpc have been removed
++Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version})
++Pre-Depends: ${misc:Pre-Depends}
++Description: LLVM-based linker
++ LLD is a new, high-performance linker. It is built as a set of reusable
++ components which highly leverage existing libraries in the larger LLVM
++ Project.
++
++Package: liblld-10
++Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
++# ia64 hurd powerpc have been removed
++Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version})
++Pre-Depends: ${misc:Pre-Depends}
++Section: libs
++Description: LLVM-based linker, library
++ LLD is a new, high-performance linker. It is built as a set of reusable
++ components which highly leverage existing libraries in the larger LLVM
++ Project.
++ .
++ This package contains the LLD runtime library.
++
++Package: liblld-10-dev
++Section: libdevel
++Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
++# ia64 hurd powerpc have been removed
++Depends: ${shlibs:Depends}, ${misc:Depends}, lld-10 (= ${binary:Version}),
++ liblld-10 (= ${binary:Version})
++Pre-Depends: ${misc:Pre-Depends}
++Description: LLVM-based linker, header files
++ LLD is a new, high-performance linker. It is built as a set of reusable
++ components which highly leverage existing libraries in the larger LLVM
++ Project.
++ .
++ This package provides the header files to build extension over lld.
++
++
++# ------------- lldb -------------
++
++Package: lldb-10
++Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
++# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
++Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}), llvm-10-dev,
++ python3-lldb-10
++Pre-Depends: ${misc:Pre-Depends}
++Description: Next generation, high-performance debugger
++ LLDB is a next generation, high-performance debugger. It is built as a set of
++ reusable components which highly leverage existing libraries in the larger LLVM
++ Project, such as the Clang expression parser and LLVM disassembler.
++
++Package: liblldb-10
++Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
++# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
++Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version})
++Pre-Depends: ${misc:Pre-Depends}
++Section: libs
++Description: Next generation, high-performance debugger, library
++ LLDB is a next generation, high-performance debugger. It is built as a set of
++ reusable components which highly leverage existing libraries in the larger LLVM
++ Project, such as the Clang expression parser and LLVM disassembler.
++ .
++ This package contains the LLDB runtime library.
++
++Package: python3-lldb-10
++Section: python
++Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
++# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-10 (= ${binary:Version}), python3-six
++Conflicts: python3-lldb-x.y
++Replaces: python3-lldb-x.y
++Provides: python3-lldb-x.y
++Pre-Depends: ${misc:Pre-Depends}
++Description: Next generation, high-performance debugger, python3 lib
++ LLDB is a next generation, high-performance debugger. It is built as a set of
++ reusable components which highly leverage existing libraries in the larger LLVM
++ Project, such as the Clang expression parser and LLVM disassembler.
++ .
++ This binding package provides access to lldb.
++
++Package: liblldb-10-dev
++Section: libdevel
++Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
++# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
++Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-10 (= ${binary:Version})
++Pre-Depends: ${misc:Pre-Depends}
++Description: Next generation, high-performance debugger, header files
++ LLDB is a next generation, high-performance debugger. It is built as a set of
++ reusable components which highly leverage existing libraries in the larger LLVM
++ Project, such as the Clang expression parser and LLVM disassembler.
++ .
++ This package provides the header files to build extension over lldb.
++
++
++# ------------- openmp -------------
++# 44 because it was the first version in which openmp & libc++ have been
++# managed in llvm-defaults
++
++Package: libomp-10-dev
++Section: libdevel
++Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64
++Depends: libomp5-10 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
++Suggests: libomp-10-doc
++Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 44)
++Provides: libomp-x.y-dev
++Conflicts: libomp-x.y-dev
++Replaces: libomp-x.y-dev
++Description: LLVM OpenMP runtime - dev package
++ The runtime is the part of the OpenMP implementation that your code is
++ linked against, and that manages the multiple threads in an OpenMP program
++ while it is executing.
++
++Package: libomp5-10
++Multi-Arch: same
++Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Breaks: libomp5 (<< 44)
++Provides: libomp-x.y
++Conflicts: libomp-x.y
++Replaces: libomp-x.y
++Description: LLVM OpenMP runtime
++ The runtime is the part of the OpenMP implementation that your code is
++ linked against, and that manages the multiple threads in an OpenMP program
++ while it is executing.
++
++Package: libomp-10-doc
++Section: doc
++Architecture: all
++Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-jquery
++Replaces: libiomp-x.y-doc
++Breaks: libiomp-x.y-doc
++Description: LLVM OpenMP runtime - Documentation
++ The runtime is the part of the OpenMP implementation that your code is
++ linked against, and that manages the multiple threads in an OpenMP program
++ while it is executing.
++ .
++ This package contains the documentation of this package.
++
++# ------------- libcxx -------------
++
++Package: libc++1-10
++Section: libs
++Architecture: any
++Multi-Arch: same
++Pre-Depends: ${misc:Pre-Depends}
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Suggests: clang
++Breaks: libc++1 (<< 44)
++Provides: libc++-x.y
++Conflicts: libc++-x.y
++Replaces: libc++-x.y
++Description: LLVM C++ Standard library
++ libc++ is another implementation of the C++ standard library.
++ .
++ Features and Goals
++ .
++   * Correctness as defined by the C++ standards.
++   * Fast execution.
++   * Minimal memory use.
++   * Fast compile times.
++   * ABI compatibility with gcc's libstdc++ for some low-level features such
++     as exception objects, rtti and memory allocation.
++   * Extensive unit tests.
++
++Package: libc++-10-dev
++Section: libdevel
++Architecture: any
++Multi-Arch: same
++Depends: libc++1-10 (= ${binary:Version}), ${misc:Depends}
++Breaks: libc++-dev (<< 44)
++Provides: libc++-x.y-dev
++Conflicts: libc++-x.y-dev
++Replaces: libc++-x.y-dev
++Description: LLVM C++ Standard library (development files)
++ libc++ is another implementation of the C++ standard library
++ .
++ Features and Goals
++ .
++   * Correctness as defined by the C++ standards.
++   * Fast execution.
++   * Minimal memory use.
++   * Fast compile times.
++   * ABI compatibility with gcc's libstdc++ for some low-level features such
++     as exception objects, rtti and memory allocation.
++   * Extensive unit tests.
++
++# ------------- libcxxabi -------------
++
++Package: libc++abi1-10
++Section: libs
++Architecture: any
++Multi-Arch: same
++Pre-Depends: ${misc:Pre-Depends}
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Breaks: libc++abi1 (<< 44)
++Provides: libc++abi-x.y
++Conflicts: libc++abi-x.y
++Replaces: libc++abi-x.y
++Description: LLVM low level support for a standard C++ library
++ libc++abi is another implementation of low level support for a standard C++
++ library.
++ .
++ Features and Goals
++ .
++   * Correctness as defined by the C++ standards.
++   * Provide a portable sublayer to ease the porting of libc++
++
++Package: libc++abi-10-dev
++Section: libdevel
++Architecture: any
++Multi-Arch: same
++Depends: libc++abi1-10 (= ${binary:Version}), ${misc:Depends}
++Breaks: libc++abi-dev (<= 44)
++Provides: libc++abi-x.y-dev
++Conflicts: libc++abi-x.y-dev
++Replaces: libc++abi-x.y-dev
++Description: LLVM low level support for a standard C++ library (development files)
++ libc++abi is another implementation of low level support for a standard C++
++ library.
++ .
++ Features and Goals
++ .
++   * Correctness as defined by the C++ standards.
++   * Provide a portable sublayer to ease the porting of libc++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ad7fdbf9a67d396dbd882fd056b06a7f94cd3a51
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,123 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: LLVM/Clang
++Source: https://llvm.org/releases/download.html
++
++Files: *
++Copyright: 2003-2017 University of Illinois at Urbana-Champaign.
++License: APACHE-2-LLVM-EXCEPTIONS
++ On Debian systems the full text of the Apache Software License 2.0 can be
++ found in the `/usr/share/common-licenses/Apache-2.0' file.
++ .
++ ---- LLVM Exceptions to the Apache 2.0 License ----
++ .
++ As an exception, if, as a result of your compiling your source code, portions
++ of this Software are embedded into an Object form of such source code, you
++ may redistribute such embedded portions in such Object form without complying
++ with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
++ .
++ In addition, if you combine or link compiled forms of this Software with
++ software that is licensed under the GPLv2 ("Combined Software") and if a
++ court of competent jurisdiction determines that the patent provision (Section
++ 3), the indemnity provision (Section 9) or other Section of the License
++ conflicts with the conditions of the GPLv2, you may retroactively and
++ prospectively choose to deem waived or otherwise exclude such Section(s) of
++ the License, but only in their entirety and only with respect to the Combined
++ Software.
++
++Files: compiler-rt/lib/BlocksRuntime/*
++ lldb/tools/debugserver/source/MacOSX/stack_logging.h
++Copyright: 2008-2010 Apple, Inc.
++License: MIT
++
++Files: llvm/lib/Support/reg*
++Copyright: 1992, 1993, 1994 Henry Spencer
++           1992, 1993, 1994 The Regents of the University of California
++License: BSD-3-clause
++
++Files: llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h
++Copyright: 2001 Alexander Peslyak <solar at openwall.com>
++License: solar-public-domain
++ This software was written by Alexander Peslyak in 2001.  No copyright is
++ claimed, and the software is hereby placed in the public domain.
++ In case this attempt to disclaim copyright and place the software in the
++ public domain is deemed null and void, then the software is
++ Copyright (c) 2001 Alexander Peslyak and it is hereby released to the
++ general public under the following terms:
++ .
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted.
++ .
++ * There's ABSOLUTELY NO WARRANTY, express or implied.
++
++Files: lldb/third_party/Python/module/unittest2*
++Copyright: 1999-2003 Steve Purcell
++           2003-2010 Python Software Foundation
++License: Python
++ This module is free software, and you may redistribute it and/or modify
++ it under the same terms as Python itself, so long as this copyright message
++ and disclaimer are retained in their original form.
++ .
++ IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
++ SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
++ THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
++ DAMAGE.
++ .
++ THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
++ AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
++ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
++
++Files: llvm/llvmtest/YAMLParser/*
++Copyright: 2006 Kirill Simonov
++License: MIT
++
++Files: llvm/utils/unittest/googletest/*
++Copyright: 2006-2008, Google Inc.
++License: BSD-3-Clause
++
++Files: llvm/utils/unittest/googlemock/*
++Copyright: 2008, Google Inc.
++License: BSD-3-Clause
++
++Files: clang/lib/Headers/cuda_wrappers/*
++ clang/lib/Headers/avx512vlvp2intersectintrin.h
++ clang/lib/Headers/avx512vp2intersectintrin.h
++Copyright: 2016-2020, Google Inc.
++ Permission is hereby granted, free of charge, to any person obtaining a copy
++ of this software and associated documentation files (the "Software"), to deal
++ in the Software without restriction, including without limitation the rights
++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included in
++ all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++ THE SOFTWARE.
++
++
++License: MIT
++ Permission is hereby granted, free of charge, to any person obtaining a copy
++ of this software and associated documentation files (the "Software"), to deal
++ in the Software without restriction, including without limitation the rights
++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included in
++ all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++ THE SOFTWARE.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..539636f8c13840e7c93d96faae7a30c23cf954b9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++//===----------------------------------------------------------------------===//
++//
++// Debian paths declaration management
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++#ifndef DEBIAN_PATH_H
++#define DEBIAN_PATH_H
++
++// Provides the debian revision
++#define DEB_PATCHSETVERSION  "@DEB_PATCHSETVERSION@"
++
++#endif
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..839b3b369dad38e38fe38d0936c9445eeae91c3b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a
++usr/lib/llvm-@LLVM_VERSION@/include/c++/ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..73efe8f5d565958c34392657fb6822c4c52aeaaf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so /usr/lib/x86_64-linux-gnu/libc++.so
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a /usr/lib/x86_64-linux-gnu/libc++.a
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ea10592400208702c5f7aeaa28db5a3bc01c0c00
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a
++libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..78e2cd3b3959324d395367bd087bb7cf054fb638
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4d1955c57bfa231e34f6c325f9f3cf2038b58bd6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0
++/usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0   /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d8d46f922045f1931ef22148d6b7b541548e08b1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++libc++1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8774c6aef8b54c3d21b6dd14956663040a763151
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi*so
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a
++libcxxabi/include/* usr/lib/llvm-@LLVM_VERSION@/include/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6dd5f55533c088ea807198ce0608d85ae9d90f2f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so  /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e0aa6ed451069811377f46c11fbb2a868474ac42
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++libc++abi-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6e27733dee2937e58d9cf8c965b2cd964b621003
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a57ef0655c828b71b7300d16d6aea7c246c44030
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0  /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0
++/usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0        /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f51d4b1ebaebfd7f056d45768479dc062fc4257d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++libc++abi1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e8653734ac1f32fc7bbfae79e84922fe4b39131d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++usr/lib/llvm-@LLVM_VERSION@/include/clang
++usr/lib/llvm-@LLVM_VERSION@/include/clang-c
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang*a
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@*.so
++usr/lib/llvm-@LLVM_VERSION@/lib/libfindAllSymbols.a
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6f99d5bf2330e6165f8db1417009f132a82ff322
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so
++usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so
++usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..303ed2ca7c03dd04d8e75efd34dbb1f6868e5514
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++#!/usr/bin/dh-exec
++
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include
++
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/*.txt
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt
++
++[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..717c6b2c04dec3abf80e06ca59e55e7dea63d352
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION@/include
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION@/include
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION@/lib
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION_FULL@/include
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION_FULL@/include
++usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION_FULL@/lib
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5d2609ece75f18c8a0a2d74b88a3df20d4784606
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6a96217b45eabb26392d7519d4a7943e00e44379
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp@LLVM_VERSION@.so
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so /usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp@LLVM_VERSION@.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b0d88e0e5968b810311fbb112129690b2575d879
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ee382f6d534d7c919e4b099f8a4515049537c23a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@ /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d44e84f69775609baf95ced5a6e6dab8633ef731
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3ea44c8d79550ef10e3ef3744972f5ce6978c24e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++# as upstream
++usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1
++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8603845582c38f3bbe7e8af8283332fd79105aed
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++# I know and I am not planning to change that yet.
++libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang-@LLVM_VERSION@-1
++# Provided as transition
++libclang1-@LLVM_VERSION@: dev-pkg-without-shlib-symlink usr/lib/*/libclang-@LLVM_VERSION@.so.1 usr/lib/*/libclang.so
++libclang1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libclang-LLVM_VERSION@.so usr/lib/*/libclang-LLVM_VERSION@.so.1 libclang-LLVM_VERSION@.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a51eed232331542c40753881aadea0756f773daf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,385 @@@
++libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER#
++ (optional)LLVM_@LLVM_VERSION@@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_BlockCommandComment_getArgText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_BlockCommandComment_getCommandName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_BlockCommandComment_getNumArgs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_BlockCommandComment_getParagraph@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXCursorSet_contains@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXCursorSet_insert@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXIndex_getGlobalOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXIndex_setGlobalOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXIndex_setInvocationEmissionPathOption@LLVM_@LLVM_VERSION@ 1:6.0~svn320926-1~
++ clang_CXXConstructor_isConvertingConstructor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXConstructor_isCopyConstructor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXConstructor_isDefaultConstructor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXConstructor_isMoveConstructor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXField_isMutable@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXMethod_isConst@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXMethod_isDefaulted@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXMethod_isPureVirtual@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXMethod_isStatic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXMethod_isVirtual@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CXXRecord_isAbstract@LLVM_@LLVM_VERSION@ 1:6.0~svn320926-1~
++ clang_Comment_getChild@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Comment_getKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Comment_getNumChildren@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Comment_isWhitespace@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompilationDatabase_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompilationDatabase_fromDirectory@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompilationDatabase_getAllCompileCommands@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompilationDatabase_getCompileCommands@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommand_getArg@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommand_getDirectory@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommand_getFilename@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommand_getMappedSourceContent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommand_getMappedSourcePath@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommand_getNumArgs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommands_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommands_getCommand@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_CompileCommands_getSize@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_Evaluate@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getArgument@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getBriefCommentText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getCXXManglings@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getCommentRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getMangling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getModule@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getNumArguments@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getNumTemplateArguments@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getObjCDeclQualifiers@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getObjCManglings@LLVM_@LLVM_VERSION@ 1:6.0~svn320926-1~
++ clang_Cursor_getObjCPropertyAttributes@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getObjCPropertyGetterName@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Cursor_getObjCPropertySetterName@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Cursor_getObjCSelectorIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getOffsetOfField@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getParsedComment@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getRawCommentText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getReceiverType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getSpellingNameRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getStorageClass@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getTemplateArgumentKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getTemplateArgumentType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getTemplateArgumentUnsignedValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getTemplateArgumentValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_getTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_hasAttrs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isAnonymous@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isAnonymousRecordDecl@LLVM_@LLVM_VERSION@ 1:9~svn359771-1~
++ clang_Cursor_isBitField@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isDynamicCall@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isExternalSymbol@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~
++ clang_Cursor_isFunctionInlined@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isInlineNamespace@LLVM_@LLVM_VERSION@ 1:9~svn360566-1~
++ clang_Cursor_isMacroBuiltin@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isMacroFunctionLike@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isNull@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isObjCOptional@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Cursor_isVariadic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_EnumDecl_isScoped@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~
++ clang_EvalResult_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_EvalResult_getAsDouble@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_EvalResult_getAsInt@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_EvalResult_getAsLongLong@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_EvalResult_getAsStr@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_EvalResult_getAsUnsigned@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_EvalResult_getKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_EvalResult_isUnsignedInt@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_File_isEqual@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_File_tryGetRealPathName@LLVM_@LLVM_VERSION@ 1:7~svn329516-1~
++ clang_FullComment_getAsHTML@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_FullComment_getAsXML@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_HTMLStartTagComment_isSelfClosing@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_HTMLStartTag_getAttrName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_HTMLStartTag_getAttrValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_HTMLStartTag_getNumAttrs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_HTMLTagComment_getAsString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_HTMLTagComment_getTagName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_IndexAction_create@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_IndexAction_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_InlineCommandComment_getArgText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_InlineCommandComment_getCommandName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_InlineCommandComment_getNumArgs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_InlineCommandComment_getRenderKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_InlineContentComment_hasTrailingNewline@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Location_isFromMainFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Location_isInSystemHeader@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ModuleMapDescriptor_create@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ModuleMapDescriptor_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ModuleMapDescriptor_setFrameworkModuleName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ModuleMapDescriptor_setUmbrellaHeader@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ModuleMapDescriptor_writeToBuffer@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Module_getASTFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Module_getFullName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Module_getName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Module_getNumTopLevelHeaders@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Module_getParent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Module_getTopLevelHeader@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Module_isSystem@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ParamCommandComment_getDirection@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ParamCommandComment_getParamIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ParamCommandComment_getParamName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ParamCommandComment_isDirectionExplicit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_ParamCommandComment_isParamIndexValid@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_PrintingPolicy_dispose@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~
++ clang_PrintingPolicy_getProperty@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~
++ clang_PrintingPolicy_setProperty@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~
++ clang_Range_isNull@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_TParamCommandComment_getDepth@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_TParamCommandComment_getIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_TParamCommandComment_getParamName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_TParamCommandComment_isParamPositionValid@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_TargetInfo_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_TargetInfo_getPointerWidth@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_TargetInfo_getTriple@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_TextComment_getText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getAlignOf@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getCXXRefQualifier@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getClassType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getModifiedType@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Type_getNamedType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getNullability@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Type_getNumObjCProtocolRefs@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Type_getNumObjCTypeArgs@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Type_getNumTemplateArguments@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getObjCEncoding@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getObjCObjectBaseType@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Type_getObjCProtocolDecl@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Type_getObjCTypeArg@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~
++ clang_Type_getOffsetOf@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getSizeOf@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_getTemplateArgumentAsType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_Type_isTransparentTagTypedef@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_Type_visitFields@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_VerbatimBlockLineComment_getText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_VerbatimLineComment_getText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_VirtualFileOverlay_addFileMapping@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_VirtualFileOverlay_create@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_VirtualFileOverlay_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_VirtualFileOverlay_setCaseSensitivity@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_VirtualFileOverlay_writeToBuffer@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_annotateTokens@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_codeCompleteAt@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_codeCompleteGetContainerKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_codeCompleteGetContainerUSR@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_codeCompleteGetContexts@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_codeCompleteGetDiagnostic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_codeCompleteGetNumDiagnostics@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_codeCompleteGetObjCSelector@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_constructUSR_ObjCCategory@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_constructUSR_ObjCClass@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_constructUSR_ObjCIvar@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_constructUSR_ObjCMethod@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_constructUSR_ObjCProperty@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_constructUSR_ObjCProtocol@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_createCXCursorSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_createIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_createTranslationUnit2@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_createTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_createTranslationUnitFromSourceFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_defaultCodeCompleteOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_defaultDiagnosticDisplayOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_defaultEditingTranslationUnitOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_defaultReparseOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_defaultSaveOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeCXCursorSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeCXPlatformAvailability@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeCXTUResourceUsage@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeCodeCompleteResults@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeDiagnostic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeDiagnosticSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeOverriddenCursors@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeSourceRangeList@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeStringSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeTokens@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_disposeTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_enableStackTraces@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_equalCursors@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_equalLocations@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_equalRanges@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_equalTypes@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_executeOnThread@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_findIncludesInFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_findIncludesInFileWithBlock@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_findReferencesInFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_findReferencesInFileWithBlock@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_formatDiagnostic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_free@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getAddressSpace@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~
++ clang_getAllSkippedRanges@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_getArgType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getArrayElementType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getArraySize@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getBuildSessionTimestamp@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCXTUResourceUsage@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCXXAccessSpecifier@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCanonicalCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCanonicalType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getChildDiagnostics@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getClangVersion@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionAnnotation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionAvailability@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionBriefComment@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionChunkCompletionString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionChunkKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionChunkText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionFixIt@LLVM_@LLVM_VERSION@ 1:7~svn334604-1~
++ clang_getCompletionNumAnnotations@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionNumFixIts@LLVM_@LLVM_VERSION@ 1:7~svn334604-1~+0~
++ clang_getCompletionParent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCompletionPriority@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorAvailability@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorCompletionString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorDefinition@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorDisplayName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorExceptionSpecificationType@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~
++ clang_getCursorExtent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorKindSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorLanguage@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorLexicalParent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorLinkage@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorPlatformAvailability@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorPrettyPrinted@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~
++ clang_getCursorPrintingPolicy@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~
++ clang_getCursorReferenceNameRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorReferenced@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorResultType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorSemanticParent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorTLSKind@LLVM_@LLVM_VERSION@ 1:6.0~svn320926-1~
++ clang_getCursorType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorUSR@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getCursorVisibility@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDeclObjCTypeEncoding@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDefinitionSpellingAndExtent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnostic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticCategory@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticCategoryName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticCategoryText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticFixIt@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticInSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticNumFixIts@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticNumRanges@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticOption@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticSetFromTU@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticSeverity@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getDiagnosticSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getElementType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getEnumConstantDeclUnsignedValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getEnumConstantDeclValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getEnumDeclIntegerType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getExceptionSpecificationType@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~
++ clang_getExpansionLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getFieldDeclBitWidth@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getFileContents@LLVM_@LLVM_VERSION@ 1:6.0~svn321745-1~
++ clang_getFileLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getFileName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getFileTime@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getFileUniqueID@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getFunctionTypeCallingConv@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getIBOutletCollectionType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getIncludedFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getInclusions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getInstantiationLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getLocationForOffset@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getModuleForFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNullCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNullLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNullRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNumArgTypes@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNumCompletionChunks@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNumDiagnostics@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNumDiagnosticsInSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNumElements@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getNumOverloadedDecls@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getOverloadedDecl@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getOverriddenCursors@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getPointeeType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getPresumedLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getRangeEnd@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getRangeStart@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getRemappings@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getRemappingsFromFileList@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getResultType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getSkippedRanges@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getSpecializedCursorTemplate@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getSpellingLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTUResourceUsageName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTemplateCursorKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getToken@LLVM_@LLVM_VERSION@ 1:7~svn334604-1~
++ clang_getTokenExtent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTokenKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTokenLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTokenSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTranslationUnitCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTranslationUnitSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTranslationUnitTargetInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~
++ clang_getTypeDeclaration@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTypeKindSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTypeSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTypedefDeclUnderlyingType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_getTypedefName@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~
++ clang_hashCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_indexLoc_getCXSourceLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_indexLoc_getFileLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_indexSourceFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_indexSourceFileFullArgv@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_indexTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getCXXClassDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getClientContainer@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getClientEntity@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getIBOutletCollectionAttrInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getObjCCategoryDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getObjCContainerDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getObjCInterfaceDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getObjCPropertyDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_getObjCProtocolRefListInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_isEntityObjCContainerKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_setClientContainer@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_index_setClientEntity@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_install_aborting_llvm_fatal_error_handler@LLVM_@LLVM_VERSION@ 1:10~svn371796-1~
++ clang_isAttribute@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isConstQualifiedType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isCursorDefinition@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isDeclaration@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isExpression@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isFileMultipleIncludeGuarded@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isFunctionTypeVariadic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isInvalid@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isInvalidDeclaration@LLVM_@LLVM_VERSION@ 1:7~svn321385-1~
++ clang_isPODType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isPreprocessing@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isReference@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isRestrictQualifiedType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isStatement@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isUnexposed@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isVirtualBase@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_isVolatileQualifiedType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_loadDiagnostics@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_parseTranslationUnit2@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_parseTranslationUnit2FullArgv@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_parseTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_remap_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_remap_getFilenames@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_remap_getNumFiles@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_reparseTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_saveTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_sortCodeCompletionResults@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_suspendTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~
++ clang_toggleCrashRecovery@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_tokenize@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_uninstall_llvm_fatal_error_handler@LLVM_@LLVM_VERSION@ 1:10~svn371796-1~
++ clang_visitChildren@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
++ clang_visitChildrenWithBlock@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b1446f0675191ae6f5b552aac39aec57a2aee65f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++/usr/lib/llvm-@LLVM_VERSION@/include/lld
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3d86306c77453e928b3a5afac2afb0da685fd364
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++#usr/lib/llvm-@LLVM_VERSION@/lib/liblld-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldReaderWriter.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldDriver.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldYAML.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldELF.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldCore.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldMachO.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldCOFF.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldMinGW.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldCommon.a
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldWasm.a
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0aa818065427714d97172b77082cd5078ab05869
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1       usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so
++#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so         usr/lib/python3/dist-packages/lld-@LLVM_VERSION@/_lld.so
++#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblld.so.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..72f48e7b5d3f0cc8cf6d42e178410abe5788434c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++/usr/lib/llvm-@LLVM_VERSION@/include/lldb
++#/usr/lib/llvm-@LLVM_VERSION@/lib/liblldb*a
++/usr/lib/llvm-@LLVM_VERSION@/lib/liblldb*so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3c6aef902f0791ff527237bf670487d3635167ae
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so
++usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so
++usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..24fa4446ce9012618097758edb9b748682f66735
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
++
++usr/lib/llvm-@LLVM_VERSION@/lib/liblldbIntelFeatures.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ae73a19939d302cba2d55407570a83e54e7e07f2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so
++usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..180aec35df3f723f360f81894b4ec0c8fdd7a473
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++# That is normal. The lib is not (yet?) shipped as a new package
++liblldb-@LLVM_VERSION@: package-name-doesnt-match-sonames liblldb-@LLVM_VERSION@-1
++# For now, override this warning. We might create a -dev at some point
++liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so
++liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb-@LLVM_VERSION@.so.1 usr/lib/*/liblldb-@LLVM_VERSION@.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..366820d9ce5ee54ac616b0f516c137a6c759c333
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,63 @@@
++description = "Low Level Virtual Machine bindings"
++version = "@LLVM_VERSION@"
++
++directory = "+llvm-@LLVM_VERSION@"
++
++archive(byte)   = "llvm.cma"
++archive(native) = "llvm.cmxa"
++linkopts = "-cclib -lstdc++ -cclib -lllvm"
++
++package "executionengine"
++(
++  requires = "llvm-@LLVM_VERSION@"
++  version = "@LLVM_VERSION@"
++  archive(native) = "llvm_executionengine.cmxa"
++  archive(byte)   = "llvm_executionengine.cma"
++  linkopts = "-cclib -lllvm_executionengine"
++)
++
++package "target"
++(
++  requires = "llvm-@LLVM_VERSION@"
++  version = "@LLVM_VERSION@"
++  archive(native) = "llvm_target.cmxa"
++  archive(byte)   = "llvm_target.cma"
++  linkopts = "-cclib -lllvm_target"
++)
++
++package "scalar_opts"
++(
++  requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.target"
++  version = "@LLVM_VERSION@"
++  archive(native) = "llvm_scalar_opts.cmxa"
++  archive(byte)   = "llvm_scalar_opts.cma"
++  linkopts = "-cclib -lllvm_scalar_opts"
++)
++
++package "analysis"
++(
++  requires = "llvm-@LLVM_VERSION@"
++  version = "@LLVM_VERSION@"
++  archive(native) = "llvm_analysis.cmxa"
++  archive(byte)   = "llvm_analysis.cma"
++  linkopts = "-cclib -lllvm_analysis"
++)
++
++package "bitwriter"
++(
++  requires = "llvm-@LLVM_VERSION@"
++  version = "@LLVM_VERSION@"
++  archive(native) = "llvm_bitwriter.cmxa"
++  archive(byte)   = "llvm_bitwriter.cma"
++  linkopts = "-cclib -lllvm_bitwriter"
++)
++
++package "bitreader"
++(
++  requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.bitwriter"
++  version = "@LLVM_VERSION@"
++  archive(native) = "llvm_bitreader.cmxa"
++  archive(byte)   = "llvm_bitreader.cma"
++  linkopts = "-cclib -lllvm_bitreader"
++)
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6c9c7364a6abb1fb9f11e477748680c12a17b13e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++@OCAML_STDLIB_DIR@/META/
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4c68fb7b174a1abd987433108cad327e20a8b43e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++@OCAML_STDLIB_DIR@
++usr/lib/llvm-@LLVM_VERSION@/share/doc/llvm/ocaml-html/ usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5d25d44252dbfcd7f7bc2586f673fb6e5fcbcdee
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# It is in the section ocaml which is fine.
++libllvm-@LLVM_VERSION@-ocaml-dev: wrong-section-according-to-package-name libllvm-@LLVM_VERSION@-ocaml-dev => libdevel
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f8d968f8f1595c4e8ff7f0e8bbc936d598205b1e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..067b0884229a6b3b571be4e1bbc34b75be94021d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++# Should be uncommented for @LLVM_VERSION@.1 and other
++# usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1
++usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1    /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..49f7ef24e6a3992ac75aff9e9ed416cd74ecf5c7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# That is normal. Upstream does not match the debian convention
++libllvm@LLVM_VERSION@: package-name-doesnt-match-sonames libLLVM-@LLVM_VERSION@-1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9255b8281e1248b5778d72df8b72a952d5a0f603
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++#!/usr/bin/dh-exec
++
++/usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp*.h
++/usr/lib/llvm-@LLVM_VERSION@/lib/libgomp.so
++/usr/lib/llvm-@LLVM_VERSION@/lib/libiomp5.so
++/usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so
++[!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a
++[!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8b01da8df66ab9b00b2ad9137687523b850e62b9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/libomp5.so
++/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/libiomp5.so
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fbb48ae030b2417eccce94ea4684d840c080da9a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++openmp/runtime/doc/doxygen/generated/html/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6bc3d4ce1331e99bbbd7c15de3925173528d4ea3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..858fb3e14d9646dcaa296f3feea4f25feea5def7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so.5
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cd9227f090f91f24f0e8043234e82f69b354e149
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5  /usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..201d42dc5f21ca4dbcd2092efc5c0336a3ac901d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++libomp5-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..87a059a51a3eec273d29de7c09d08395c396edf7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1222 @@@
++libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
++ GOMP_1.0@GOMP_1.0 0.20131209
++ GOMP_2.0@GOMP_2.0 0.20131209
++ GOMP_3.0@GOMP_3.0 0.20131209
++ GOMP_4.0@GOMP_4.0 0.20131209
++ GOMP_4.5@GOMP_4.5 7
++ GOMP_atomic_end@GOMP_1.0 0.20131209
++ GOMP_atomic_end@VERSION 0.20130412
++ GOMP_atomic_start@GOMP_1.0 0.20131209
++ GOMP_atomic_start@VERSION 0.20130412
++ GOMP_barrier@GOMP_1.0 0.20131209
++ GOMP_barrier@VERSION 0.20130412
++ GOMP_barrier_cancel@GOMP_4.0 0.20140926
++ GOMP_barrier_cancel@VERSION 0.20140926
++ GOMP_cancel@GOMP_4.0 0.20140926
++ GOMP_cancel@VERSION 0.20140926
++ GOMP_cancellation_point@GOMP_4.0 0.20140926
++ GOMP_cancellation_point@VERSION 0.20140926
++ GOMP_critical_end@GOMP_1.0 0.20131209
++ GOMP_critical_end@VERSION 0.20130412
++ GOMP_critical_name_end@GOMP_1.0 0.20131209
++ GOMP_critical_name_end@VERSION 0.20130412
++ GOMP_critical_name_start@GOMP_1.0 0.20131209
++ GOMP_critical_name_start@VERSION 0.20130412
++ GOMP_critical_start@GOMP_1.0 0.20131209
++ GOMP_critical_start@VERSION 0.20130412
++ GOMP_doacross_post@GOMP_4.5 7
++ GOMP_doacross_post@VERSION 7
++ GOMP_doacross_ull_post@GOMP_4.5 7
++ GOMP_doacross_ull_post@VERSION 7
++ GOMP_doacross_ull_wait@GOMP_4.5 7
++ GOMP_doacross_ull_wait@VERSION 7
++ GOMP_doacross_wait@GOMP_4.5 7
++ GOMP_doacross_wait@VERSION 7
++ GOMP_loop_doacross_dynamic_start@GOMP_4.5 7
++ GOMP_loop_doacross_dynamic_start@VERSION 7
++ GOMP_loop_doacross_guided_start@GOMP_4.5 7
++ GOMP_loop_doacross_guided_start@VERSION 7
++ GOMP_loop_doacross_runtime_start@GOMP_4.5 7
++ GOMP_loop_doacross_runtime_start@VERSION 7
++ GOMP_loop_doacross_static_start@GOMP_4.5 7
++ GOMP_loop_doacross_static_start@VERSION 7
++ GOMP_loop_dynamic_next@GOMP_1.0 0.20131209
++ GOMP_loop_dynamic_next@VERSION 0.20130412
++ GOMP_loop_dynamic_start@GOMP_1.0 0.20131209
++ GOMP_loop_dynamic_start@VERSION 0.20130412
++ GOMP_loop_end@GOMP_1.0 0.20131209
++ GOMP_loop_end@VERSION 0.20130412
++ GOMP_loop_end_cancel@GOMP_4.0 0.20140926
++ GOMP_loop_end_cancel@VERSION 0.20140926
++ GOMP_loop_end_nowait@GOMP_1.0 0.20131209
++ GOMP_loop_end_nowait@VERSION 0.20130412
++ GOMP_loop_guided_next@GOMP_1.0 0.20131209
++ GOMP_loop_guided_next@VERSION 0.20130412
++ GOMP_loop_guided_start@GOMP_1.0 0.20131209
++ GOMP_loop_guided_start@VERSION 0.20130412
++ GOMP_loop_nonmonotonic_dynamic_next@GOMP_4.5 10
++ GOMP_loop_nonmonotonic_dynamic_next@VERSION 10
++ GOMP_loop_nonmonotonic_dynamic_start@GOMP_4.5 10
++ GOMP_loop_nonmonotonic_dynamic_start@VERSION 10
++ GOMP_loop_nonmonotonic_guided_next@GOMP_4.5 10
++ GOMP_loop_nonmonotonic_guided_next@VERSION 10
++ GOMP_loop_nonmonotonic_guided_start@GOMP_4.5 10
++ GOMP_loop_nonmonotonic_guided_start@VERSION 10
++ GOMP_loop_ordered_dynamic_next@GOMP_1.0 0.20131209
++ GOMP_loop_ordered_dynamic_next@VERSION 0.20130412
++ GOMP_loop_ordered_dynamic_start@GOMP_1.0 0.20131209
++ GOMP_loop_ordered_dynamic_start@VERSION 0.20130412
++ GOMP_loop_ordered_guided_next@GOMP_1.0 0.20131209
++ GOMP_loop_ordered_guided_next@VERSION 0.20130412
++ GOMP_loop_ordered_guided_start@GOMP_1.0 0.20131209
++ GOMP_loop_ordered_guided_start@VERSION 0.20130412
++ GOMP_loop_ordered_runtime_next@GOMP_1.0 0.20131209
++ GOMP_loop_ordered_runtime_next@VERSION 0.20130412
++ GOMP_loop_ordered_runtime_start@GOMP_1.0 0.20131209
++ GOMP_loop_ordered_runtime_start@VERSION 0.20130412
++ GOMP_loop_ordered_static_next@GOMP_1.0 0.20131209
++ GOMP_loop_ordered_static_next@VERSION 0.20130412
++ GOMP_loop_ordered_static_start@GOMP_1.0 0.20131209
++ GOMP_loop_ordered_static_start@VERSION 0.20130412
++ GOMP_loop_runtime_next@GOMP_1.0 0.20131209
++ GOMP_loop_runtime_next@VERSION 0.20130412
++ GOMP_loop_runtime_start@GOMP_1.0 0.20131209
++ GOMP_loop_runtime_start@VERSION 0.20130412
++ GOMP_loop_static_next@GOMP_1.0 0.20131209
++ GOMP_loop_static_next@VERSION 0.20130412
++ GOMP_loop_static_start@GOMP_1.0 0.20131209
++ GOMP_loop_static_start@VERSION 0.20130412
++ GOMP_loop_ull_doacross_dynamic_start@GOMP_4.5 7
++ GOMP_loop_ull_doacross_dynamic_start@VERSION 7
++ GOMP_loop_ull_doacross_guided_start@GOMP_4.5 7
++ GOMP_loop_ull_doacross_guided_start@VERSION 7
++ GOMP_loop_ull_doacross_runtime_start@GOMP_4.5 7
++ GOMP_loop_ull_doacross_runtime_start@VERSION 7
++ GOMP_loop_ull_doacross_static_start@GOMP_4.5 7
++ GOMP_loop_ull_doacross_static_start@VERSION 7
++ GOMP_loop_ull_dynamic_next@GOMP_2.0 0.20131209
++ GOMP_loop_ull_dynamic_next@VERSION 0.20130412
++ GOMP_loop_ull_dynamic_start@GOMP_2.0 0.20131209
++ GOMP_loop_ull_dynamic_start@VERSION 0.20130412
++ GOMP_loop_ull_guided_next@GOMP_2.0 0.20131209
++ GOMP_loop_ull_guided_next@VERSION 0.20130412
++ GOMP_loop_ull_guided_start@GOMP_2.0 0.20131209
++ GOMP_loop_ull_guided_start@VERSION 0.20130412
++ GOMP_loop_ull_nonmonotonic_dynamic_next@GOMP_4.5 10
++ GOMP_loop_ull_nonmonotonic_dynamic_next@VERSION 10
++ GOMP_loop_ull_nonmonotonic_dynamic_start@GOMP_4.5 10
++ GOMP_loop_ull_nonmonotonic_dynamic_start@VERSION 10
++ GOMP_loop_ull_nonmonotonic_guided_next@GOMP_4.5 10
++ GOMP_loop_ull_nonmonotonic_guided_next@VERSION 10
++ GOMP_loop_ull_nonmonotonic_guided_start@GOMP_4.5 10
++ GOMP_loop_ull_nonmonotonic_guided_start@VERSION 10
++ GOMP_loop_ull_ordered_dynamic_next@GOMP_2.0 0.20131209
++ GOMP_loop_ull_ordered_dynamic_next@VERSION 0.20130412
++ GOMP_loop_ull_ordered_dynamic_start@GOMP_2.0 0.20131209
++ GOMP_loop_ull_ordered_dynamic_start@VERSION 0.20130412
++ GOMP_loop_ull_ordered_guided_next@GOMP_2.0 0.20131209
++ GOMP_loop_ull_ordered_guided_next@VERSION 0.20130412
++ GOMP_loop_ull_ordered_guided_start@GOMP_2.0 0.20131209
++ GOMP_loop_ull_ordered_guided_start@VERSION 0.20130412
++ GOMP_loop_ull_ordered_runtime_next@GOMP_2.0 0.20131209
++ GOMP_loop_ull_ordered_runtime_next@VERSION 0.20130412
++ GOMP_loop_ull_ordered_runtime_start@GOMP_2.0 0.20131209
++ GOMP_loop_ull_ordered_runtime_start@VERSION 0.20130412
++ GOMP_loop_ull_ordered_static_next@GOMP_2.0 0.20131209
++ GOMP_loop_ull_ordered_static_next@VERSION 0.20130412
++ GOMP_loop_ull_ordered_static_start@GOMP_2.0 0.20131209
++ GOMP_loop_ull_ordered_static_start@VERSION 0.20130412
++ GOMP_loop_ull_runtime_next@GOMP_2.0 0.20131209
++ GOMP_loop_ull_runtime_next@VERSION 0.20130412
++ GOMP_loop_ull_runtime_start@GOMP_2.0 0.20131209
++ GOMP_loop_ull_runtime_start@VERSION 0.20130412
++ GOMP_loop_ull_static_next@GOMP_2.0 0.20131209
++ GOMP_loop_ull_static_next@VERSION 0.20130412
++ GOMP_loop_ull_static_start@GOMP_2.0 0.20131209
++ GOMP_loop_ull_static_start@VERSION 0.20130412
++ GOMP_ordered_end@GOMP_1.0 0.20131209
++ GOMP_ordered_end@VERSION 0.20130412
++ GOMP_ordered_start@GOMP_1.0 0.20131209
++ GOMP_ordered_start@VERSION 0.20130412
++ GOMP_parallel@GOMP_4.0 0.20140926
++ GOMP_parallel@VERSION 0.20140926
++ GOMP_parallel_end@GOMP_1.0 0.20131209
++ GOMP_parallel_end@VERSION 0.20130412
++ GOMP_parallel_loop_dynamic@GOMP_4.0 0.20140926
++ GOMP_parallel_loop_dynamic@VERSION 0.20140926
++ GOMP_parallel_loop_dynamic_start@GOMP_1.0 0.20131209
++ GOMP_parallel_loop_dynamic_start@VERSION 0.20130412
++ GOMP_parallel_loop_guided@GOMP_4.0 0.20140926
++ GOMP_parallel_loop_guided@VERSION 0.20140926
++ GOMP_parallel_loop_guided_start@GOMP_1.0 0.20131209
++ GOMP_parallel_loop_guided_start@VERSION 0.20130412
++ GOMP_parallel_loop_nonmonotonic_dynamic@GOMP_4.5 10
++ GOMP_parallel_loop_nonmonotonic_dynamic@VERSION 10
++ GOMP_parallel_loop_nonmonotonic_guided@GOMP_4.5 10
++ GOMP_parallel_loop_nonmonotonic_guided@VERSION 10
++ GOMP_parallel_loop_runtime@GOMP_4.0 0.20140926
++ GOMP_parallel_loop_runtime@VERSION 0.20140926
++ GOMP_parallel_loop_runtime_start@GOMP_1.0 0.20131209
++ GOMP_parallel_loop_runtime_start@VERSION 0.20130412
++ GOMP_parallel_loop_static@GOMP_4.0 0.20140926
++ GOMP_parallel_loop_static@VERSION 0.20140926
++ GOMP_parallel_loop_static_start@GOMP_1.0 0.20131209
++ GOMP_parallel_loop_static_start@VERSION 0.20130412
++ GOMP_parallel_sections@GOMP_4.0 0.20140926
++ GOMP_parallel_sections@VERSION 0.20140926
++ GOMP_parallel_sections_start@GOMP_1.0 0.20131209
++ GOMP_parallel_sections_start@VERSION 0.20130412
++ GOMP_parallel_start@GOMP_1.0 0.20131209
++ GOMP_parallel_start@VERSION 0.20130412
++ GOMP_sections_end@GOMP_1.0 0.20131209
++ GOMP_sections_end@VERSION 0.20130412
++ GOMP_sections_end_cancel@GOMP_4.0 0.20140926
++ GOMP_sections_end_cancel@VERSION 0.20140926
++ GOMP_sections_end_nowait@GOMP_1.0 0.20131209
++ GOMP_sections_end_nowait@VERSION 0.20130412
++ GOMP_sections_next@GOMP_1.0 0.20131209
++ GOMP_sections_next@VERSION 0.20130412
++ GOMP_sections_start@GOMP_1.0 0.20131209
++ GOMP_sections_start@VERSION 0.20130412
++ GOMP_single_copy_end@GOMP_1.0 0.20131209
++ GOMP_single_copy_end@VERSION 0.20130412
++ GOMP_single_copy_start@GOMP_1.0 0.20131209
++ GOMP_single_copy_start@VERSION 0.20130412
++ GOMP_single_start@GOMP_1.0 0.20131209
++ GOMP_single_start@VERSION 0.20130412
++ GOMP_target@GOMP_4.0 0.20140926
++ GOMP_target@VERSION 0.20140926
++ GOMP_target_data@GOMP_4.0 0.20140926
++ GOMP_target_data@VERSION 0.20140926
++ GOMP_target_end_data@GOMP_4.0 0.20140926
++ GOMP_target_end_data@VERSION 0.20140926
++ GOMP_target_update@GOMP_4.0 0.20140926
++ GOMP_target_update@VERSION 0.20140926
++ GOMP_task@GOMP_2.0 0.20131209
++ GOMP_task@VERSION 0.20130412
++ GOMP_taskgroup_end@GOMP_4.0 0.20140926
++ GOMP_taskgroup_end@VERSION 0.20140926
++ GOMP_taskgroup_start@GOMP_4.0 0.20140926
++ GOMP_taskgroup_start@VERSION 0.20140926
++ GOMP_taskloop@GOMP_4.5 7
++ GOMP_taskloop@VERSION 7
++ GOMP_taskloop_ull@GOMP_4.5 7
++ GOMP_taskloop_ull@VERSION 7
++ GOMP_taskwait@GOMP_2.0 0.20131209
++ GOMP_taskwait@VERSION 0.20130412
++ GOMP_taskyield@GOMP_3.0 0.20131209
++ GOMP_taskyield@VERSION 0.20131209
++ GOMP_teams@GOMP_4.0 0.20140926
++ GOMP_teams@VERSION 0.20140926
++ OMP_1.0@OMP_1.0 0.20131209
++ OMP_2.0@OMP_2.0 0.20131209
++ OMP_3.0@OMP_3.0 0.20131209
++ OMP_3.1@OMP_3.1 0.20131209
++ OMP_4.0@OMP_4.0 0.20131209
++ OMP_4.5@OMP_4.5 7
++#MISSING: 9# OMP_NULL_ALLOCATOR@VERSION 8
++ VERSION@VERSION 0.20130412
++ _You_must_link_with_Intel_OpenMP_library@VERSION 0.20130412
++ _You_must_link_with_exactly_one_OpenMP_library@VERSION 0.20130412
++ ___kmp_allocate@VERSION 0.20130412
++ ___kmp_free@VERSION 0.20130412
++ __kmp_acquire_drdpa_lock@VERSION 0.20130715
++ __kmp_acquire_nested_drdpa_lock@VERSION 0.20130715
++ __kmp_acquire_nested_queuing_lock@VERSION 0.20130715
++ __kmp_acquire_nested_tas_lock@VERSION 0.20130715
++ __kmp_acquire_nested_ticket_lock@VERSION 0.20130715
++ __kmp_acquire_queuing_lock@VERSION 0.20130715
++ __kmp_acquire_tas_lock@VERSION 0.20130715
++ __kmp_acquire_ticket_lock@VERSION 0.20130715
++ __kmp_fork_call@VERSION 0.20130715
++ __kmp_get_reduce_method@VERSION 0.20130412
++ __kmp_invoke_microtask@VERSION 0.20130715
++ __kmp_itt_fini_ittlib@VERSION 0.20130715
++ __kmp_itt_init_ittlib@VERSION 0.20130715
++#MISSING: 4.0# __kmp_reap_monitor@VERSION 0.20130715
++ __kmp_reap_worker@VERSION 0.20130715
++#MISSING: 0.20140926# __kmp_release@VERSION 0.20130715
++#MISSING: 3.9.0-1# __kmp_release_32@VERSION 0.20140926
++ __kmp_release_64@VERSION 0.20140926
++#MISSING: 3.9.0-1# __kmp_release_oncore@VERSION 0.20140926
++ __kmp_thread_pool@VERSION 0.20130412
++#MISSING: 9# __kmp_thread_pool_nth@VERSION 0.20130412
++#MISSING: 3.9.0-1# __kmp_wait_32@VERSION 0.20140926
++ __kmp_wait_4@VERSION 9
++ __kmp_wait_64@VERSION 0.20140926
++#MISSING: 3.9.0-1# __kmp_wait_oncore@VERSION 0.20140926
++#MISSING: 0.20140926# __kmp_wait_sleep@VERSION 0.20130715
++#MISSING: 1:9~svn355810-1~exp1+0~20190311081911.852~1.gbp0f20a4# __kmp_wait_yield_4@VERSION 0.20130715
++#MISSING: 3.8.0# __kmp_wait_yield_8@VERSION 0.20130715
++ __kmpc_alloc@VERSION 8
++ __kmpc_atomic_10@VERSION 0.20130412
++ __kmpc_atomic_16@VERSION 0.20130412
++ __kmpc_atomic_1@VERSION 0.20130412
++ __kmpc_atomic_20@VERSION 0.20130412
++ __kmpc_atomic_2@VERSION 0.20130412
++ __kmpc_atomic_32@VERSION 0.20130412
++ __kmpc_atomic_4@VERSION 0.20130412
++ __kmpc_atomic_8@VERSION 0.20130412
++ __kmpc_atomic_cmplx10_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_add_cpt@VERSION 0.20130412
++ __kmpc_atomic_cmplx10_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_div_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_div_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_div_rev@VERSION 0.20130412
++ __kmpc_atomic_cmplx10_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_mul_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_rd@VERSION 0.20130412
++ __kmpc_atomic_cmplx10_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_sub_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_sub_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_sub_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_wr@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_add@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_div@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_mul@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_rd@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_sub@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_swp@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_wr@VERSION 0.20130412
++ __kmpc_atomic_cmplx4_add@VERSION 0.20130412
++ __kmpc_atomic_cmplx4_add_cmplx8@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_add_cpt@VERSION 0.20130412
++ __kmpc_atomic_cmplx4_div@VERSION 0.20130412
++ __kmpc_atomic_cmplx4_div_cmplx8@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_div_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_div_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_div_rev@VERSION 0.20130412
++ __kmpc_atomic_cmplx4_mul@VERSION 0.20130412
++ __kmpc_atomic_cmplx4_mul_cmplx8@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_mul_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_rd@VERSION 0.20130412
++ __kmpc_atomic_cmplx4_sub@VERSION 0.20130412
++ __kmpc_atomic_cmplx4_sub_cmplx8@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_sub_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_sub_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_sub_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_wr@VERSION 0.20130412
++ __kmpc_atomic_cmplx8_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_add_cpt@VERSION 0.20130412
++ __kmpc_atomic_cmplx8_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_div_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_div_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_div_rev@VERSION 0.20130412
++ __kmpc_atomic_cmplx8_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_mul_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_rd@VERSION 0.20130412
++ __kmpc_atomic_cmplx8_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_sub_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_sub_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_sub_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_wr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_end@VERSION 0.20130412
++ (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed1_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_add_fp@VERSION 0.20130412
++ __kmpc_atomic_fixed1_andb@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_andb_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed1_andl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_andl_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed1_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_rev_fp@VERSION 4.0
++ __kmpc_atomic_fixed1_div_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_rev_fp@VERSION 4.0
++ __kmpc_atomic_fixed1_eqv@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_eqv_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed1_max@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_max_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed1_min@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_min_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed1_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_mul_cpt_fp@VERSION 4.0
++ __kmpc_atomic_fixed1_mul_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_mul_fp@VERSION 0.20130412
++ __kmpc_atomic_fixed1_neqv@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_neqv_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed1_orb@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_orb_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed1_orl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_orl_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_rd@VERSION 0.20130412
++ __kmpc_atomic_fixed1_shl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shl_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shl_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shl_rev@VERSION 0.20130412
++ __kmpc_atomic_fixed1_shr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shr_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shr_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shr_rev@VERSION 0.20130412
++ __kmpc_atomic_fixed1_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_sub_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_rev_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_wr@VERSION 0.20130412
++ __kmpc_atomic_fixed1_xor@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_xor_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_add_fp@VERSION 4.0
++ __kmpc_atomic_fixed1u_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1u_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_mul_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_mul_fp@VERSION 4.0
++ __kmpc_atomic_fixed1u_shr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_shr_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_shr_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_shr_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_sub_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_sub_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed1u_sub_rev_fp@VERSION 5.0
++ __kmpc_atomic_fixed2_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_add_fp@VERSION 0.20130412
++ __kmpc_atomic_fixed2_andb@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_andb_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed2_andl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_andl_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed2_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_rev_fp@VERSION 4.0
++ __kmpc_atomic_fixed2_div_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_rev_fp@VERSION 4.0
++ __kmpc_atomic_fixed2_eqv@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_eqv_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed2_max@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_max_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed2_min@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_min_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed2_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_mul_cpt_fp@VERSION 4.0
++ __kmpc_atomic_fixed2_mul_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_mul_fp@VERSION 0.20130412
++ __kmpc_atomic_fixed2_neqv@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_neqv_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed2_orb@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_orb_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed2_orl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_orl_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_rd@VERSION 0.20130412
++ __kmpc_atomic_fixed2_shl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shl_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shl_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shl_rev@VERSION 0.20130412
++ __kmpc_atomic_fixed2_shr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shr_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shr_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shr_rev@VERSION 0.20130412
++ __kmpc_atomic_fixed2_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_sub_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_rev_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_wr@VERSION 0.20130412
++ __kmpc_atomic_fixed2_xor@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_xor_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_add_fp@VERSION 4.0
++ __kmpc_atomic_fixed2u_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2u_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_mul_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_mul_fp@VERSION 4.0
++ __kmpc_atomic_fixed2u_shr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_shr_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_shr_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_shr_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_sub_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_sub_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed2u_sub_rev_fp@VERSION 5.0
++ __kmpc_atomic_fixed4_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_add_fp@VERSION 0.20130412
++ __kmpc_atomic_fixed4_andb@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_andb_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed4_andl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_andl_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed4_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_rev_fp@VERSION 4.0
++ __kmpc_atomic_fixed4_div_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_rev_fp@VERSION 4.0
++ __kmpc_atomic_fixed4_eqv@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_eqv_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed4_max@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_max_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed4_min@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_min_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed4_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_mul_cpt_fp@VERSION 4.0
++ __kmpc_atomic_fixed4_mul_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_mul_fp@VERSION 0.20130412
++ __kmpc_atomic_fixed4_neqv@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_neqv_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed4_orb@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_orb_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed4_orl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_orl_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_rd@VERSION 0.20130412
++ __kmpc_atomic_fixed4_shl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shl_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shl_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shl_rev@VERSION 0.20130412
++ __kmpc_atomic_fixed4_shr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shr_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shr_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shr_rev@VERSION 0.20130412
++ __kmpc_atomic_fixed4_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_sub_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_rev_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_wr@VERSION 0.20130412
++ __kmpc_atomic_fixed4_xor@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_xor_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_add_fp@VERSION 4.0
++ (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed4u_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4u_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_mul_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_mul_fp@VERSION 4.0
++ __kmpc_atomic_fixed4u_shr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_shr_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_shr_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_shr_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_sub_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_sub_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed4u_sub_rev_fp@VERSION 5.0
++ (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed8_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_add_fp@VERSION 0.20130412
++ __kmpc_atomic_fixed8_andb@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_andb_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed8_andl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_andl_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed8_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_rev_fp@VERSION 4.0
++ __kmpc_atomic_fixed8_div_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_rev_fp@VERSION 4.0
++ __kmpc_atomic_fixed8_eqv@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_eqv_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed8_max@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_max_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed8_min@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_min_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed8_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_mul_cpt_fp@VERSION 4.0
++ __kmpc_atomic_fixed8_mul_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_mul_fp@VERSION 0.20130412
++ __kmpc_atomic_fixed8_neqv@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_neqv_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed8_orb@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_orb_cpt@VERSION 0.20130412
++ __kmpc_atomic_fixed8_orl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_orl_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_rd@VERSION 0.20130412
++ __kmpc_atomic_fixed8_shl@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shl_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shl_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shl_rev@VERSION 0.20130412
++ __kmpc_atomic_fixed8_shr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shr_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shr_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shr_rev@VERSION 0.20130412
++ __kmpc_atomic_fixed8_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_sub_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_rev_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_wr@VERSION 0.20130412
++ __kmpc_atomic_fixed8_xor@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_xor_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_add_fp@VERSION 4.0
++ __kmpc_atomic_fixed8u_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8u_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_mul_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_mul_fp@VERSION 4.0
++ __kmpc_atomic_fixed8u_shr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_shr_cpt@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_shr_cpt_rev@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_shr_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_sub_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_sub_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed8u_sub_rev_fp@VERSION 5.0
++ __kmpc_atomic_float10_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_add_fp@VERSION 0.20130412
++ __kmpc_atomic_float10_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_rev_fp@VERSION 4.0
++ __kmpc_atomic_float10_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_mul_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_mul_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_rd@VERSION 0.20130412
++ __kmpc_atomic_float10_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_sub_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_rev_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_wr@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_add@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_div@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_max@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_max_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_min@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_min_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_mul@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_rd@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_sub@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_swp@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_wr@VERSION 0.20130412
++ __kmpc_atomic_float4_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_add_cpt_fp@VERSION 4.0
++ (arch=!ppc64 !ppc64el)__kmpc_atomic_float4_add_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_add_fp@VERSION 0.20130412
++ __kmpc_atomic_float4_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_rev_fp@VERSION 4.0
++ __kmpc_atomic_float4_div_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_rev_fp@VERSION 4.0
++ __kmpc_atomic_float4_max@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_max_cpt@VERSION 0.20130412
++ __kmpc_atomic_float4_min@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_min_cpt@VERSION 0.20130412
++ __kmpc_atomic_float4_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_mul_cpt_fp@VERSION 4.0
++ __kmpc_atomic_float4_mul_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_mul_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_rd@VERSION 0.20130412
++ __kmpc_atomic_float4_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_rev_fp@VERSION 4.0
++ __kmpc_atomic_float4_sub_float8@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_sub_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_rev_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_wr@VERSION 0.20130412
++ __kmpc_atomic_float8_add@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_add_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_add_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_add_fp@VERSION 0.20130412
++ __kmpc_atomic_float8_div@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_div_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_rev_fp@VERSION 4.0
++ __kmpc_atomic_float8_max@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_max_cpt@VERSION 0.20130412
++ __kmpc_atomic_float8_min@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_min_cpt@VERSION 0.20130412
++ __kmpc_atomic_float8_mul@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_mul_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_mul_cpt_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_mul_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_rd@VERSION 0.20130412
++ __kmpc_atomic_float8_sub@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_rev_fp@VERSION 4.0
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_sub_fp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_rev@VERSION 0.20130412
++#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_rev_fp@VERSION 4.0
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_swp@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_wr@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_start@VERSION 0.20130412
++ __kmpc_barrier@VERSION 0.20130412
++ __kmpc_barrier_master@VERSION 0.20130412
++ __kmpc_barrier_master_nowait@VERSION 0.20130412
++ __kmpc_begin@VERSION 0.20130412
++ __kmpc_bound_num_threads@VERSION 0.20130412
++ __kmpc_bound_thread_num@VERSION 0.20130412
++ __kmpc_cancel@VERSION 0.20131209
++ __kmpc_cancel_barrier@VERSION 0.20131209
++ __kmpc_cancellationpoint@VERSION 0.20131209
++ __kmpc_copyprivate@VERSION 0.20130412
++ __kmpc_critical@VERSION 0.20130412
++ __kmpc_critical_with_hint@VERSION 3.8.0
++ __kmpc_destroy_allocator@VERSION 9
++ __kmpc_destroy_lock@VERSION 0.20130412
++ __kmpc_destroy_nest_lock@VERSION 0.20130412
++ __kmpc_dispatch_fini_4@VERSION 0.20130412
++ __kmpc_dispatch_fini_4u@VERSION 0.20130412
++ __kmpc_dispatch_fini_8@VERSION 0.20130412
++ __kmpc_dispatch_fini_8u@VERSION 0.20130412
++ __kmpc_dispatch_init_4@VERSION 0.20130412
++ __kmpc_dispatch_init_4u@VERSION 0.20130412
++ __kmpc_dispatch_init_8@VERSION 0.20130412
++ __kmpc_dispatch_init_8u@VERSION 0.20130412
++ __kmpc_dispatch_next_4@VERSION 0.20130412
++ __kmpc_dispatch_next_4u@VERSION 0.20130412
++ __kmpc_dispatch_next_8@VERSION 0.20130412
++ __kmpc_dispatch_next_8u@VERSION 0.20130412
++ __kmpc_dist_dispatch_init_4@VERSION 0.20140926
++ __kmpc_dist_dispatch_init_4u@VERSION 0.20140926
++ __kmpc_dist_dispatch_init_8@VERSION 0.20140926
++ __kmpc_dist_dispatch_init_8u@VERSION 0.20140926
++ __kmpc_dist_for_static_init_4@VERSION 0.20140926
++ __kmpc_dist_for_static_init_4u@VERSION 0.20140926
++ __kmpc_dist_for_static_init_8@VERSION 0.20140926
++ __kmpc_dist_for_static_init_8u@VERSION 0.20140926
++ __kmpc_doacross_fini@VERSION 3.9.0
++ __kmpc_doacross_init@VERSION 3.9.0
++ __kmpc_doacross_post@VERSION 3.9.0
++ __kmpc_doacross_wait@VERSION 3.9.0
++ __kmpc_end@VERSION 0.20130412
++ __kmpc_end_barrier_master@VERSION 0.20130412
++ __kmpc_end_critical@VERSION 0.20130412
++ __kmpc_end_master@VERSION 0.20130412
++ __kmpc_end_ordered@VERSION 0.20130412
++ __kmpc_end_reduce@VERSION 0.20130412
++ __kmpc_end_reduce_nowait@VERSION 0.20130412
++ __kmpc_end_serialized_parallel@VERSION 0.20130412
++ __kmpc_end_single@VERSION 0.20130412
++ __kmpc_end_taskgroup@VERSION 0.20130412
++#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_end_taskq@VERSION 0.20130412
++#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_end_taskq_task@VERSION 0.20130412
++ __kmpc_flush@VERSION 0.20130412
++ __kmpc_for_static_fini@VERSION 0.20130412
++ __kmpc_for_static_init_4@VERSION 0.20130412
++ __kmpc_for_static_init_4u@VERSION 0.20130412
++ __kmpc_for_static_init_8@VERSION 0.20130412
++ __kmpc_for_static_init_8u@VERSION 0.20130412
++ __kmpc_fork_call@VERSION 0.20130412
++ __kmpc_fork_teams@VERSION 0.20130715
++ __kmpc_free@VERSION 8
++ __kmpc_get_default_allocator@VERSION 8
++ __kmpc_get_parent_taskid@VERSION 0.20130412
++ __kmpc_get_target_offload@VERSION 7
++ __kmpc_get_taskid@VERSION 0.20130412
++ __kmpc_global_num_threads@VERSION 0.20130412
++ __kmpc_global_thread_num@VERSION 0.20130412
++ __kmpc_in_parallel@VERSION 0.20130412
++ __kmpc_init_allocator@VERSION 9
++ __kmpc_init_lock@VERSION 0.20130412
++ __kmpc_init_lock_with_hint@VERSION 3.8.0
++ __kmpc_init_nest_lock@VERSION 0.20130412
++ __kmpc_init_nest_lock_with_hint@VERSION 3.8.0
++ __kmpc_invoke_task_func@VERSION 0.20130412
++ __kmpc_master@VERSION 0.20130412
++ __kmpc_ok_to_fork@VERSION 0.20130412
++ __kmpc_omp_reg_task_with_affinity@VERSION 8
++ __kmpc_omp_target_task_alloc@VERSION 9
++ __kmpc_omp_task@VERSION 0.20130412
++ __kmpc_omp_task_alloc@VERSION 0.20130412
++ __kmpc_omp_task_begin_if0@VERSION 0.20130412
++ __kmpc_omp_task_complete_if0@VERSION 0.20130412
++ __kmpc_omp_task_parts@VERSION 0.20130412
++ __kmpc_omp_task_with_deps@VERSION 0.20130912
++ __kmpc_omp_taskwait@VERSION 0.20130412
++ __kmpc_omp_taskyield@VERSION 0.20130412
++ __kmpc_omp_wait_deps@VERSION 0.20130912
++ __kmpc_ordered@VERSION 0.20130412
++ __kmpc_pause_resource@VERSION 9
++ __kmpc_pop_num_threads@VERSION 0.20130412
++ __kmpc_proxy_task_completed@VERSION 0.20150401
++ __kmpc_proxy_task_completed_ooo@VERSION 0.20150401
++ __kmpc_push_num_teams@VERSION 0.20130715
++ __kmpc_push_num_threads@VERSION 0.20130412
++ __kmpc_push_proc_bind@VERSION 0.20130412
++ __kmpc_reduce@VERSION 0.20130412
++ __kmpc_reduce_nowait@VERSION 0.20130412
++ __kmpc_serialized_parallel@VERSION 0.20130412
++ __kmpc_set_default_allocator@VERSION 8
++ __kmpc_set_lock@VERSION 0.20130412
++ __kmpc_set_nest_lock@VERSION 0.20130412
++ __kmpc_single@VERSION 0.20130412
++#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_task@VERSION 0.20130412
++ __kmpc_task_allow_completion_event@VERSION 9
++#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_task_buffer@VERSION 0.20130412
++ __kmpc_task_reduction_get_th_data@VERSION 5.0
++ __kmpc_task_reduction_init@VERSION 5.0
++ __kmpc_task_reduction_modifier_fini@VERSION 9
++ __kmpc_task_reduction_modifier_init@VERSION 9
++ __kmpc_taskgroup@VERSION 0.20130412
++ __kmpc_taskloop@VERSION 3.9.0
++#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_taskq@VERSION 0.20130412
++#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_taskq_task@VERSION 0.20130412
++ __kmpc_taskred_init@VERSION 9
++ __kmpc_taskred_modifier_init@VERSION 9
++ __kmpc_team_static_init_4@VERSION 0.20140926
++ __kmpc_team_static_init_4u@VERSION 0.20140926
++ __kmpc_team_static_init_8@VERSION 0.20140926
++ __kmpc_team_static_init_8u@VERSION 0.20140926
++ __kmpc_test_lock@VERSION 0.20130412
++ __kmpc_test_nest_lock@VERSION 0.20130412
++ __kmpc_threadprivate@VERSION 0.20130412
++ __kmpc_threadprivate_cached@VERSION 0.20130412
++ __kmpc_threadprivate_register@VERSION 0.20130412
++ __kmpc_threadprivate_register_vec@VERSION 0.20130412
++ __kmpc_unset_lock@VERSION 0.20130412
++ __kmpc_unset_nest_lock@VERSION 0.20130412
++ kmp_a_debug@VERSION 7
++ kmp_aligned_malloc@VERSION 3.9.0
++ kmp_aligned_malloc_@VERSION 3.9.0
++ kmp_b_debug@VERSION 7
++ kmp_c_debug@VERSION 7
++ kmp_calloc@VERSION 0.20130412
++ kmp_calloc_@VERSION 0.20130412
++ kmp_create_affinity_mask@VERSION 0.20130412
++ kmp_create_affinity_mask_@VERSION 0.20130412
++ kmp_d_debug@VERSION 7
++ kmp_destroy_affinity_mask@VERSION 0.20130412
++ kmp_destroy_affinity_mask_@VERSION 0.20130412
++ kmp_diag@VERSION 7
++ kmp_e_debug@VERSION 7
++ kmp_f_debug@VERSION 7
++ kmp_free@VERSION 0.20130412
++ kmp_free_@VERSION 0.20130412
++ kmp_get_affinity@VERSION 0.20130412
++ kmp_get_affinity_@VERSION 0.20130412
++ kmp_get_affinity_mask_proc@VERSION 0.20130412
++ kmp_get_affinity_mask_proc_@VERSION 0.20130412
++ kmp_get_affinity_max_proc@VERSION 0.20130412
++ kmp_get_affinity_max_proc_@VERSION 0.20130412
++ kmp_get_blocktime@VERSION 0.20130412
++ kmp_get_blocktime_@VERSION 0.20130412
++ kmp_get_cancellation_status@VERSION 0.20131209
++ kmp_get_cancellation_status_@VERSION 0.20131209
++ kmp_get_library@VERSION 0.20130412
++ kmp_get_library_@VERSION 0.20130412
++ kmp_get_num_known_threads@VERSION 0.20130412
++ kmp_get_num_known_threads_@VERSION 0.20130412
++ kmp_get_stacksize@VERSION 0.20130412
++ kmp_get_stacksize_@VERSION 0.20130412
++ kmp_get_stacksize_s@VERSION 0.20130412
++ kmp_get_stacksize_s_@VERSION 0.20130412
++ kmp_malloc@VERSION 0.20130412
++ kmp_malloc_@VERSION 0.20130412
++ kmp_max_mem_alloc@VERSION 9
++ (arch=!armhf !mips64el)kmp_mutex_impl_info@VERSION 7
++ kmp_realloc@VERSION 0.20130412
++ kmp_realloc_@VERSION 0.20130412
++ kmp_set_affinity@VERSION 0.20130412
++ kmp_set_affinity_@VERSION 0.20130412
++ kmp_set_affinity_mask_proc@VERSION 0.20130412
++ kmp_set_affinity_mask_proc_@VERSION 0.20130412
++ kmp_set_blocktime@VERSION 0.20130412
++ kmp_set_blocktime_@VERSION 0.20130412
++ kmp_set_defaults@VERSION 0.20130412
++ kmp_set_defaults_@VERSION 0.20130412
++ kmp_set_disp_num_buffers@VERSION 3.9.0
++ kmp_set_disp_num_buffers_@VERSION 3.9.0
++ kmp_set_library@VERSION 0.20130412
++ kmp_set_library_@VERSION 0.20130412
++ kmp_set_library_serial@VERSION 0.20130412
++ kmp_set_library_serial_@VERSION 0.20130412
++ kmp_set_library_throughput@VERSION 0.20130412
++ kmp_set_library_throughput_@VERSION 0.20130412
++ kmp_set_library_turnaround@VERSION 0.20130412
++ kmp_set_library_turnaround_@VERSION 0.20130412
++ kmp_set_stacksize@VERSION 0.20130412
++ kmp_set_stacksize_@VERSION 0.20130412
++ kmp_set_stacksize_s@VERSION 0.20130412
++ kmp_set_stacksize_s_@VERSION 0.20130412
++ (arch=!ppc64 !ppc64el)kmp_set_thread_affinity_mask_initial@VERSION 3.8.0
++ kmp_set_warnings_off@VERSION 0.20130412
++ kmp_set_warnings_off_@VERSION 0.20130412
++ kmp_set_warnings_on@VERSION 0.20130412
++ kmp_set_warnings_on_@VERSION 0.20130412
++ kmp_threadprivate_insert@VERSION 0.20130412
++ kmp_threadprivate_insert_private_data@VERSION 0.20130412
++ kmp_unset_affinity_mask_proc@VERSION 0.20130412
++ kmp_unset_affinity_mask_proc_@VERSION 0.20130412
++ kmpc_aligned_malloc@VERSION 3.9.0
++ kmpc_calloc@VERSION 0.20130412
++ kmpc_free@VERSION 0.20130412
++ kmpc_get_affinity_mask_proc@VERSION 0.20130412
++ kmpc_malloc@VERSION 0.20130412
++ kmpc_realloc@VERSION 0.20130412
++ kmpc_set_affinity_mask_proc@VERSION 0.20130412
++ kmpc_set_blocktime@VERSION 0.20130412
++ kmpc_set_defaults@VERSION 0.20130412
++ kmpc_set_disp_num_buffers@VERSION 3.9.0
++ kmpc_set_library@VERSION 0.20130412
++ kmpc_set_stacksize@VERSION 0.20130412
++ kmpc_set_stacksize_s@VERSION 0.20130412
++ kmpc_unset_affinity_mask_proc@VERSION 0.20130412
++ omp_alloc@VERSION 8
++#MISSING: 9# omp_alloc_@VERSION 8
++ omp_capture_affinity@VERSION 8
++ omp_capture_affinity_@VERSION 8
++ omp_cgroup_mem_alloc@VERSION 8
++ omp_const_mem_alloc@VERSION 8
++ omp_const_mem_space@VERSION 9
++ omp_control_tool@VERSION 6.0
++ omp_control_tool_@VERSION 8
++ omp_default_mem_alloc@VERSION 8
++ omp_default_mem_space@VERSION 9
++ omp_destroy_allocator@VERSION 9
++ omp_destroy_allocator_@VERSION 9
++ omp_destroy_lock@OMP_1.0 0.20131209
++ omp_destroy_lock@OMP_3.0 0.20131209
++ omp_destroy_lock@VERSION 0.20130412
++ omp_destroy_lock_@OMP_1.0 0.20131209
++ omp_destroy_lock_@OMP_3.0 0.20131209
++ omp_destroy_lock_@VERSION 0.20130412
++ omp_destroy_nest_lock@OMP_1.0 0.20131209
++ omp_destroy_nest_lock@OMP_3.0 0.20131209
++ omp_destroy_nest_lock@VERSION 0.20130412
++ omp_destroy_nest_lock_@OMP_1.0 0.20131209
++ omp_destroy_nest_lock_@OMP_3.0 0.20131209
++ omp_destroy_nest_lock_@VERSION 0.20130412
++ omp_display_affinity@VERSION 8
++ omp_display_affinity_@VERSION 8
++ omp_free@VERSION 8
++#MISSING: 9# omp_free_@VERSION 8
++ omp_fulfill_event@VERSION 9
++ omp_fulfill_event_@VERSION 9
++ omp_get_active_level@OMP_3.0 0.20131209
++ omp_get_active_level@VERSION 0.20130412
++ omp_get_active_level_@OMP_3.0 0.20131209
++ omp_get_active_level_@VERSION 0.20130412
++ omp_get_affinity_format@VERSION 8
++ omp_get_affinity_format_@VERSION 8
++ omp_get_ancestor_thread_num@OMP_3.0 0.20131209
++ omp_get_ancestor_thread_num@VERSION 0.20130412
++ omp_get_ancestor_thread_num_@OMP_3.0 0.20131209
++ omp_get_ancestor_thread_num_@VERSION 0.20130412
++ omp_get_cancellation@OMP_4.0 0.20131209
++ omp_get_cancellation@VERSION 0.20131209
++ omp_get_cancellation_@OMP_4.0 0.20131209
++ omp_get_cancellation_@VERSION 0.20131209
++ omp_get_default_allocator@VERSION 8
++ omp_get_default_allocator_@VERSION 8
++ omp_get_default_device@OMP_4.0 4.0
++ omp_get_default_device@VERSION 4.0
++ omp_get_default_device_@OMP_4.0 4.0
++ omp_get_default_device_@VERSION 4.0
++ omp_get_device_num@VERSION 8
++ omp_get_device_num_@VERSION 8
++ omp_get_dynamic@OMP_1.0 0.20131209
++ omp_get_dynamic@VERSION 0.20130412
++ omp_get_dynamic_@OMP_1.0 0.20131209
++ omp_get_dynamic_@VERSION 0.20130412
++ omp_get_initial_device@VERSION 8
++ omp_get_initial_device_@VERSION 8
++ omp_get_level@OMP_3.0 0.20131209
++ omp_get_level@VERSION 0.20130412
++ omp_get_level_@OMP_3.0 0.20131209
++ omp_get_level_@VERSION 0.20130412
++ omp_get_max_active_levels@OMP_3.0 0.20131209
++ omp_get_max_active_levels@VERSION 0.20130412
++ omp_get_max_active_levels_@OMP_3.0 0.20131209
++ omp_get_max_active_levels_@VERSION 0.20130412
++ omp_get_max_task_priority@OMP_4.5 7
++ omp_get_max_task_priority@VERSION 3.9.0
++ omp_get_max_task_priority_@OMP_4.5 7
++ omp_get_max_task_priority_@VERSION 3.9.0
++ omp_get_max_threads@OMP_1.0 0.20131209
++ omp_get_max_threads@VERSION 0.20130412
++ omp_get_max_threads_@OMP_1.0 0.20131209
++ omp_get_max_threads_@VERSION 0.20130412
++ omp_get_nested@OMP_1.0 0.20131209
++ omp_get_nested@VERSION 0.20130412
++ omp_get_nested_@OMP_1.0 0.20131209
++ omp_get_nested_@VERSION 0.20130412
++ omp_get_num_devices@OMP_4.0 8
++ omp_get_num_devices@VERSION 8
++ omp_get_num_devices_@OMP_4.0 8
++ omp_get_num_devices_@VERSION 8
++ omp_get_num_places@OMP_4.5 7
++ omp_get_num_places@VERSION 3.9.0
++ omp_get_num_places_@OMP_4.5 7
++ omp_get_num_places_@VERSION 3.9.0
++ omp_get_num_procs@OMP_1.0 0.20131209
++ omp_get_num_procs@VERSION 0.20130412
++ omp_get_num_procs_@OMP_1.0 0.20131209
++ omp_get_num_procs_@VERSION 0.20130412
++ omp_get_num_teams@OMP_4.0 0.20131209
++ omp_get_num_teams@VERSION 0.20130715
++ omp_get_num_teams_@OMP_4.0 0.20131209
++ omp_get_num_teams_@VERSION 0.20130715
++ omp_get_num_threads@OMP_1.0 0.20131209
++ omp_get_num_threads@VERSION 0.20130412
++ omp_get_num_threads_@OMP_1.0 0.20131209
++ omp_get_num_threads_@VERSION 0.20130412
++ omp_get_partition_num_places@OMP_4.5 7
++ omp_get_partition_num_places@VERSION 3.9.0
++ omp_get_partition_num_places_@OMP_4.5 7
++ omp_get_partition_num_places_@VERSION 3.9.0
++ omp_get_partition_place_nums@OMP_4.5 7
++ omp_get_partition_place_nums@VERSION 3.9.0
++ omp_get_partition_place_nums_@OMP_4.5 7
++ omp_get_partition_place_nums_@VERSION 3.9.0
++ omp_get_place_num@OMP_4.5 7
++ omp_get_place_num@VERSION 3.9.0
++ omp_get_place_num_@OMP_4.5 7
++ omp_get_place_num_@VERSION 3.9.0
++ omp_get_place_num_procs@OMP_4.5 7
++ omp_get_place_num_procs@VERSION 3.9.0
++ omp_get_place_num_procs_@OMP_4.5 7
++ omp_get_place_num_procs_@VERSION 3.9.0
++ omp_get_place_proc_ids@OMP_4.5 7
++ omp_get_place_proc_ids@VERSION 3.9.0
++ omp_get_place_proc_ids_@OMP_4.5 7
++ omp_get_place_proc_ids_@VERSION 3.9.0
++ omp_get_proc_bind@OMP_4.0 0.20131209
++ omp_get_proc_bind@VERSION 0.20130412
++ omp_get_proc_bind_@OMP_4.0 0.20131209
++ omp_get_proc_bind_@VERSION 0.20130412
++ omp_get_schedule@OMP_3.0 0.20131209
++ omp_get_schedule@VERSION 0.20130412
++ omp_get_schedule_@OMP_3.0 0.20131209
++ omp_get_schedule_@VERSION 0.20130412
++ omp_get_supported_active_levels@VERSION 9
++ omp_get_supported_active_levels_@VERSION 9
++ omp_get_team_num@OMP_4.0 0.20131209
++ omp_get_team_num@VERSION 0.20130715
++ omp_get_team_num_@OMP_4.0 0.20131209
++ omp_get_team_num_@VERSION 0.20130715
++ omp_get_team_size@OMP_3.0 0.20131209
++ omp_get_team_size@VERSION 0.20130412
++ omp_get_team_size_@OMP_3.0 0.20131209
++ omp_get_team_size_@VERSION 0.20130412
++ omp_get_thread_limit@OMP_3.0 0.20131209
++ omp_get_thread_limit@VERSION 0.20130412
++ omp_get_thread_limit_@OMP_3.0 0.20131209
++ omp_get_thread_limit_@VERSION 0.20130412
++ omp_get_thread_num@OMP_1.0 0.20131209
++ omp_get_thread_num@VERSION 0.20130412
++ omp_get_thread_num_@OMP_1.0 0.20131209
++ omp_get_thread_num_@VERSION 0.20130412
++ omp_get_wtick@OMP_2.0 0.20131209
++ omp_get_wtick@VERSION 0.20130412
++ omp_get_wtick_@OMP_2.0 0.20131209
++ omp_get_wtick_@VERSION 0.20130412
++ omp_get_wtime@OMP_2.0 0.20131209
++ omp_get_wtime@VERSION 0.20130412
++ omp_get_wtime_@OMP_2.0 0.20131209
++ omp_get_wtime_@VERSION 0.20130412
++ omp_high_bw_mem_alloc@VERSION 8
++ omp_high_bw_mem_space@VERSION 9
++ omp_in_final@OMP_3.1 0.20131209
++ omp_in_final@VERSION 0.20130412
++ omp_in_final_@OMP_3.1 0.20131209
++ omp_in_final_@VERSION 0.20130412
++ omp_in_parallel@OMP_1.0 0.20131209
++ omp_in_parallel@VERSION 0.20130412
++ omp_in_parallel_@OMP_1.0 0.20131209
++ omp_in_parallel_@VERSION 0.20130412
++ omp_init_allocator@VERSION 9
++ omp_init_allocator_@VERSION 9
++ omp_init_lock@OMP_1.0 0.20131209
++ omp_init_lock@OMP_3.0 0.20131209
++ omp_init_lock@VERSION 0.20130412
++ omp_init_lock_@OMP_1.0 0.20131209
++ omp_init_lock_@OMP_3.0 0.20131209
++ omp_init_lock_@VERSION 0.20130412
++ omp_init_lock_with_hint@VERSION 3.8.0
++ omp_init_lock_with_hint_@VERSION 3.8.0
++ omp_init_nest_lock@OMP_1.0 0.20131209
++ omp_init_nest_lock@OMP_3.0 0.20131209
++ omp_init_nest_lock@VERSION 0.20130412
++ omp_init_nest_lock_@OMP_1.0 0.20131209
++ omp_init_nest_lock_@OMP_3.0 0.20131209
++ omp_init_nest_lock_@VERSION 0.20130412
++ omp_init_nest_lock_with_hint@VERSION 3.8.0
++ omp_init_nest_lock_with_hint_@VERSION 3.8.0
++ omp_is_initial_device@OMP_4.0 0.20141212
++ omp_is_initial_device@VERSION 0.20141212
++ omp_is_initial_device_@OMP_4.0 0.20141212
++ omp_is_initial_device_@VERSION 0.20141212
++ omp_large_cap_mem_alloc@VERSION 8
++ omp_large_cap_mem_space@VERSION 9
++ omp_low_lat_mem_alloc@VERSION 8
++ omp_low_lat_mem_space@VERSION 9
++ omp_null_allocator@VERSION 9
++ omp_pause_resource@VERSION 9
++ omp_pause_resource_@VERSION 9
++ omp_pause_resource_all@VERSION 9
++ omp_pause_resource_all_@VERSION 9
++ omp_pteam_mem_alloc@VERSION 8
++ omp_set_affinity_format@VERSION 8
++ omp_set_affinity_format_@VERSION 8
++ omp_set_default_allocator@VERSION 8
++ omp_set_default_allocator_@VERSION 8
++ omp_set_default_device@OMP_4.0 4.0
++ omp_set_default_device@VERSION 4.0
++ omp_set_default_device_@OMP_4.0 4.0
++ omp_set_default_device_@VERSION 4.0
++ omp_set_dynamic@OMP_1.0 0.20131209
++ omp_set_dynamic@VERSION 0.20130412
++ omp_set_dynamic_@OMP_1.0 0.20131209
++ omp_set_dynamic_@VERSION 0.20130412
++ omp_set_lock@OMP_1.0 0.20131209
++ omp_set_lock@OMP_3.0 0.20131209
++ omp_set_lock@VERSION 0.20130412
++ omp_set_lock_@OMP_1.0 0.20131209
++ omp_set_lock_@OMP_3.0 0.20131209
++ omp_set_lock_@VERSION 0.20130412
++ omp_set_max_active_levels@OMP_3.0 0.20131209
++ omp_set_max_active_levels@VERSION 0.20130412
++ omp_set_max_active_levels_@OMP_3.0 0.20131209
++ omp_set_max_active_levels_@VERSION 0.20130412
++ omp_set_nest_lock@OMP_1.0 0.20131209
++ omp_set_nest_lock@OMP_3.0 0.20131209
++ omp_set_nest_lock@VERSION 0.20130412
++ omp_set_nest_lock_@OMP_1.0 0.20131209
++ omp_set_nest_lock_@OMP_3.0 0.20131209
++ omp_set_nest_lock_@VERSION 0.20130412
++ omp_set_nested@OMP_1.0 0.20131209
++ omp_set_nested@VERSION 0.20130412
++ omp_set_nested_@OMP_1.0 0.20131209
++ omp_set_nested_@VERSION 0.20130412
++ omp_set_num_threads@OMP_1.0 0.20131209
++ omp_set_num_threads@VERSION 0.20130412
++ omp_set_num_threads_@OMP_1.0 0.20131209
++ omp_set_num_threads_@VERSION 0.20130412
++ omp_set_schedule@OMP_3.0 0.20131209
++ omp_set_schedule@VERSION 0.20130412
++ omp_set_schedule_@OMP_3.0 0.20131209
++ omp_set_schedule_@VERSION 0.20130412
++#MISSING: 8# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)omp_state_info@VERSION 6.0
++ omp_test_lock@OMP_1.0 0.20131209
++ omp_test_lock@OMP_3.0 0.20131209
++ omp_test_lock@VERSION 0.20130412
++ omp_test_lock_@OMP_1.0 0.20131209
++ omp_test_lock_@OMP_3.0 0.20131209
++ omp_test_lock_@VERSION 0.20130412
++ omp_test_nest_lock@OMP_1.0 0.20131209
++ omp_test_nest_lock@OMP_3.0 0.20131209
++ omp_test_nest_lock@VERSION 0.20130412
++ omp_test_nest_lock_@OMP_1.0 0.20131209
++ omp_test_nest_lock_@OMP_3.0 0.20131209
++ omp_test_nest_lock_@VERSION 0.20130412
++ omp_thread_mem_alloc@VERSION 8
++ omp_unset_lock@OMP_1.0 0.20131209
++ omp_unset_lock@OMP_3.0 0.20131209
++ omp_unset_lock@VERSION 0.20130412
++ omp_unset_lock_@OMP_1.0 0.20131209
++ omp_unset_lock_@OMP_3.0 0.20131209
++ omp_unset_lock_@VERSION 0.20130412
++ omp_unset_nest_lock@OMP_1.0 0.20131209
++ omp_unset_nest_lock@OMP_3.0 0.20131209
++ omp_unset_nest_lock@VERSION 0.20130412
++ omp_unset_nest_lock_@OMP_1.0 0.20131209
++ omp_unset_nest_lock_@OMP_3.0 0.20131209
++ omp_unset_nest_lock_@VERSION 0.20130412
++ ompc_capture_affinity@VERSION 8
++ ompc_display_affinity@VERSION 8
++ ompc_get_affinity_format@VERSION 8
++ ompc_get_ancestor_thread_num@VERSION 0.20130412
++ ompc_get_team_size@VERSION 0.20130412
++ ompc_set_affinity_format@VERSION 8
++ ompc_set_dynamic@VERSION 0.20130412
++ ompc_set_max_active_levels@VERSION 0.20130412
++ ompc_set_nested@VERSION 0.20130412
++ ompc_set_num_threads@VERSION 0.20130412
++ ompc_set_schedule@VERSION 0.20130412
++ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)ompt_start_tool@VERSION 6.0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4d392c9de5adf6ff72b8f195d04ecc5b90a07702
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/ld.lld*
++usr/lib/llvm-@LLVM_VERSION@/bin/ld64.lld
++usr/lib/llvm-@LLVM_VERSION@/bin/lld-*
++usr/lib/llvm-@LLVM_VERSION@/bin/lld
++usr/lib/llvm-@LLVM_VERSION@/bin/wasm-ld
++
++usr/bin/lld-link-@LLVM_VERSION@
++usr/bin/ld.lld-@LLVM_VERSION@
++usr/bin/ld64.lld-@LLVM_VERSION@
++usr/bin/lld-@LLVM_VERSION@*
++usr/bin/wasm-ld-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6cfafeaee3a5831fc009cbd208e35c5efa94ec63
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++lld/docs/ld.lld-@LLVM_VERSION@.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..118022f566724788521701b090bce0d4a7dd6c16
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/lldb*
++usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server*
++usr/lib/llvm-@LLVM_VERSION@/bin/lldb-argdumper
++
++usr/bin/lldb-@LLVM_VERSION@*
++usr/bin/lldb-server-@LLVM_VERSION@*
++usr/bin/lldb-argdumper-@LLVM_VERSION@
++usr/bin/lldb-vscode-@LLVM_VERSION@
++usr/bin/lldb-instr-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d30a5f693495386b4b8d3647141ce5d66f0513b4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server-@LLVM_VERSION_FULL@
++usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a456a34128c4d134ff01280157b50a3fd6118421
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++lldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so
++# Does not really matter
++lldb-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/lldb-@LLVM_VERSION@.1.gz
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3752407006657f87ecefa45bad89c35bdd5ae548
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/man/lldb-@LLVM_VERSION@.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a5a607104d6d7c17494a33e3a858329f1f7f9ff0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++#!/bin/sh -e
++
++if [ "$1" = "configure" ]
++then
++        ldconfig
++fi
++
++#DEBHELPER#
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3b3b5862d7043d92a52e00e47089b08c6aed105e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++/usr/lib/llvm-@LLVM_VERSION@/lib
++/usr/lib/llvm-@LLVM_VERSION@/build
++/usr/lib/llvm-@LLVM_VERSION@/include
++usr/share/doc/llvm-@LLVM_VERSION@-dev
++usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a6acd02832299210922aef4dee2019b74bbfc83e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++#!/usr/bin/dh-exec
++
++usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM*.a
++#usr/lib/llvm-@LLVM_VERSION@/lib/libllvm*.a
++[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so
++usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so
++usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so
++usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.*
++usr/lib/llvm-@LLVM_VERSION@/lib/libRemarks.*
++usr/lib/llvm-@LLVM_VERSION@/include/llvm/      usr/include/llvm-@LLVM_VERSION@/
++usr/lib/llvm-@LLVM_VERSION@/include/llvm-c/   usr/include/llvm-c-@LLVM_VERSION@/
++# Explicit debian/tmp since there are multiple declarations
++debian/tmp/usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm/*.cmake
++
++llvm/utils/vim/indent/llvm-@LLVM_VERSION@.vim                 usr/share/vim/addons/indent/
++
++llvm/utils/vim/syntax/llvm-@LLVM_VERSION@.vim                 usr/share/vim/addons/syntax/
++llvm/utils/vim/syntax/tablegen-@LLVM_VERSION@.vim                 usr/share/vim/addons/syntax/
++
++llvm/utils/vim/ftdetect/llvm-@LLVM_VERSION@.vim                       usr/share/vim/addons/ftdetect/
++llvm/utils/vim/ftdetect/tablegen-@LLVM_VERSION@.vim               usr/share/vim/addons/ftdetect/
++
++llvm/utils/vim/ftplugin/llvm-@LLVM_VERSION@.vim                       usr/share/vim/addons/ftplugin/
++llvm/utils/vim/ftplugin/tablegen-@LLVM_VERSION@.vim               usr/share/vim/addons/ftplugin/
++
++llvm/utils/vim/llvm-@LLVM_VERSION@-vimrc                          usr/share/vim/addons
++
++
++llvm/utils/emacs/emacs.el                 usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
++llvm/utils/emacs/llvm-mode.el     usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
++llvm/utils/emacs/tablegen-mode.el     usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b3a2a2ae99a7ff47655086f1b930dea0b226d409
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so
++usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1
++usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION_FULL@.so.1
++usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION_FULL@.so
++usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1       usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1
++
++usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/include/llvm-c
++usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/include/llvm
++usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/build/include/llvm-c
++usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/build/include/llvm
++
++usr/lib/llvm-@LLVM_VERSION@/include/ usr/lib/llvm-@LLVM_VERSION@/build/include
++usr/lib/llvm-@LLVM_VERSION@/lib/     usr/lib/llvm-@LLVM_VERSION@/build/lib
++usr/lib/llvm-@LLVM_VERSION@/share/   usr/lib/llvm-@LLVM_VERSION@/build/share
++usr/lib/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/build/Release
++usr/lib/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/build/Debug+Asserts
++
++usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm usr/lib/llvm-@LLVM_VERSION@/cmake
++usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm usr/lib/llvm-@LLVM_VERSION@/share/llvm/cmake
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5379e8eceba7a3d4ff2f2b1fd6c765728a2080f3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/share/doc/llvm-@LLVM_VERSION@-doc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a84b04232265a8171741266c5481231a0fd0caba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++llvm/docs/_build/html usr/share/doc/llvm-@LLVM_VERSION@-doc/
++#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html.tar.gz
++#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/ocamldoc.tar.gz
++#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/Dummy.html
++#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/doxygen.css
++#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/LibASTMatchersReference.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a8b75c66192d8228c103dcea9df342e890fc1d4b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/share/doc/llvm-@LLVM_VERSION@-examples
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e39721e20f0708703dc6d9b607634636d625e9b2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++examples/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a8d74aa2a52a3018f95518dec28b2ebcd0300bdb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.common    usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.common
++/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.config    usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.config
++/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.rules     usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6bb1df78cfb31013c0d34d48725c10bdf0dc810f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++package llvm-@LLVM_VERSION@-runtime
++interpreter /usr/bin/lli-@LLVM_VERSION@
++magic BC
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d8e16a7c6f214e6e6b45d2f7b84b58d05f7d50f2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/lli
++usr/lib/llvm-@LLVM_VERSION@/bin/lli-child-target
++
++usr/bin/lli-@LLVM_VERSION@
++usr/bin/lli-child-target-@LLVM_VERSION@
++
++debian/llvm-@LLVM_VERSION@-runtime.binfmt                  usr/share/binfmts/
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e94e71309930517b88b6b0c9fd565e3a41ed4539
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++llvm-@LLVM_VERSION@-runtime: binary-without-manpage usr/bin/lli-child-target-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..839952d038a9e40acdd735268d4742d46ab10e72
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/man/lli*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..22326b1b259a12978ba85dfad74d378215a7fcf7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++#!/bin/sh
++
++set -e
++
++if test "$1" = "configure"; then
++      if which update-binfmts >/dev/null; then
++        update-binfmts --import llvm-@LLVM_VERSION@-runtime.binfmt || true
++    fi
++fi
++
++#DEBHELPER#
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4b7d8eb7530f41efb37fe1db5feb67967293b91b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++#!/bin/sh
++
++set -e
++
++if test "$1" = "remove"; then
++    if which update-binfmts >/dev/null; then
++        update-binfmts --package llvm-@LLVM_VERSION@-runtime \
++            --remove llvm-@LLVM_VERSION@-runtime.binfmt /usr/bin/lli-@LLVM_VERSION@ || true
++        if test -f /var/lib/binfmts/llvm-@LLVM_VERSION@.binfmt; then
++            # Purge old file
++            update-binfmts --package llvm-@LLVM_VERSION@-runtime \
++                --remove llvm-@LLVM_VERSION@.binfmt /usr/bin/lli-@LLVM_VERSION@ || true
++        fi
++    fi
++fi
++
++#DEBHELPER#
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..401df068d692a415969b04d685e201e54ca15a2d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++/usr/lib/llvm-@LLVM_VERSION@/build/unittests
++/usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0ceef3f416336dd61363088ae591ba6639f6bcad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++
++usr/lib/llvm-@LLVM_VERSION@/bin/count
++usr/lib/llvm-@LLVM_VERSION@/bin/FileCheck
++usr/lib/llvm-@LLVM_VERSION@/bin/not
++usr/lib/llvm-@LLVM_VERSION@/bin/yaml-bench
++usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-viewer.py
++usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/optrecord.py
++usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/style.css
++usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-diff.py
++usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/optpmap.py
++usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-stats.py
++
++
++llvm/utils/lit/*             /usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/
++
++usr/bin/count-@LLVM_VERSION@
++usr/bin/FileCheck-@LLVM_VERSION@
++usr/bin/not-@LLVM_VERSION@
++usr/bin/yaml-bench-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..56a9655f38c3debc648e3783c7bd820744d547b0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++/usr/lib/llvm-@LLVM_VERSION@/bin
++usr/share/man/man1
++usr/share/doc/llvm-@LLVM_VERSION@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dc67100a85dd7fdec7edb29931050f8dbb614bda
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++usr/lib/llvm-@LLVM_VERSION@/bin/llvm-*
++usr/lib/llvm-@LLVM_VERSION@/bin/opt*
++usr/lib/llvm-@LLVM_VERSION@/bin/bugpoint*
++usr/lib/llvm-@LLVM_VERSION@/bin/llc*
++usr/lib/llvm-@LLVM_VERSION@/bin/obj2yaml
++usr/lib/llvm-@LLVM_VERSION@/bin/yaml2obj
++usr/lib/llvm-@LLVM_VERSION@/bin/verify-uselistorder
++usr/lib/llvm-@LLVM_VERSION@/bin/sanstats
++usr/lib/llvm-@LLVM_VERSION@/bin/dsymutil
++usr/bin/llvm-*
++usr/bin/opt*
++usr/bin/bugpoint*
++usr/bin/llc*
++usr/bin/obj2yaml-*
++usr/bin/yaml2obj-*
++usr/bin/verify-uselistorder-*
++usr/bin/sanstats-*
++usr/bin/dsymutil-*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..35c869467e0f07a79769df2c403e1fa308aca16e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++# I know but well...
++llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-dwarfdump-@LLVM_VERSION@.1.gz
++llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-mc-@LLVM_VERSION@.1.gz
++llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-mcmarkup-@LLVM_VERSION@.1.gz
++llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-objdump-@LLVM_VERSION@.1.gz
++llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-rtdyld-@LLVM_VERSION@.1.gz
++llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-size-@LLVM_VERSION@.1.gz
++llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-ranlib-@LLVM_VERSION@.1.gz
++# Does not link otherwise
++llvm-@LLVM_VERSION@: embedded-library usr/lib/llvm-@LLVM_VERSION@/bin/bugpoint: libjsoncpp
++llvm-@LLVM_VERSION@: embedded-library usr/lib/llvm-@LLVM_VERSION@/bin/opt: libjsoncpp
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..98f095fb689b183759f5c3e8fd3338fae7b9231f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++docs/_build/man/*
++debian/man/llvm-dwarfdump-@LLVM_VERSION@.1
++debian/man/llvm-mc-@LLVM_VERSION@.1
++debian/man/llvm-mcmarkup-@LLVM_VERSION@.1
++debian/man/llvm-objdump-@LLVM_VERSION@.1
++debian/man/llvm-rtdyld-@LLVM_VERSION@.1
++debian/man/llvm-size-@LLVM_VERSION@.1
++debian/man/llvm-ranlib-@LLVM_VERSION@.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dab86638a537f994545ebdc5f766e2c08e8780d8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++/usr/lib/llvm-3.1/build
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..129ceb489e0ad32ebe623b9dcbac539b1188c20a
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,183 @@@
++#!/bin/sh
++# This script will create the following tarballs:
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang-extra.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-compiler-rt.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-lld.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-lldb.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-polly.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-openmp.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-libcxx.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig-libcxxabi.tar.bz2
++# llvm-toolchain-snapshot-3.2_3.2repack.orig.tar.bz2
++
++set -e
++
++# commands:
++#  sh 9/debian/orig-tar.sh release/9.x
++#  sh 9/debian/orig-tar.sh 9.0.0 rc3
++#  sh 9/debian/orig-tar.sh 9.0.1 rc3
++# Stable release
++#  sh 9/debian/orig-tar.sh 9.0.0 9.0.0
++
++
++# To create an rc1 release:
++# sh 9/debian/orig-tar.sh release/9.x
++CURRENT_PATH=$(pwd)
++EXPORT_PATH=$(pwd)
++
++if test -n "${JENKINS_HOME}"; then
++    # For apt.llvm.org, reuse the same repo
++    echo "Built from Jenkins. Will export the repo in $HOME/"
++    EXPORT_PATH="$HOME/"
++fi
++
++GIT_BASE_URL=https://github.com/llvm/llvm-project
++GIT_TOOLCHAIN_CHECK=https://github.com/opencollab/llvm-toolchain-integration-test-suite.git
++
++
++reset_repo ()
++{
++    cd $1
++    git clean -qfd
++    git checkout .
++    git remote update > /dev/null
++    git reset --hard origin/master > /dev/null
++    git clean -qfd
++    git checkout master > /dev/null
++    git pull
++    cd -
++}
++
++PATH_DEBIAN="$(pwd)/$(dirname $0)/../"
++cd "$PATH_DEBIAN"
++MAJOR_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p")
++if test -z "$MAJOR_VERSION"; then
++    echo "Could not detect the major version"
++    exit 1
++fi
++
++CURRENT_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p")
++if test -z "$CURRENT_VERSION"; then
++    echo "Could not detect the full version"
++    exit 1
++fi
++
++cd - &> /dev/null
++echo "MAJOR_VERSION=$MAJOR_VERSION / CURRENT_VERSION=$CURRENT_VERSION"
++if test -n "$1"; then
++# https://github.com/llvm/llvm-project/tree/release/9.x
++# For example: sh 4.0/debian/orig-tar.sh release/9.x
++    BRANCH=$1
++    if ! echo "$1"|grep -q release/; then
++        # The first argument is NOT a branch, means that it is a stable release
++        FINAL_RELEASE=true
++        EXACT_VERSION=$1
++    fi
++else
++    # No argument, we need trunk
++    cd "$PATH_DEBIAN"
++    SOURCE=$(dpkg-parsechangelog |grep ^Source|awk '{print $2}')
++    cd - &> /dev/null
++    if test "$SOURCE" != "llvm-toolchain-snapshot"; then
++       echo "Checkout of the master is only available for llvm-toolchain-snapshot"
++       exit 1
++    fi
++    BRANCH="master"
++fi
++
++if test -n "$1" -a -n "$2"; then
++# https://github.com/llvm/llvm-project/releases/tag/llvmorg-9.0.0
++# For example: sh 4.0/debian/orig-tar.sh 4.0.1 rc3
++# or  sh 9/debian/orig-tar.sh 9.0.0
++    TAG=$2
++    RCRELEASE="true"
++    EXACT_VERSION=$1
++fi
++
++# Update or retrieve the repo
++mkdir -p git-archive
++cd git-archive
++if test -d $EXPORT_PATH/llvm-project; then
++    echo "Updating repo in $EXPORT_PATH/llvm-project"
++    # Update it
++    reset_repo $EXPORT_PATH/llvm-project
++else
++    # Download it
++    echo "Cloning the repo in $EXPORT_PATH/llvm-project"
++    git clone $GIT_BASE_URL $EXPORT_PATH/llvm-project
++fi
++
++if test -d $EXPORT_PATH/llvm-toolchain-integration-test-suite; then
++    echo "Updating repo in $EXPORT_PATH/llvm-toolchain-integration-test-suite"
++    # Update it
++    reset_repo $EXPORT_PATH/llvm-toolchain-integration-test-suite
++else
++    echo "Clone llvm-toolchain-integration-test-suite into $EXPORT_PATH/llvm-toolchain-integration-test-suite"
++    git clone $GIT_TOOLCHAIN_CHECK $EXPORT_PATH/llvm-toolchain-integration-test-suite
++fi
++
++cd $EXPORT_PATH/llvm-project
++if test -z  "$TAG" -a -z "$FINAL_RELEASE"; then
++    # Building a branch
++    git checkout $BRANCH
++    git reset --hard origin/$BRANCH
++    if test $BRANCH != "master"; then
++        VERSION=$(echo $BRANCH|cut -d/ -f2|cut -d. -f1)
++        if ! echo "$MAJOR_VERSION"|grep -q "$VERSION"; then
++            echo "mismatch in version: Dir=$MAJOR_VERSION Provided=$VERSION"
++            exit 1
++        fi
++    else
++        # No argument, take master. So, it can only be snapshot
++        VERSION=$MAJOR_VERSION
++        MAJOR_VERSION=snapshot
++    fi
++    # the + is here to make sure that this version is considered more recent than the svn
++    # dpkg --compare-versions 10~svn374977-1~exp1 lt 10~+2019-svn374977-1~exp1
++    # to verify that
++    VERSION="${CURRENT_VERSION}~++$(date +'%Y%m%d%I%M%S')+$(git log -1 --pretty=format:'%h')"
++else
++
++    if ! echo "$EXACT_VERSION"|grep -q "$MAJOR_VERSION"; then
++        echo "Mismatch in version: Dir=$MAJOR_VERSION Provided=$EXACT_VERSION"
++        exit 1
++    fi
++    git_tag="llvmorg-$EXACT_VERSION"
++    VERSION=$EXACT_VERSION
++    if test -n "$TAG"; then
++        git_tag="$git_tag-$TAG"
++        VERSION="$VERSION~+$TAG"
++    fi
++
++    git checkout "$git_tag" > /dev/null
++
++fi
++
++# cleanup
++rm -rf */www/
++
++cd ../
++BASE="llvm-toolchain-${MAJOR_VERSION}_${VERSION}"
++FILENAME="${BASE}.orig.tar.xz"
++
++cp -R llvm-toolchain-integration-test-suite llvm-project/integration-test-suite
++echo "Compressing to $FILENAME"
++tar Jcf $CURRENT_PATH/"$FILENAME" --exclude .git --transform="s|llvm-project|$BASE|" -C $EXPORT_PATH llvm-project
++rm -rf llvm-project/integration-test-suite
++
++export DEBFULLNAME="Sylvestre Ledru"
++export DEBEMAIL="sylvestre@debian.org"
++cd "$PATH_DEBIAN"
++
++if test -z "$DISTRIBUTION"; then
++    DISTRIBUTION="experimental"
++fi
++
++if test -n "$RCRELEASE" -o -n "$BRANCH"; then
++    EXTRA_DCH_FLAGS="--force-bad-version --allow-lower-version"
++fi
++
++dch $EXTRA_DCH_FLAGS --distribution $DISTRIBUTION --newversion 1:"$VERSION"-1~exp1 "New snapshot release"
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c52c19e0760319dad885135242e7e34d3054ba18
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++From d0d969074f6e0f975ad53d21e7ce6c7b40cf2957 Mon Sep 17 00:00:00 2001
++From: Peter Wu <peter@lekensteyn.nl>
++Date: Fri, 4 May 2018 15:43:06 +0200
++Subject: [PATCH] [llvm] cmake: resolve symlinks in LLVMConfig.cmake
++
++Ensure that symlinks such as /usr/lib/llvm-X.Y/cmake (pointing to
++lib/cmake/llvm) are resolved. This ensures that LLVM_INSTALL_PREFIX
++becomes /usr/lib/llvm-X.Y instead of /usr.
++
++Partially addresses PR37128
++---
++ cmake/modules/CMakeLists.txt | 4 ++--
++ 1 file changed, 2 insertions(+), 2 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/cmake/modules/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/cmake/modules/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/cmake/modules/CMakeLists.txt
++@@ -88,10 +88,10 @@ file(COPY .
++ # Generate LLVMConfig.cmake for the install tree.
++ set(LLVM_CONFIG_CODE "
++ # Compute the installation prefix from this LLVMConfig.cmake file location.
++-get_filename_component(LLVM_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)")
+++get_filename_component(LLVM_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" REALPATH)")
++ # Construct the proper number of get_filename_component(... PATH)
++ # calls to compute the installation prefix.
++-string(REGEX REPLACE "/" ";" _count "${LLVM_INSTALL_PACKAGE_DIR}")
+++string(REGEX REPLACE "/" ";" _count "prefix/${LLVM_INSTALL_PACKAGE_DIR}")
++ foreach(p ${_count})
++   set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
++ get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d8b20dee3908af0f47b85c0ae9113fedacba0fce
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++From 3d76b4f33d2e9b5f8ec1e0a5866f9bafc7d6186d Mon Sep 17 00:00:00 2001
++From: Dimitri John Ledkov <xnox@ubuntu.com>
++Date: Tue, 10 Mar 2020 12:26:39 +0000
++Subject: [PATCH] systemz: allow configuring default SYSTEMZ_DEFAULT_ARCH.
++
++Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
++---
++ CMakeLists.txt                         | 4 ++++
++ lib/Driver/ToolChains/Arch/SystemZ.cpp | 2 +-
++ 2 files changed, 5 insertions(+), 1 deletion(-)
++
++Index: llvm-toolchain-10-10.0.0~+rc5/clang/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-10-10.0.0~+rc5.orig/clang/CMakeLists.txt
+++++ llvm-toolchain-10-10.0.0~+rc5/clang/CMakeLists.txt
++@@ -306,6 +306,10 @@ if (NOT DEFINED MATCHED_ARCH OR "${CMAKE
++     "Default architecture for OpenMP offloading to Nvidia GPUs." FORCE)
++ endif()
++ 
+++set(CLANG_SYSTEMZ_DEFAULT_ARCH "z10" CACHE STRING
+++  "SystemZ Default Arch")
+++add_definitions( -DCLANG_SYSTEMZ_DEFAULT_ARCH="${CLANG_SYSTEMZ_DEFAULT_ARCH}")
+++
++ set(CLANG_VENDOR ${PACKAGE_VENDOR} CACHE STRING
++   "Vendor-specific text for showing with version information.")
++ 
++Index: llvm-toolchain-10-10.0.0~+rc5/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
++===================================================================
++--- llvm-toolchain-10-10.0.0~+rc5.orig/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
+++++ llvm-toolchain-10-10.0.0~+rc5/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
++@@ -30,7 +30,7 @@ std::string systemz::getSystemZTargetCPU
++ 
++     return CPUName;
++   }
++-  return "z10";
+++  return CLANG_SYSTEMZ_DEFAULT_ARCH;
++ }
++ 
++ void systemz::getSystemZTargetFeatures(const ArgList &Args,
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f3d199ac63caa16cc247ce6d0b31f15ad027df8a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++From c830d84bc802ca1e9219415a5784c4ad97a34819 Mon Sep 17 00:00:00 2001
++From: Peter Wu <peter@lekensteyn.nl>
++Date: Fri, 4 May 2018 15:55:26 +0200
++Subject: [PATCH] [clang] cmake: resolve symlinks in ClangConfig.cmake
++
++Ensure that symlinks such as /usr/lib/cmake/clang-X.Y (pointing to
++/usr/lib/llvm-X.Y/lib/cmake/llvm) are resolved. This ensures that
++CLANG_INSTALL_PREFIX ends up to be /usr/lib/llvm-X.Y instead of /usr.
++
++Partially addresses PR37128
++---
++ cmake/modules/CMakeLists.txt | 4 ++--
++ 1 file changed, 2 insertions(+), 2 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/cmake/modules/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/cmake/modules/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/cmake/modules/CMakeLists.txt
++@@ -30,10 +30,10 @@ set(CLANG_CONFIG_EXPORTS_FILE)
++ # Generate ClangConfig.cmake for the install tree.
++ set(CLANG_CONFIG_CODE "
++ # Compute the installation prefix from this LLVMConfig.cmake file location.
++-get_filename_component(CLANG_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)")
+++get_filename_component(CLANG_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" REALPATH)")
++ # Construct the proper number of get_filename_component(... PATH)
++ # calls to compute the installation prefix.
++-string(REGEX REPLACE "/" ";" _count "${CLANG_INSTALL_PACKAGE_DIR}")
+++string(REGEX REPLACE "/" ";" _count "prefix/${CLANG_INSTALL_PACKAGE_DIR}")
++ foreach(p ${_count})
++   set(CLANG_CONFIG_CODE "${CLANG_CONFIG_CODE}
++ get_filename_component(CLANG_INSTALL_PREFIX \"\${CLANG_INSTALL_PREFIX}\" PATH)")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a8b11deeb00564c21087fdda30a85b35e430f4e6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++---
++ lib/Support/CommandLine.cpp |    4 ++++
++ 1 file changed, 4 insertions(+)
++
++Index: llvm-toolchain-snapshot_10~+20191223101759+5762648c46b/llvm/lib/Support/CommandLine.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191223101759+5762648c46b.orig/llvm/lib/Support/CommandLine.cpp
+++++ llvm-toolchain-snapshot_10~+20191223101759+5762648c46b/llvm/lib/Support/CommandLine.cpp
++@@ -2473,6 +2473,10 @@ public:
++     OS << " " << LLVM_VERSION_INFO;
++ #endif
++     OS << "\n  ";
+++#ifdef LLVM_DEBIAN_INFO
+++    OS << LLVM_DEBIAN_INFO;
+++#endif
+++    OS << "\n  ";
++ #if LLVM_IS_DEBUG_BUILD
++     OS << "DEBUG build";
++ #else
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bc0860da8b54977f8637b7b5be5f3e5162f188e5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++---
++ clang/tools/libclang/CMakeLists.txt |    2 +-
++ tools/llvm-shlib/CMakeLists.txt     |    1 +
++ 2 files changed, 2 insertions(+), 1 deletion(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/libclang/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/libclang/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/libclang/CMakeLists.txt
++@@ -96,7 +96,7 @@ if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHE
++     remove_definitions("-D_XOPEN_SOURCE=700")
++ endif()
++ 
++-add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCHAIN
+++add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCHAIN SONAME
++   OUTPUT_NAME ${output_name}
++   ${SOURCES}
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/tools/llvm-shlib/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt
++@@ -44,6 +44,8 @@ if(LLVM_BUILD_LLVM_DYLIB)
++   endif()
++   add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
++ 
+++  set_property(TARGET LLVM PROPERTY VERSION "1") # Append .1 to SONAME
+++
++   list(REMOVE_DUPLICATES LIB_NAMES)
++   if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
++      OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..45874d87fb3610070069869eede90d58aec90a29
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,50 @@@
++From: Nicholas D Steeves <nsteeves@gmail.com>
++Date: Sat, 10 Feb 2018 21:00:55 -0500
++Subject: Set html_static_path = ['_static'] everywhere.
++
++---
++ clang-tools-extra/docs/conf.py | 2 +-
++ clang/docs/analyzer/conf.py    | 2 +-
++ clang/docs/conf.py             | 2 +-
++ polly/docs/conf.py             | 2 +-
++ 4 files changed, 4 insertions(+), 4 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/analyzer/conf.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/analyzer/conf.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/analyzer/conf.py
++@@ -121,7 +121,7 @@ html_theme = 'haiku'
++ # Add any paths that contain custom static files (such as style sheets) here,
++ # relative to this directory. They are copied after the builtin static files,
++ # so a file named "default.css" will overwrite the builtin "default.css".
++-html_static_path = []
+++html_static_path = ['_static']
++ 
++ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
++ # using the given strftime format.
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/conf.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/conf.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/conf.py
++@@ -122,7 +122,7 @@ html_theme = 'haiku'
++ # Add any paths that contain custom static files (such as style sheets) here,
++ # relative to this directory. They are copied after the builtin static files,
++ # so a file named "default.css" will overwrite the builtin "default.css".
++-html_static_path = []
+++html_static_path = ['_static']
++ 
++ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
++ # using the given strftime format.
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/polly/docs/conf.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/polly/docs/conf.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/polly/docs/conf.py
++@@ -127,7 +127,7 @@ except ImportError:
++ # Add any paths that contain custom static files (such as style sheets) here,
++ # relative to this directory. They are copied after the builtin static files,
++ # so a file named "default.css" will overwrite the builtin "default.css".
++-html_static_path = []
+++html_static_path = ['_static']
++ 
++ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
++ # using the given strftime format.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..346973d7dbd8a7d2bd9fce6f0d4b44692185be43
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,109 @@@
++From: Nicholas D Steeves <nsteeves@gmail.com>
++Date: Sat, 10 Feb 2018 21:02:17 -0500
++Subject: Use Debian-provided MathJax everywhere.
++
++---
++ clang-tools-extra/docs/Doxyfile       | 2 +-
++ clang-tools-extra/docs/conf.py        | 3 +++
++ clang-tools-extra/docs/doxygen.cfg.in | 2 +-
++ clang/docs/analyzer/conf.py           | 3 +++
++ clang/docs/conf.py                    | 3 +++
++ clang/docs/doxygen.cfg.in             | 2 +-
++ docs/doxygen.cfg.in                   | 2 +-
++ polly/docs/doxygen.cfg.in             | 2 +-
++ 8 files changed, 14 insertions(+), 5 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/docs/conf.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang-tools-extra/docs/conf.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/docs/conf.py
++@@ -123,6 +123,9 @@ html_theme = 'haiku'
++ # so a file named "default.css" will overwrite the builtin "default.css".
++ html_static_path = ['_static']
++ 
+++# Use Debian-provided MathJax
+++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
+++
++ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
++ # using the given strftime format.
++ #html_last_updated_fmt = '%b %d, %Y'
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/docs/doxygen.cfg.in
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang-tools-extra/docs/doxygen.cfg.in
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/docs/doxygen.cfg.in
++@@ -1443,7 +1443,7 @@ MATHJAX_FORMAT         = HTML-CSS
++ # The default value is: http://cdn.mathjax.org/mathjax/latest.
++ # This tag requires that the tag USE_MATHJAX is set to YES.
++ 
++-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+++MATHJAX_RELPATH        = /usr/share/javascript/mathjax
++ 
++ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
++ # extension names that should be enabled during MathJax rendering. For example
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/analyzer/conf.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/analyzer/conf.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/analyzer/conf.py
++@@ -123,6 +123,9 @@ html_theme = 'haiku'
++ # so a file named "default.css" will overwrite the builtin "default.css".
++ html_static_path = ['_static']
++ 
+++# Use Debian-provided MathJax
+++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
+++
++ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
++ # using the given strftime format.
++ #html_last_updated_fmt = '%b %d, %Y'
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/conf.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/conf.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/conf.py
++@@ -124,6 +124,9 @@ html_theme = 'haiku'
++ # so a file named "default.css" will overwrite the builtin "default.css".
++ html_static_path = ['_static']
++ 
+++# Use Debian-provided MathJax
+++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
+++
++ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
++ # using the given strftime format.
++ #html_last_updated_fmt = '%b %d, %Y'
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/doxygen.cfg.in
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/doxygen.cfg.in
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/doxygen.cfg.in
++@@ -1432,7 +1432,7 @@ MATHJAX_FORMAT         = HTML-CSS
++ # The default value is: http://cdn.mathjax.org/mathjax/latest.
++ # This tag requires that the tag USE_MATHJAX is set to YES.
++ 
++-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+++MATHJAX_RELPATH        = /usr/share/javascript/mathjax
++ 
++ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
++ # extension names that should be enabled during MathJax rendering. For example
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/docs/doxygen.cfg.in
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/docs/doxygen.cfg.in
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/docs/doxygen.cfg.in
++@@ -1433,7 +1433,7 @@ MATHJAX_FORMAT         = HTML-CSS
++ # The default value is: http://cdn.mathjax.org/mathjax/latest.
++ # This tag requires that the tag USE_MATHJAX is set to YES.
++ 
++-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+++MATHJAX_RELPATH        = /usr/share/javascript/mathjax
++ 
++ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
++ # extension names that should be enabled during MathJax rendering. For example
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/polly/docs/doxygen.cfg.in
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/polly/docs/doxygen.cfg.in
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/polly/docs/doxygen.cfg.in
++@@ -1433,7 +1433,7 @@ MATHJAX_FORMAT         = HTML-CSS
++ # The default value is: http://cdn.mathjax.org/mathjax/latest.
++ # This tag requires that the tag USE_MATHJAX is set to YES.
++ 
++-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+++MATHJAX_RELPATH        = /usr/share/javascript/mathjax
++ 
++ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
++ # extension names that should be enabled during MathJax rendering. For example
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ba7f098b149d48b0d60204bd46964371b2a20766
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++Index: llvm-toolchain-snapshot_10~+201911111222550800646d927175e/clang/lib/Basic/Version.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+201911111222550800646d927175e.orig/clang/lib/Basic/Version.cpp
+++++ llvm-toolchain-snapshot_10~+201911111222550800646d927175e/clang/lib/Basic/Version.cpp
++@@ -14,6 +14,7 @@
++ #include "clang/Basic/LLVM.h"
++ #include "clang/Config/config.h"
++ #include "llvm/Support/raw_ostream.h"
+++#include "clang/Debian/debian_path.h"
++ #include <cstdlib>
++ #include <cstring>
++ 
++@@ -124,7 +125,7 @@ std::string getClangToolFullVersion(Stri
++ #ifdef CLANG_VENDOR
++   OS << CLANG_VENDOR;
++ #endif
++-  OS << ToolName << " version " CLANG_VERSION_STRING " "
+++  OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION " "
++      << getClangFullRepositoryVersion();
++ 
++   return OS.str();
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e3ca0aea5e410ed5e6b0f449d50de22d6cef894a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,211 @@@
++---
++ clang/include/clang/Basic/Builtins.def                    |    8 +-
++ clang/lib/AST/Decl.cpp                                    |   12 +--
++ clang/lib/Sema/SemaChecking.cpp                           |   11 +-
++ clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp |    6 -
++ clang/test/Sema/builtins.c                                |   11 +-
++ clang/test/Sema/warn-strlcpycat-size.c                    |   55 --------------
++ 6 files changed, 25 insertions(+), 78 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/include/clang/Basic/Builtins.def
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/include/clang/Basic/Builtins.def
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/include/clang/Basic/Builtins.def
++@@ -546,8 +546,8 @@ BUILTIN(__builtin___memset_chk, "v*v*izz
++ BUILTIN(__builtin___stpcpy_chk, "c*c*cC*z", "nF")
++ BUILTIN(__builtin___strcat_chk, "c*c*cC*z", "nF")
++ BUILTIN(__builtin___strcpy_chk, "c*c*cC*z", "nF")
++-BUILTIN(__builtin___strlcat_chk, "zc*cC*zz", "nF")
++-BUILTIN(__builtin___strlcpy_chk, "zc*cC*zz", "nF")
+++//BUILTIN(__builtin___strlcat_chk, "zc*cC*zz", "nF")
+++//BUILTIN(__builtin___strlcpy_chk, "zc*cC*zz", "nF")
++ BUILTIN(__builtin___strncat_chk, "c*c*cC*zz", "nF")
++ BUILTIN(__builtin___strncpy_chk, "c*c*cC*zz", "nF")
++ BUILTIN(__builtin___stpncpy_chk, "c*c*cC*zz", "nF")
++@@ -1011,8 +1011,8 @@ LIBBUILTIN(getcontext, "iK*",     "fj",
++ LIBBUILTIN(_longjmp, "vJi",       "fr",    "setjmp.h", ALL_GNU_LANGUAGES)
++ LIBBUILTIN(siglongjmp, "vSJi",    "fr",    "setjmp.h", ALL_GNU_LANGUAGES)
++ // non-standard but very common
++-LIBBUILTIN(strlcpy, "zc*cC*z",    "f",     "string.h", ALL_GNU_LANGUAGES)
++-LIBBUILTIN(strlcat, "zc*cC*z",    "f",     "string.h", ALL_GNU_LANGUAGES)
+++//LIBBUILTIN(strlcpy, "zc*cC*z",    "f",     "string.h", ALL_GNU_LANGUAGES)
+++//LIBBUILTIN(strlcat, "zc*cC*z",    "f",     "string.h", ALL_GNU_LANGUAGES)
++ //   id objc_msgSend(id, SEL, ...)
++ LIBBUILTIN(objc_msgSend, "GGH.",   "f",     "objc/message.h", OBJC_LANG)
++ // long double objc_msgSend_fpret(id self, SEL op, ...)
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/AST/Decl.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/AST/Decl.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/AST/Decl.cpp
++@@ -3817,13 +3817,13 @@ unsigned FunctionDecl::getMemoryFunction
++   case Builtin::BImemmove:
++     return Builtin::BImemmove;
++ 
++-  case Builtin::BIstrlcpy:
++-  case Builtin::BI__builtin___strlcpy_chk:
++-    return Builtin::BIstrlcpy;
+++//  case Builtin::BIstrlcpy:
+++//  case Builtin::BI__builtin___strlcpy_chk:
+++//    return Builtin::BIstrlcpy;
++ 
++-  case Builtin::BIstrlcat:
++-  case Builtin::BI__builtin___strlcat_chk:
++-    return Builtin::BIstrlcat;
+++//  case Builtin::BIstrlcat:
+++//  case Builtin::BI__builtin___strlcat_chk:
+++//    return Builtin::BIstrlcat;
++ 
++   case Builtin::BI__builtin_memcmp:
++   case Builtin::BImemcmp:
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Sema/SemaChecking.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Sema/SemaChecking.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Sema/SemaChecking.cpp
++@@ -335,8 +335,8 @@ void Sema::checkFortifiedBuiltinMemoryFu
++   case Builtin::BI__builtin___memcpy_chk:
++   case Builtin::BI__builtin___memmove_chk:
++   case Builtin::BI__builtin___memset_chk:
++-  case Builtin::BI__builtin___strlcat_chk:
++-  case Builtin::BI__builtin___strlcpy_chk:
+++//  case Builtin::BI__builtin___strlcat_chk:
+++//  case Builtin::BI__builtin___strlcpy_chk:
++   case Builtin::BI__builtin___strncat_chk:
++   case Builtin::BI__builtin___strncpy_chk:
++   case Builtin::BI__builtin___stpncpy_chk:
++@@ -4404,9 +4404,10 @@ bool Sema::CheckFunctionCall(FunctionDec
++     return false;
++ 
++   // Handle memory setting and copying functions.
++-  if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat)
++-    CheckStrlcpycatArguments(TheCall, FnInfo);
++-  else if (CMId == Builtin::BIstrncat)
+++//  if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat)
+++//    CheckStrlcpycatArguments(TheCall, FnInfo);
+++//  else
+++  if (CMId == Builtin::BIstrncat)
++     CheckStrncatArguments(TheCall, FnInfo);
++   else
++     CheckMemaccessArguments(TheCall, CMId, FnInfo);
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
++@@ -398,9 +398,9 @@ GenericTaintChecker::TaintPropagationRul
++     case Builtin::BIstrncpy:
++     case Builtin::BIstrncat:
++       return TaintPropagationRule({1, 2}, {0, ReturnValueIndex});
++-    case Builtin::BIstrlcpy:
++-    case Builtin::BIstrlcat:
++-      return TaintPropagationRule({1, 2}, {0});
+++//    case Builtin::BIstrlcpy:
+++//    case Builtin::BIstrlcat:
+++//      return TaintPropagationRule({1, 2}, {0});
++     case Builtin::BIstrndup:
++       return TaintPropagationRule({0, 1}, {ReturnValueIndex});
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/Sema/builtins.c
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/test/Sema/builtins.c
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/Sema/builtins.c
++@@ -199,11 +199,9 @@ void test18() {
++ 
++   ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src), sizeof(dst));
++   result = __builtin___strlcpy_chk(dst, src, sizeof(dst), sizeof(dst));
++-  result = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst));
++ 
++   ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src));      // expected-error {{too few arguments to function call}}
++   ptr = __builtin___strlcpy_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}}
++-  ptr = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}}
++ }
++ 
++ void no_ms_builtins() {
++@@ -217,29 +215,6 @@ void unavailable() {
++   __builtin_operator_delete(0); // expected-error {{'__builtin_operator_delete' is only available in C++}}
++ }
++ 
++-// rdar://18259539
++-size_t strlcpy(char * restrict dst, const char * restrict src, size_t size);
++-size_t strlcat(char * restrict dst, const char * restrict src, size_t size);
++-
++-void Test19(void)
++-{
++-        static char b[40];
++-        static char buf[20];
++-
++-        strlcpy(buf, b, sizeof(b)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} \\
++-                                    // expected-note {{change size argument to be the size of the destination}}
++-        __builtin___strlcpy_chk(buf, b, sizeof(b), __builtin_object_size(buf, 0)); // expected-warning {{size argument in '__builtin___strlcpy_chk' call appears to be size of the source; expected the size of the destination}} \
++-                                    // expected-note {{change size argument to be the size of the destination}} \
++-                                 // expected-warning {{'strlcpy' will always overflow; destination buffer has size 20, but size argument is 40}}
++-
++-        strlcat(buf, b, sizeof(b)); // expected-warning {{size argument in 'strlcat' call appears to be size of the source; expected the size of the destination}} \
++-                                    // expected-note {{change size argument to be the size of the destination}}
++-                                 
++-        __builtin___strlcat_chk(buf, b, sizeof(b), __builtin_object_size(buf, 0)); // expected-warning {{size argument in '__builtin___strlcat_chk' call appears to be size of the source; expected the size of the destination}} \
++-                                                                                   // expected-note {{change size argument to be the size of the destination}} \
++-                                                                                // expected-warning {{'strlcat' will always overflow; destination buffer has size 20, but size argument is 40}}
++-}
++-
++ // rdar://11076881
++ char * Test20(char *p, const char *in, unsigned n)
++ {
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/Sema/warn-strlcpycat-size.c
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/test/Sema/warn-strlcpycat-size.c
+++++ /dev/null
++@@ -1,55 +0,0 @@
++-// RUN: %clang_cc1 -Wstrlcpy-strlcat-size -verify -fsyntax-only %s
++-
++-typedef __SIZE_TYPE__ size_t;
++-size_t strlcpy (char * restrict dst, const char * restrict src, size_t size);
++-size_t strlcat (char * restrict dst, const char * restrict src, size_t size);
++-size_t strlen (const char *s);
++-
++-char s1[100];
++-char s2[200];
++-char * s3;
++-
++-struct {
++-  char f1[100];
++-  char f2[100][3];
++-} s4, **s5;
++-
++-int x;
++-
++-void f(void)
++-{
++-  strlcpy(s1, s2, sizeof(s1)); // no warning
++-  strlcpy(s1, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
++-  strlcpy(s1, s3, strlen(s3)+1); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
++-  strlcat(s2, s3, sizeof(s3)); // expected-warning {{size argument in 'strlcat' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
++-  strlcpy(s4.f1, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
++-  strlcpy((*s5)->f2[x], s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
++-  strlcpy(s1+3, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}}
++-}
++-
++-// Don't issue FIXIT for flexible arrays.
++-struct S {
++-  int y; 
++-  char x[];
++-};
++-
++-void flexible_arrays(struct S *s) {
++-  char str[] = "hi";
++-  strlcpy(s->x, str, sizeof(str));  // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}}
++-}
++-
++-// Don't issue FIXIT for destinations of size 1.
++-void size_1() {
++-  char z[1];
++-  char str[] = "hi";
++-
++-  strlcpy(z, str, sizeof(str));  // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}}
++-}
++-
++-// Support VLAs.
++-void vlas(int size) {
++-  char z[size];
++-  char str[] = "hi";
++-
++-  strlcpy(z, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
++-}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..66f0bf0a6780c15e93488b7f4f5f1e97a264ea9f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++Description: set correct float abi settings for armel and armhf
++ debian armel supports systems that don't have a fpu so should use a "float abi"
++ setting of soft by default.
++ 
++ Debian armhf needs a float abi setting of "hard"
++Author: Peter Michael Green <plugwash@debian.org>
++
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: <vendor|upstream|other>, <url of original patch>
++Bug: <url in upstream bugtracker>
++Bug-Debian: http://bugs.debian.org/<bugnumber>
++Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
++Forwarded: <no|not-needed|url proving that it has been forwarded>
++Reviewed-By: <name and email of someone who approved the patch>
++Last-Update: <YYYY-MM-DD>
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/ARM.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Arch/ARM.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/ARM.cpp
++@@ -250,7 +250,7 @@ arm::FloatABI arm::getARMFloatABI(const
++       case llvm::Triple::MuslEABI:
++       case llvm::Triple::EABI:
++         // EABI is always AAPCS, and if it was not marked 'hard', it's softfp
++-        ABI = FloatABI::SoftFP;
+++        ABI = FloatABI::Soft;
++         break;
++       case llvm::Triple::Android:
++         ABI = (SubArch >= 7) ? FloatABI::SoftFP : FloatABI::Soft;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4fe5dbbac2120940016f32592f5b43084f946a7c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Triple.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp
++@@ -1646,7 +1646,7 @@ StringRef Triple::getARMCPUForArch(Strin
++     case llvm::Triple::EABIHF:
++     case llvm::Triple::GNUEABIHF:
++     case llvm::Triple::MuslEABIHF:
++-      return "arm1176jzf-s";
+++      return "cortex-a7";
++     default:
++       return "arm7tdmi";
++     }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8a844108b2df355f536bd111732cf0dec7e2b579
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,38 @@@
++Origin: https://reviews.llvm.org/D67877
++Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941082
++
++Index: llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f/clang/lib/Analysis/plugins/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f.orig/clang/lib/Analysis/plugins/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f/clang/lib/Analysis/plugins/CMakeLists.txt
++@@ -1,4 +1,4 @@
++-if(CLANG_ENABLE_STATIC_ANALYZER AND LLVM_ENABLE_PLUGINS)
+++if(CLANG_ENABLE_STATIC_ANALYZER AND LLVM_ENABLE_PLUGINS AND CLANG_BUILD_EXAMPLES)
++   add_subdirectory(SampleAnalyzer)
++   add_subdirectory(CheckerDependencyHandling)
++   add_subdirectory(CheckerOptionHandling)
++Index: llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f/clang/test/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f.orig/clang/test/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f/clang/test/CMakeLists.txt
++@@ -126,14 +126,12 @@ if( NOT CLANG_BUILT_STANDALONE )
++   endif()
++ endif()
++ 
++-if (CLANG_ENABLE_STATIC_ANALYZER)
++-  if (LLVM_ENABLE_PLUGINS)
++-    list(APPEND CLANG_TEST_DEPS
++-      SampleAnalyzerPlugin
++-      CheckerDependencyHandlingAnalyzerPlugin
++-      CheckerOptionHandlingAnalyzerPlugin
++-      )
++-  endif()
+++if (CLANG_ENABLE_STATIC_ANALYZER AND CLANG_BUILD_EXAMPLES AND LLVM_ENABLE_PLUGINS)
+++  list(APPEND CLANG_TEST_DEPS
+++    SampleAnalyzerPlugin
+++    CheckerDependencyHandlingAnalyzerPlugin
+++    CheckerOptionHandlingAnalyzerPlugin
+++    )
++ endif()
++ 
++ # Copy gen_ast_dump_json_test.py to the clang build dir. This allows invoking
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bbece316b17413d7b577fbb9148d8300793bdb33
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++---
++ clang/lib/Basic/Targets.cpp           |   14 ++++++++++++++
++ clang/test/CodeGen/linux-arm-atomic.c |   10 ++++++++++
++ 2 files changed, 24 insertions(+)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/CodeGen/linux-arm-atomic.c
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/test/CodeGen/linux-arm-atomic.c
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/CodeGen/linux-arm-atomic.c
++@@ -1,5 +1,15 @@
++ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s
++ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s
+++
+++typedef int _Atomic_word;
+++_Atomic_word exchange_and_add(volatile _Atomic_word *__mem, int __val) {
+++  return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL);
+++}
+++
+++// CHECK: define {{.*}} @exchange_and_add
+++// CHECK: atomicrmw {{.*}} add
+++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s
+++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s
++ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=thumbv7-unknown-linux | FileCheck %s
++ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-freebsd | FileCheck %s
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0d02d87380442c9139c3a05e6c5f81e20c4ab737
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,41 @@@
++When doing a bootstrap, we use a newly built clang.
++When this one is used, if already installed on the system,
++we have clang header in two places:
++llvm-toolchain-7-7/build-llvm/lib/clang/7.0.0/include/inttypes.h
++and
++/usr/include/clang/7.0.0/include/inttypes.h
++
++Because clang expects only one of his headers to be available, it uses
++include_next to get the glibc (libc6-dev package) header.
++
++However, in the previous example, because we have inttypes.h twice in the
++include search path, clang's header will call itself without any effect.
++Therefore, it will do include_next until the define from the libc is existing (ex: _INTTYPES_H)
++
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/inttypes.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Headers/inttypes.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/inttypes.h
++@@ -6,7 +6,7 @@
++  *
++ \*===----------------------------------------------------------------------===*/
++ 
++-#ifndef __CLANG_INTTYPES_H
+++#if !defined(__CLANG_INTTYPES_H) || !defined(_INTTYPES_H)
++ // AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T
++ // is defined until an inclusion of it without _STD_TYPES_T occurs, in which
++ // case the header guard macro is defined.
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/limits.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Headers/limits.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/limits.h
++@@ -6,7 +6,7 @@
++  *
++ \*===----------------------------------------------------------------------===*/
++ 
++-#ifndef __CLANG_LIMITS_H
+++#if !defined(__CLANG_LIMITS_H) || !defined(_LIBC_LIMITS_H_)
++ #define __CLANG_LIMITS_H
++ 
++ /* The system's limits.h may, in turn, try to #include_next GCC's limits.h.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..592e35a0630536cf7ac9029bb178a43882dd91ee
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++# Force the version of clang in the analyzer
++# This was causing the static analyzer to fail silently if the clang & clang++ are
++# not installed
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-build/libexec/ccc-analyzer
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/scan-build/libexec/ccc-analyzer
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-build/libexec/ccc-analyzer
++@@ -90,7 +90,7 @@ if ($FindBin::Script =~ /c\+\+-analyzer/
++   if (!defined $Compiler || (! -x $Compiler && ! SearchInPath($Compiler))) { $Compiler = $DefaultCXXCompiler; }
++ 
++   $Clang = $ENV{'CLANG_CXX'};
++-  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++'; }
+++  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-10'; }
++ 
++   $IsCXX = 1
++ }
++@@ -99,7 +99,7 @@ else {
++   if (!defined $Compiler || (! -x $Compiler && ! SearchInPath($Compiler))) { $Compiler = $DefaultCCompiler; }
++ 
++   $Clang = $ENV{'CLANG'};
++-  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang'; }
+++  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-10'; }
++ 
++   $IsCXX = 0
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9e7fd4e57e86b3b48136947d9fa99596be5b4c61
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,27 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/Support/ARMTargetParser.def
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/include/llvm/Support/ARMTargetParser.def
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/Support/ARMTargetParser.def
++@@ -76,7 +76,7 @@ ARM_ARCH("armv6kz", ARMV6KZ, "6KZ", "v6k
++ ARM_ARCH("armv6-m", ARMV6M, "6-M", "v6m", ARMBuildAttrs::CPUArch::v6_M,
++           FK_NONE, ARM::AEK_NONE)
++ ARM_ARCH("armv7-a", ARMV7A, "7-A", "v7", ARMBuildAttrs::CPUArch::v7,
++-          FK_NEON, ARM::AEK_DSP)
+++          FK_VFPV3_D16 /* Hard float */, ARM::AEK_DSP)
++ ARM_ARCH("armv7ve", ARMV7VE, "7VE", "v7ve", ARMBuildAttrs::CPUArch::v7,
++           FK_NEON, (ARM::AEK_SEC | ARM::AEK_MP | ARM::AEK_VIRT |
++           ARM::AEK_HWDIVARM | ARM::AEK_HWDIVTHUMB | ARM::AEK_DSP))
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/ARM/ARM.td
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Target/ARM/ARM.td
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/ARM/ARM.td
++@@ -673,7 +673,8 @@ def ARMv6sm   : Architecture<"armv6s-m",
++                                                        FeatureStrictAlign]>;
++ 
++ def ARMv7a    : Architecture<"armv7-a",   "ARMv7a",   [HasV7Ops,
++-                                                       FeatureNEON,
+++                                                       FeatureVFP3,
+++                                                       FeatureVFP3_D16,
++                                                        FeatureDB,
++                                                        FeatureDSP,
++                                                        FeatureAClass]>;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e1cb9d5ebcb7e1c0fcd3d7f1e26422597f0e6ba9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/X86.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Arch/X86.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/X86.cpp
++@@ -101,8 +101,8 @@ const char *x86::getX86TargetCPU(const A
++   case llvm::Triple::Haiku:
++     return "i586";
++   default:
++-    // Fallback to p4.
++-    return "pentium4";
+++    // Fallback to i686.
+++    return "i686";
++   }
++ }
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ef089e31bd595a6727a4afc231ee39f752f6d485
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,45 @@@
++---
++ clang/tools/clang-format/clang-format-diff.py |    2 +-
++ clang/tools/clang-format/clang-format.el      |    2 +-
++ clang/tools/clang-format/clang-format.py      |    2 +-
++ 3 files changed, 3 insertions(+), 3 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format-diff.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/clang-format/clang-format-diff.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format-diff.py
++@@ -54,7 +54,7 @@ def main():
++   parser.add_argument('-style',
++                       help='formatting style to apply (LLVM, Google, Chromium, '
++                       'Mozilla, WebKit)')
++-  parser.add_argument('-binary', default='clang-format',
+++  parser.add_argument('-binary', default='clang-format-10',
++                       help='location of binary to use for clang-format')
++   args = parser.parse_args()
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format.el
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/clang-format/clang-format.el
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format.el
++@@ -37,7 +37,7 @@
++   :group 'tools)
++ 
++ (defcustom clang-format-executable
++-  (or (executable-find "clang-format")
+++  (or (executable-find "clang-format-10")
++       "clang-format")
++   "Location of the clang-format executable.
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/clang-format/clang-format.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format.py
++@@ -36,7 +36,7 @@ import vim
++ 
++ # set g:clang_format_path to the path to clang-format if it is not on the path
++ # Change this to the full path if clang-format is not on the path.
++-binary = 'clang-format'
+++binary = 'clang-format-10'
++ if vim.eval('exists("g:clang_format_path")') == "1":
++   binary = vim.eval('g:clang_format_path')
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..024ce8678390cc371935f706ff51c600c91241c4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
++@@ -180,10 +180,10 @@ def main():
++                                    'clang-tidy and clang-apply-replacements in '
++                                    '$PATH.')
++   parser.add_argument('-clang-tidy-binary', metavar='PATH',
++-                      default='clang-tidy',
+++                      default='clang-tidy-10',
++                       help='path to clang-tidy binary')
++   parser.add_argument('-clang-apply-replacements-binary', metavar='PATH',
++-                      default='clang-apply-replacements',
+++                      default='clang-apply-replacements-10',
++                       help='path to clang-apply-replacements binary')
++   parser.add_argument('-checks', default=None,
++                       help='checks filter, when not specified, use clang-tidy '
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..80b8cb0b3255d7fcf9da26311003c1504c0f75cd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++commit ca467542eecfc621eea7fefb3c7e3849c6b43ac7
++Author: Sylvestre Ledru <sylvestre@debian.org>
++Date:   Fri May 29 09:13:08 2020 +0200
++
++    [CMake] Pass CLANG_VENDOR variables into later stages
++    
++    We are already passing CLANG_VERSION_* & PACKAGE_VENDOR
++
++diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
++index 7dadc5f6e91..5a5e34aacbe 100644
++--- a/clang/CMakeLists.txt
+++++ b/clang/CMakeLists.txt
++@@ -711,6 +711,7 @@ if (CLANG_ENABLE_BOOTSTRAP)
++     CLANG_VERSION_MAJOR
++     CLANG_VERSION_MINOR
++     CLANG_VERSION_PATCHLEVEL
+++    CLANG_VENDOR
++     LLVM_VERSION_SUFFIX
++     LLVM_BINUTILS_INCDIR
++     CLANG_REPOSITORY_STRING
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..20426512b930ccf20530dd1e701f140a65f72e92
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/clangd/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang-tools-extra/clangd/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/clangd/CMakeLists.txt
++@@ -34,6 +34,11 @@ if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
++   list(APPEND CLANGD_ATOMIC_LIB "atomic")
++ endif()
++ 
+++if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i386" OR
+++   CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686")
+++  list(APPEND CLANGD_ATOMIC_LIB "atomic")
+++endif()
+++
++ add_clang_library(clangDaemon
++   AST.cpp
++   Cancellation.cpp
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..035d2037ea38132b565c4219f7c934c4b1323fa0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp
++@@ -300,8 +300,8 @@ bool PerfJITEventListener::InitDebugging
++   // search for location to dump data to
++   if (const char *BaseDir = getenv("JITDUMPDIR"))
++     Path.append(BaseDir);
++-  else if (!sys::path::home_directory(Path))
++-    Path = ".";
+++  else
+++    sys::path::system_temp_directory(/*ErasedOnReboot*/ true, Path);
++ 
++   // create debug directory
++   Path += "/.debug/jit/";
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..770048ed3c6365c5aabc27f51ac90353dda2db99
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++---
++ lib/Support/Unix/Memory.inc |    2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Memory.inc
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Unix/Memory.inc
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Memory.inc
++@@ -256,7 +256,7 @@ void Memory::InvalidateInstructionCache(
++   // FIXME: Can we safely always call this for __GNUC__ everywhere?
++   const char *Start = static_cast<const char *>(Addr);
++   const char *End = Start + Len;
++-  __clear_cache(const_cast<char *>(Start), const_cast<char *>(End));
+++  __builtin___clear_cache(const_cast<char *>(Start), const_cast<char *>(End));
++ #  endif
++ 
++ #endif  // end apple
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..90994b6d2ad6e104cbb90de6c2c9ba55275d1a7e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/third_party/Python/module/unittest2/unittest2/runner.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/third_party/Python/module/unittest2/unittest2/runner.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/third_party/Python/module/unittest2/unittest2/runner.py
++@@ -174,9 +174,9 @@ class TextTestRunner(unittest.TextTestRu
++         if hasattr(result, 'separator2'):
++             self.stream.writeln(result.separator2)
++         run = result.testsRun
++-        self.stream.writeln("Ran %d test%s in %.3fs" %
++-                            (run, run != 1 and "s" or "", timeTaken))
++-        self.stream.writeln()
+++#        self.stream.writeln("Ran %d test%s in %.3fs" %
+++#                            (run, run != 1 and "s" or "", timeTaken))
+++#        self.stream.writeln()
++ 
++         expectedFails = unexpectedSuccesses = skipped = passed = failed = errored = 0
++         try:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5ef14608826966123f3e6aeb3f725edf1332c03a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/xray/xray_tsc.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/xray/xray_tsc.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/xray/xray_tsc.h
++@@ -82,8 +82,6 @@ inline uint64_t getTSCFrequency() XRAY_N
++ 
++ } // namespace __xray
++ 
++-#else
++-#error Target architecture is not supported.
++ #endif // CPU architecture
++ #endif // SANITIZER_FUCHSIA
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4f0c97b3c7afe49a5cd0915ced4d54943e202a9d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,30 @@@
++Index: llvm-toolchain-10-10.0.0~+rc2/compiler-rt/lib/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-10-10.0.0~+rc2.orig/compiler-rt/lib/CMakeLists.txt
+++++ llvm-toolchain-10-10.0.0~+rc2/compiler-rt/lib/CMakeLists.txt
++@@ -57,5 +57,8 @@ if(COMPILER_RT_BUILD_XRAY)
++ endif()
++ 
++ if(COMPILER_RT_BUILD_LIBFUZZER)
++-  compiler_rt_build_runtime(fuzzer)
+++  if(NOT(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i386" OR CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686"))
+++      # Disabled because of https://bugs.llvm.org/show_bug.cgi?id=43677
+++      compiler_rt_build_runtime(fuzzer)
+++    endif()
++ endif()
++Index: llvm-toolchain-10-10.0.0~+rc2/compiler-rt/test/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-10-10.0.0~+rc2.orig/compiler-rt/test/CMakeLists.txt
+++++ llvm-toolchain-10-10.0.0~+rc2/compiler-rt/test/CMakeLists.txt
++@@ -55,7 +55,10 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS)
++ 
++     # OpenBSD not supporting asan, cannot run the tests
++     if(COMPILER_RT_BUILD_LIBFUZZER AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD" AND NOT ANDROID)
++-      compiler_rt_test_runtime(fuzzer)
+++      if(NOT(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i386" OR CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686"))
+++        # Disabled because of https://bugs.llvm.org/show_bug.cgi?id=43677
+++        compiler_rt_test_runtime(fuzzer)
+++      endif()
++     endif()
++ 
++     foreach(sanitizer ${COMPILER_RT_SANITIZERS_TO_BUILD})
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9a4f7312fe50cfc0b59c97af332611700aafe816
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++Index: llvm-toolchain-9-9/lldb/utils/lit-cpuid/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-9-9.orig/lldb/utils/lit-cpuid/CMakeLists.txt
+++++ llvm-toolchain-9-9/lldb/utils/lit-cpuid/CMakeLists.txt
++@@ -1,4 +1,4 @@
++-add_llvm_utility(lit-cpuid
+++add_lldb_executable(lit-cpuid
++   lit-cpuid.cpp
++   )
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa800ea9a9118eaab07a3c867701c60f05369cd0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++Description: Silent a test failing on yakkety amd64
++ /tmp/buildd/llvm-toolchain-snapshot-4.0~svn279801/llvm/test/tools/llvm-symbolizer/print_context.c:16:11: error: expected string not found in input
++ // CHECK: inc
++          ^
++ <stdin>:1:1: note: scanning from here
++ _fini
++ ^
++ <stdin>:1:3: note: possible intended match here
++ _fini
++  ^
++Author: Sylvestre <sylvestre@debian.org>
++Last-Update: 2016-08-26
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-symbolizer/print_context.c
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/llvm-symbolizer/print_context.c
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-symbolizer/print_context.c
++@@ -18,6 +18,7 @@ int main() {
++ // Inputs/print_context.o built with plain -g -c from this source file
++ // Specifying -Xclang -fdebug-compilation-dir -Xclang . to make the debug info
++ // location independent.
+++// XFAIL: *
++ 
++ // CHECK: inc
++ // CHECK: print_context.c:3
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..831211ea3c26b74633a58a2958ba9e242c5294ac
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/Support/Path.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/unittests/Support/Path.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/Support/Path.cpp
++@@ -447,7 +447,7 @@ protected:
++     sys::path::append(NonExistantFile, "1B28B495C16344CB9822E588CD4C3EF0");
++   }
++ 
++-  void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); }
+++//  void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); }
++ };
++ 
++ TEST_F(FileSystemTest, Unique) {
++@@ -529,13 +529,13 @@ TEST_F(FileSystemTest, RealPath) {
++ 
++   // This can fail if $HOME is not set and getpwuid fails.
++   bool Result = llvm::sys::path::home_directory(HomeDir);
++-  if (Result) {
+++/*  if (Result) {
++     ASSERT_NO_ERROR(fs::real_path(HomeDir, Expected));
++     ASSERT_NO_ERROR(fs::real_path("~", Actual, true));
++     EXPECT_EQ(Expected, Actual);
++     ASSERT_NO_ERROR(fs::real_path("~/", Actual, true));
++     EXPECT_EQ(Expected, Actual);
++-  }
+++    }*/
++ 
++   ASSERT_NO_ERROR(fs::remove_directories(Twine(TestDirectory) + "/test1"));
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9a0f19cb23aacc8f8ed10216d506c6915437e568
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/include/clang/Basic/X86Target.def
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/include/clang/Basic/X86Target.def
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/include/clang/Basic/X86Target.def
++@@ -312,7 +312,7 @@ CPU_SPECIFIC("pentium_mmx", 'D', "+mmx")
++ CPU_SPECIFIC("pentium_ii", 'E', "+cmov,+mmx")
++ CPU_SPECIFIC("pentium_iii", 'H', "+cmov,+mmx,+sse")
++ CPU_SPECIFIC_ALIAS("pentium_iii_no_xmm_regs", "pentium_iii")
++-CPU_SPECIFIC("pentium_4", 'J', "+cmov,+mmx,+sse,+sse2")
+++CPU_SPECIFIC("pentium_4", 'J', "+cmov,+mmx,+sse")
++ CPU_SPECIFIC("pentium_m", 'K', "+cmov,+mmx,+sse,+sse2")
++ CPU_SPECIFIC("pentium_4_sse3", 'L', "+cmov,+mmx,+sse,+sse2,+sse3")
++ CPU_SPECIFIC("core_2_duo_ssse3", 'M', "+cmov,+mmx,+sse,+sse2,+sse3,+ssse3")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..264a2a769f542a696c255e72a1bb41fb1dbeb512
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/lit/lit/Test.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/utils/lit/lit/Test.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/lit/lit/Test.py
++@@ -32,7 +32,7 @@ PASS        = ResultCode('PASS', False)
++ FLAKYPASS   = ResultCode('FLAKYPASS', False)
++ XFAIL       = ResultCode('XFAIL', False)
++ FAIL        = ResultCode('FAIL', True)
++-XPASS       = ResultCode('XPASS', True)
+++XPASS       = ResultCode('XPASS', False)
++ UNRESOLVED  = ResultCode('UNRESOLVED', True)
++ UNSUPPORTED = ResultCode('UNSUPPORTED', False)
++ TIMEOUT     = ResultCode('TIMEOUT', True)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e2531a98910b5ade49eafe8a0d3c153b93b0a202
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Linux.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp
++@@ -12,6 +12,7 @@
++ #include "Arch/PPC.h"
++ #include "Arch/RISCV.h"
++ #include "CommonArgs.h"
+++#include "clang/Basic/Version.h"
++ #include "clang/Config/config.h"
++ #include "clang/Driver/Distro.h"
++ #include "clang/Driver/Driver.h"
++@@ -661,8 +662,18 @@ void Linux::AddClangSystemIncludeArgs(co
++   SmallString<128> ResourceDirInclude(D.ResourceDir);
++   llvm::sys::path::append(ResourceDirInclude, "include");
++   if (!DriverArgs.hasArg(options::OPT_nobuiltininc) &&
++-      (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc)))
++-    addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
+++      (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc))) {
+++      if (llvm::sys::fs::exists(ResourceDirInclude)) {
+++          /* Include the build include directory only
+++           * Otherwise, it fails with stage2 when clang headers are available on the system
+++           * they usually fail because of the include_next. Two llvm/clang headers are found
+++           * while we are waiting for the lib C++ (std or not)
+++           */
+++          addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
+++      } else {
+++          addSystemInclude(DriverArgs, CC1Args, "/usr/include/clang/" + std::string(CLANG_VERSION_STRING) + "/include/");
+++      }
+++  }
++ 
++   if (DriverArgs.hasArg(options::OPT_nostdlibinc))
++     return;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0b8d2c537f77123dc01baa29c36757240d9bb71d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++---
++ tools/llvm-config/llvm-config.cpp |    4 ++--
++ 1 file changed, 2 insertions(+), 2 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-config/llvm-config.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/tools/llvm-config/llvm-config.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-config/llvm-config.cpp
++@@ -560,9 +560,9 @@ int main(int argc, char **argv) {
++       } else if (Arg == "--shared-mode") {
++         PrintSharedMode = true;
++       } else if (Arg == "--obj-root") {
++-        OS << ActivePrefix << '\n';
+++        OS << ActivePrefix << "/build/" << '\n';
++       } else if (Arg == "--src-root") {
++-        OS << LLVM_SRC_ROOT << '\n';
+++        OS << ActivePrefix << "/build/" << '\n';
++       } else if (Arg == "--ignore-libllvm") {
++         LinkDyLib = false;
++         LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cd256895fd8e9e8f9ddd6c1e565648b2939f6b0b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-view/bin/scan-view
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/scan-view/bin/scan-view
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-view/bin/scan-view
++@@ -28,6 +28,7 @@ kDefaultPort = 8181
++ kMaxPortsToTry = 100
++ 
++ ###
+++BASE_DIR = '/usr/share/clang/scan-view-10'
++ 
++ 
++ def url_is_up(url):
++@@ -65,7 +66,7 @@ def start_browser(port, options):
++ 
++ def run(port, options, root):
++     # Prefer to look relative to the installed binary
++-    share = os.path.dirname(__file__) + "/../share/"
+++    share = os.path.join(BASE_DIR, 'share')
++     if not os.path.isdir(share):
++         # Otherwise look relative to the source
++         share = os.path.dirname(__file__) + "/../../scan-view/share"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..10bae8706ecef620b27b41392e39bb5af9199abe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/TableGen/CodeEmitterGen.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/utils/TableGen/CodeEmitterGen.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/TableGen/CodeEmitterGen.cpp
++@@ -396,6 +396,9 @@ void CodeEmitterGen::run(raw_ostream &o)
++   ArrayRef<const CodeGenInstruction*> NumberedInstructions =
++     Target.getInstructionsByEnumValue();
++ 
+++  o << "// Undef for HURD\n";
+++  o << "#ifdef EIEIO\n#undef EIEIO\n#endif\n";
+++
++   const CodeGenHwModes &HWM = Target.getHwModes();
++   // The set of HwModes used by instruction encodings.
++   std::set<unsigned> HwModes;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..457b472fbb5b04468c3daaf9bfd27b53deb59112
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,201 @@@
++hurd: find c++ headers
++
++This should be factorized with Linux.cpp and the GNU/kFreeBSD case.
++
++---
++ clang/lib/Driver/ToolChains/Hurd.cpp |  146 ++++++++++++++++++++++++++++++++++-
++ clang/lib/Driver/ToolChains/Hurd.h   |    3 
++ 2 files changed, 145 insertions(+), 4 deletions(-)
++
++--- a/clang/lib/Driver/ToolChains/Hurd.cpp
+++++ b/clang/lib/Driver/ToolChains/Hurd.cpp
++@@ -61,6 +61,15 @@ static StringRef getOSLibDir(const llvm:
++   return Triple.isArch32Bit() ? "lib" : "lib64";
++ }
++ 
+++static void addMultilibsFilePaths(const Driver &D, const MultilibSet &Multilibs,
+++                                  const Multilib &Multilib,
+++                                  StringRef InstallPath,
+++                                  ToolChain::path_list &Paths) {
+++  if (const auto &PathsCallback = Multilibs.filePathsCallback())
+++    for (const auto &Path : PathsCallback(Multilib))
+++      addPathIfExists(D, InstallPath + Path, Paths);
+++}
+++
++ Hurd::Hurd(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
++     : Generic_ELF(D, Triple, Args) {
++   std::string SysRoot = computeSysRoot();
++@@ -73,8 +82,61 @@ Hurd::Hurd(const Driver &D, const llvm::
++   ExtraOpts.push_back("--build-id");
++ #endif
++ 
++-  // If we are currently running Clang inside of the requested system root, add
++-  // its parent library paths to those searched.
+++  // Add the multilib suffixed paths where they are available.
+++  if (GCCInstallation.isValid()) {
+++    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
+++    const std::string &LibPath = GCCInstallation.getParentLibPath();
+++
+++    // Add toolchain / multilib specific file paths.
+++    addMultilibsFilePaths(D, Multilibs, SelectedMultilib,
+++                          GCCInstallation.getInstallPath(), Paths);
+++
+++    // Sourcery CodeBench MIPS toolchain holds some libraries under
+++    // a biarch-like suffix of the GCC installation.
+++    addPathIfExists(
+++        D, GCCInstallation.getInstallPath() + SelectedMultilib.gccSuffix(),
+++        Paths);
+++
+++    // GCC cross compiling toolchains will install target libraries which ship
+++    // as part of the toolchain under <prefix>/<triple>/<libdir> rather than as
+++    // any part of the GCC installation in
+++    // <prefix>/<libdir>/gcc/<triple>/<version>. This decision is somewhat
+++    // debatable, but is the reality today. We need to search this tree even
+++    // when we have a sysroot somewhere else. It is the responsibility of
+++    // whomever is doing the cross build targeting a sysroot using a GCC
+++    // installation that is *not* within the system root to ensure two things:
+++    //
+++    //  1) Any DSOs that are linked in from this tree or from the install path
+++    //     above must be present on the system root and found via an
+++    //     appropriate rpath.
+++    //  2) There must not be libraries installed into
+++    //     <prefix>/<triple>/<libdir> unless they should be preferred over
+++    //     those within the system root.
+++    //
+++    // Note that this matches the GCC behavior. See the below comment for where
+++    // Clang diverges from GCC's behavior.
+++    addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib/../" +
+++                           OSLibDir + SelectedMultilib.osSuffix(),
+++                    Paths);
+++
+++    // If the GCC installation we found is inside of the sysroot, we want to
+++    // prefer libraries installed in the parent prefix of the GCC installation.
+++    // It is important to *not* use these paths when the GCC installation is
+++    // outside of the system root as that can pick up unintended libraries.
+++    // This usually happens when there is an external cross compiler on the
+++    // host system, and a more minimal sysroot available that is the target of
+++    // the cross. Note that GCC does include some of these directories in some
+++    // configurations but this seems somewhere between questionable and simply
+++    // a bug.
+++    if (StringRef(LibPath).startswith(SysRoot)) {
+++      addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths);
+++      addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths);
+++    }
+++  }
+++
+++  // Similar to the logic for GCC above, if we currently running Clang inside
+++  // of the requested system root, add its parent library paths to
+++  // those searched.
++   // FIXME: It's not clear whether we should use the driver's installed
++   // directory ('Dir' below) or the ResourceDir.
++   if (StringRef(D.Dir).startswith(SysRoot)) {
++@@ -88,8 +150,40 @@ Hurd::Hurd(const Driver &D, const llvm::
++   addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
++   addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths);
++ 
++-  // If we are currently running Clang inside of the requested system root, add
++-  // its parent library path to those searched.
+++  // Try walking via the GCC triple path in case of biarch or multiarch GCC
+++  // installations with strange symlinks.
+++  if (GCCInstallation.isValid()) {
+++    addPathIfExists(D,
+++                    SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
+++                        "/../../" + OSLibDir,
+++                    Paths);
+++
+++    // Add the 'other' biarch variant path
+++    Multilib BiarchSibling;
+++    if (GCCInstallation.getBiarchSibling(BiarchSibling)) {
+++      addPathIfExists(D, GCCInstallation.getInstallPath() +
+++                             BiarchSibling.gccSuffix(),
+++                      Paths);
+++    }
+++
+++    // See comments above on the multilib variant for details of why this is
+++    // included even from outside the sysroot.
+++    const std::string &LibPath = GCCInstallation.getParentLibPath();
+++    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
+++    const Multilib &Multilib = GCCInstallation.getMultilib();
+++    addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib" +
+++                           Multilib.osSuffix(),
+++                    Paths);
+++
+++    // See comments above on the multilib variant for details of why this is
+++    // only included from within the sysroot.
+++    if (StringRef(LibPath).startswith(SysRoot))
+++      addPathIfExists(D, LibPath, Paths);
+++  }
+++
+++  // Similar to the logic for GCC above, if we are currently running Clang
+++  // inside of the requested system root, add its parent library path to those
+++  // searched.
++   // FIXME: It's not clear whether we should use the driver's installed
++   // directory ('Dir' below) or the ResourceDir.
++   if (StringRef(D.Dir).startswith(SysRoot))
++@@ -156,6 +250,17 @@ void Hurd::AddClangSystemIncludeArgs(con
++ 
++   // Lacking those, try to detect the correct set of system includes for the
++   // target triple.
+++
+++  // Add include directories specific to the selected multilib set and multilib.
+++  if (GCCInstallation.isValid()) {
+++    const auto &Callback = Multilibs.includeDirsCallback();
+++    if (Callback) {
+++      for (const auto &Path : Callback(GCCInstallation.getMultilib()))
+++        addExternCSystemIncludeIfExists(
+++            DriverArgs, CC1Args, GCCInstallation.getInstallPath() + Path);
+++    }
+++  }
+++
++   if (getTriple().getArch() == llvm::Triple::x86) {
++     std::string Path = SysRoot + "/usr/include/i386-gnu";
++     if (D.getVFS().exists(Path))
++@@ -174,3 +279,36 @@ void Hurd::addExtraOpts(llvm::opt::ArgSt
++   for (const auto &Opt : ExtraOpts)
++     CmdArgs.push_back(Opt.c_str());
++ }
+++
+++void Hurd::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
+++                                    llvm::opt::ArgStringList &CC1Args) const {
+++  // Try generic GCC detection first.
+++  if (Generic_GCC::addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args))
+++    return;
+++
+++  // We need a detected GCC installation on Hurd to provide libstdc++'s
+++  // headers.
+++  if (!GCCInstallation.isValid())
+++    return;
+++
+++  StringRef LibDir = GCCInstallation.getParentLibPath();
+++  StringRef TripleStr = GCCInstallation.getTriple().str();
+++  const Multilib &Multilib = GCCInstallation.getMultilib();
+++  const GCCVersion &Version = GCCInstallation.getVersion();
+++
+++  const std::string LibStdCXXIncludePathCandidates[] = {
+++      // Android standalone toolchain has C++ headers in yet another place.
+++      LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text,
+++      // Freescale SDK C++ headers are directly in <sysroot>/usr/include/c++,
+++      // without a subdirectory corresponding to the gcc version.
+++      LibDir.str() + "/../include/c++",
+++  };
+++
+++  for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
+++    if (addLibStdCXXIncludePaths(IncludePath, /*Suffix*/ "", TripleStr,
+++                                 /*GCCMultiarchTriple*/ "",
+++                                 /*TargetMultiarchTriple*/ "",
+++                                 Multilib.includeSuffix(), DriverArgs, CC1Args))
+++      break;
+++  }
+++}
++--- a/clang/lib/Driver/ToolChains/Hurd.h
+++++ b/clang/lib/Driver/ToolChains/Hurd.h
++@@ -26,6 +26,9 @@ public:
++   void
++   AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
++                             llvm::opt::ArgStringList &CC1Args) const override;
+++  void addLibStdCxxIncludePaths(
+++      const llvm::opt::ArgList &DriverArgs,
+++      llvm::opt::ArgStringList &CC1Args) const override;
++ 
++   std::string computeSysRoot() const;
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..faa9ba9155053c2361ce2d7bdd88466aa4183c5d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,49 @@@
++Index: llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/clang/lib/Basic/FileManager.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d.orig/clang/lib/Basic/FileManager.cpp
+++++ llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/clang/lib/Basic/FileManager.cpp
++@@ -526,6 +526,12 @@ FileManager::getNoncachedStatValue(Strin
++   return std::error_code();
++ }
++ 
+++// For GNU Hurd
+++#if defined(__GNU__) && !defined(PATH_MAX)
+++# define PATH_MAX 4096
+++#endif
+++
+++
++ void FileManager::GetUniqueIDMapping(
++                    SmallVectorImpl<const FileEntry *> &UIDToFiles) const {
++   UIDToFiles.clear();
++Index: llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/lldb/include/lldb/lldb-defines.h
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d.orig/lldb/include/lldb/lldb-defines.h
+++++ llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/lldb/include/lldb/lldb-defines.h
++@@ -27,6 +27,11 @@
++ #define INT32_MAX 2147483647
++ #endif
++ 
+++// For GNU Hurd
+++#if defined(__GNU__) && !defined(PATH_MAX)
+++# define PATH_MAX 4096
+++#endif
+++
++ #if !defined(UINT32_MAX)
++ #define UINT32_MAX 4294967295U
++ #endif
++Index: llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/polly/lib/External/ppcg/cuda_common.c
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d.orig/polly/lib/External/ppcg/cuda_common.c
+++++ llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/polly/lib/External/ppcg/cuda_common.c
++@@ -15,6 +15,11 @@
++ #include "cuda_common.h"
++ #include "ppcg.h"
++ 
+++// For GNU Hurd
+++#if defined(__GNU__) && !defined(PATH_MAX)
+++# define PATH_MAX 4096
+++#endif
+++
++ /* Open the host .cu file and the kernel .hu and .cu files for writing.
++  * Add the necessary includes.
++  */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ba9e4b3202795958b77c8e840ef3f70b4026e503
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++---
++ clang/tools/CMakeLists.txt |    1 +
++ 1 file changed, 1 insertion(+)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/CMakeLists.txt
++@@ -28,6 +28,7 @@ if(CLANG_ENABLE_STATIC_ANALYZER)
++   add_clang_subdirectory(clang-check)
++   add_clang_subdirectory(clang-extdef-mapping)
++   add_clang_subdirectory(scan-build)
+++  add_clang_subdirectory(scan-build-py)
++   add_clang_subdirectory(scan-view)
++ endif()
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5f739bd1294a0f768635e4f02d4be47392cada95
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/CMakeLists.txt
++@@ -867,7 +867,7 @@ if(LLVM_TARGET_IS_CROSSCOMPILE_HOST)
++ # (this is a variable that CrossCompile sets on recursive invocations)
++ endif()
++ 
++-if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
+++if( ${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)" AND NOT "kFreeBSD" )
++   # On FreeBSD, /usr/local/* is not used by default. In order to build LLVM
++   # with libxml2, iconv.h, etc., we must add /usr/local paths.
++   include_directories(SYSTEM "/usr/local/include")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1acf81d82d494bb93e640b18110b1961d9de3737
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,48 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Basic/Targets.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets.cpp
++@@ -470,8 +470,8 @@ TargetInfo *AllocateTarget(const llvm::T
++       return new OpenBSDI386TargetInfo(Triple, Opts);
++     case llvm::Triple::FreeBSD:
++       return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts);
++-    case llvm::Triple::KFreeBSD:
++-      return new KFreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts);
+++    case llvm::Triple::kFreeBSD:
+++      return new kFreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts);
++     case llvm::Triple::Minix:
++       return new MinixTargetInfo<X86_32TargetInfo>(Triple, Opts);
++     case llvm::Triple::Solaris:
++@@ -529,8 +529,8 @@ TargetInfo *AllocateTarget(const llvm::T
++       return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
++     case llvm::Triple::Fuchsia:
++       return new FuchsiaTargetInfo<X86_64TargetInfo>(Triple, Opts);
++-    case llvm::Triple::KFreeBSD:
++-      return new KFreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
+++    case llvm::Triple::kFreeBSD:
+++      return new kFreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
++     case llvm::Triple::Solaris:
++       return new SolarisTargetInfo<X86_64TargetInfo>(Triple, Opts);
++     case llvm::Triple::Win32: {
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets/OSTargets.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Basic/Targets/OSTargets.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets/OSTargets.h
++@@ -265,7 +265,7 @@ public:
++ 
++ // GNU/kFreeBSD Target
++ template <typename Target>
++-class LLVM_LIBRARY_VISIBILITY KFreeBSDTargetInfo : public OSTargetInfo<Target> {
+++class LLVM_LIBRARY_VISIBILITY kFreeBSDTargetInfo : public OSTargetInfo<Target> {
++ protected:
++   void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
++                     MacroBuilder &Builder) const override {
++@@ -282,7 +282,7 @@ protected:
++   }
++ 
++ public:
++-  KFreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
+++  kFreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
++       : OSTargetInfo<Target>(Triple, Opts) {}
++ };
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4f376484ec4d6d3b23fb284728cedd11bffd66ba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,374 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
++@@ -83,9 +83,14 @@
++ extern "C" {
++ // <sys/umtx.h> must be included after <errno.h> and <sys/types.h> on
++ // FreeBSD 9.2 and 10.0.
+++#if SANITIZER_KFREEBSD
+++#include <bsd/sys/cdefs.h>
+++#endif
++ #include <sys/umtx.h>
++ }
+++#if !SANITIZER_KFREEBSD
++ #include <sys/thr.h>
+++#endif
++ #endif  // SANITIZER_FREEBSD
++ 
++ #if SANITIZER_NETBSD
++@@ -461,10 +466,12 @@ bool FileExists(const char *filename) {
++ 
++ #if !SANITIZER_NETBSD
++ tid_t GetTid() {
++-#if SANITIZER_FREEBSD
+++#if SANITIZER_FREEBSD && !SANITIZER_KFREEBSD
++   long Tid;
++   thr_self(&Tid);
++   return Tid;
+++#elif SANITIZER_KFREEBSD
+++  return (uptr)pthread_self();
++ #elif SANITIZER_OPENBSD
++   return internal_syscall(SYSCALL(getthrid));
++ #elif SANITIZER_SOLARIS
++@@ -1148,10 +1155,10 @@ bool LibraryNameIs(const char *full_name
++ // Call cb for each region mapped by map.
++ void ForEachMappedRegion(link_map *map, void (*cb)(const void *, uptr)) {
++   CHECK_NE(map, nullptr);
++-#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD
+++#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD
++   typedef ElfW(Phdr) Elf_Phdr;
++   typedef ElfW(Ehdr) Elf_Ehdr;
++-#endif // !SANITIZER_FREEBSD && !SANITIZER_OPENBSD
+++#endif // !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD
++   char *base = (char *)map->l_addr;
++   Elf_Ehdr *ehdr = (Elf_Ehdr *)base;
++   char *phdrs = base + ehdr->e_phoff;
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
++@@ -36,10 +36,12 @@
++ #include <syslog.h>
++ 
++ #if SANITIZER_FREEBSD
++-#include <pthread_np.h>
+++# if !SANITIZER_KFREEBSD
+++# include <pthread_np.h>
+++# define pthread_getattr_np pthread_attr_get_np
+++# endif
++ #include <osreldate.h>
++ #include <sys/sysctl.h>
++-#define pthread_getattr_np pthread_attr_get_np
++ #endif
++ 
++ #if SANITIZER_OPENBSD
++@@ -525,9 +527,9 @@ void GetThreadStackAndTls(bool main, upt
++ #endif
++ }
++ 
++-#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD
+++#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD
++ typedef ElfW(Phdr) Elf_Phdr;
++-#elif SANITIZER_WORDSIZE == 32 && __FreeBSD_version <= 902001 // v9.2
+++#elif SANITIZER_WORDSIZE == 32 && !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2
++ #define Elf_Phdr XElf32_Phdr
++ #define dl_phdr_info xdl_phdr_info
++ #define dl_iterate_phdr(c, b) xdl_iterate_phdr((c), (b))
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
++@@ -15,7 +15,7 @@
++ #if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && \
++   !defined(__OpenBSD__) && !defined(__APPLE__) && !defined(_WIN32) && \
++   !defined(__Fuchsia__) && !defined(__rtems__) && \
++-  !(defined(__sun__) && defined(__svr4__))
+++  !(defined(__sun__) && defined(__svr4__)) && !defined(__FreeBSD_kernel__)
++ # error "This operating system is not supported"
++ #endif
++ 
++@@ -25,12 +25,18 @@
++ # define SANITIZER_LINUX   0
++ #endif
++ 
++-#if defined(__FreeBSD__)
+++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ # define SANITIZER_FREEBSD 1
++ #else
++ # define SANITIZER_FREEBSD 0
++ #endif
++ 
+++#if defined(__FreeBSD_kernel__)
+++# define SANITIZER_KFREEBSD 1
+++#else
+++# define SANITIZER_KFREEBSD 0
+++#endif
+++
++ #if defined(__NetBSD__)
++ # define SANITIZER_NETBSD 1
++ #else
++@@ -112,7 +118,8 @@
++ 
++ #define SANITIZER_POSIX \
++   (SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC || \
++-    SANITIZER_NETBSD || SANITIZER_OPENBSD || SANITIZER_SOLARIS)
+++    SANITIZER_NETBSD || SANITIZER_OPENBSD || SANITIZER_SOLARIS || \
+++    SANITIZER_KFREEBSD)
++ 
++ #if __LP64__ || defined(_WIN64)
++ #  define SANITIZER_WORDSIZE 64
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/asan/asan_linux.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/asan/asan_linux.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/asan/asan_linux.cpp
++@@ -37,7 +37,7 @@
++ #include <unistd.h>
++ #include <unwind.h>
++ 
++-#if SANITIZER_FREEBSD
+++#if SANITIZER_FREEBSD && !SANITIZER_KFREEBSD
++ #include <sys/link_elf.h>
++ #endif
++ 
++@@ -47,7 +47,11 @@
++ 
++ #if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
++ #include <ucontext.h>
+++#if SANITIZER_KFREEBSD
+++#include <link.h>
+++#else
++ extern "C" void* _DYNAMIC;
+++#endif
++ #elif SANITIZER_NETBSD
++ #include <link_elf.h>
++ #include <ucontext.h>
++@@ -60,7 +64,7 @@ extern Elf_Dyn _DYNAMIC;
++ // x86-64 FreeBSD 9.2 and older define 'ucontext_t' incorrectly in
++ // 32-bit mode.
++ #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) && \
++-  __FreeBSD_version <= 902001  // v9.2
+++  !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001  // v9.2
++ #define ucontext_t xucontext_t
++ #endif
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/ubsan/ubsan_platform.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/ubsan/ubsan_platform.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/ubsan/ubsan_platform.h
++@@ -14,7 +14,7 @@
++ 
++ // Other platforms should be easy to add, and probably work as-is.
++ #if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) ||        \
++-    defined(__NetBSD__) || defined(__OpenBSD__) || \
+++    defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || \
++     (defined(__sun__) && defined(__svr4__)) || \
++     defined(_WIN32) || defined(__Fuchsia__) || defined(__rtems__)
++ # define CAN_SANITIZE_UB 1
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S
++@@ -192,7 +192,7 @@ ASM_SYMBOL_INTERCEPTOR(setjmp):
++   // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)`
++ #if defined(__FreeBSD__) || defined(__NetBSD__)
++   lea 8(%rsp), %rdi
++-#elif defined(__linux__) || defined(__APPLE__)
+++#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__)
++   lea 16(%rsp), %rdi
++ #else
++ # error "Unknown platform"
++@@ -233,7 +233,7 @@ ASM_SYMBOL_INTERCEPTOR(_setjmp):
++   // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)`
++ #if defined(__FreeBSD__) || defined(__NetBSD__)
++   lea 8(%rsp), %rdi
++-#elif defined(__linux__) || defined(__APPLE__)
+++#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__)
++   lea 16(%rsp), %rdi
++ #else
++ # error "Unknown platform"
++@@ -281,7 +281,7 @@ ASM_SYMBOL_INTERCEPTOR(sigsetjmp):
++   // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)`
++ #if defined(__FreeBSD__) || defined(__NetBSD__)
++   lea 24(%rsp), %rdi
++-#elif defined(__linux__) || defined(__APPLE__)
+++#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__)
++   lea 32(%rsp), %rdi
++ #else
++ # error "Unknown platform"
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerDefs.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerDefs.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerDefs.h
++@@ -28,6 +28,7 @@
++ #define LIBFUZZER_LINUX 1
++ #define LIBFUZZER_NETBSD 0
++ #define LIBFUZZER_FREEBSD 0
+++#define LIBFUZZER_KFREEBSD 1
++ #define LIBFUZZER_OPENBSD 0
++ #define LIBFUZZER_WINDOWS 0
++ #elif __APPLE__
++@@ -54,6 +55,15 @@
++ #define LIBFUZZER_FREEBSD 1
++ #define LIBFUZZER_OPENBSD 0
++ #define LIBFUZZER_WINDOWS 0
+++#elif __FreeBSD_kernel__
+++#define LIBFUZZER_APPLE 0
+++#define LIBFUZZER_FUCHSIA 0
+++#define LIBFUZZER_LINUX 0
+++#define LIBFUZZER_NETBSD 0
+++#define LIBFUZZER_FREEBSD 0
+++#define LIBFUZZER_KFREEBSD 1
+++#define LIBFUZZER_OPENBSD 0
+++#define LIBFUZZER_WINDOWS 0
++ #elif __OpenBSD__
++ #define LIBFUZZER_APPLE 0
++ #define LIBFUZZER_FUCHSIA 0
++@@ -95,7 +105,7 @@
++ 
++ #define LIBFUZZER_POSIX                                                        \
++   (LIBFUZZER_APPLE || LIBFUZZER_LINUX || LIBFUZZER_NETBSD ||                   \
++-   LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD)
+++   LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD)
++ 
++ #ifdef __x86_64
++ #  if __has_attribute(target)
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
++@@ -133,7 +133,7 @@ size_t GetPeakRSSMb() {
++   if (getrusage(RUSAGE_SELF, &usage))
++     return 0;
++   if (LIBFUZZER_LINUX || LIBFUZZER_FREEBSD || LIBFUZZER_NETBSD ||
++-      LIBFUZZER_OPENBSD) {
+++      LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD) {
++     // ru_maxrss is in KiB
++     return usage.ru_maxrss >> 10;
++   } else if (LIBFUZZER_APPLE) {
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp
++@@ -11,7 +11,7 @@
++ #include "FuzzerDefs.h"
++ 
++ #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FREEBSD ||                \
++-    LIBFUZZER_OPENBSD
+++    LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD
++ __attribute__((weak)) extern uint8_t __start___libfuzzer_extra_counters;
++ __attribute__((weak)) extern uint8_t __stop___libfuzzer_extra_counters;
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp
++@@ -13,7 +13,7 @@
++ //===----------------------------------------------------------------------===//
++ #include "FuzzerDefs.h"
++ #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FUCHSIA ||                \
++-    LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD
+++    LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD
++ 
++ #include "FuzzerExtFunctions.h"
++ #include "FuzzerIO.h"
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
++@@ -9,7 +9,7 @@
++ //===----------------------------------------------------------------------===//
++ #include "FuzzerDefs.h"
++ #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FREEBSD ||                \
++-    LIBFUZZER_OPENBSD
+++    LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD
++ #include "FuzzerCommand.h"
++ 
++ #include <stdlib.h>
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h
++@@ -20,7 +20,7 @@
++ // 32-bit mode.
++ #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32)
++ # include <osreldate.h>
++-# if __FreeBSD_version <= 902001  // v9.2
+++# if !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2
++ #  include <link.h>
++ #  include <sys/param.h>
++ #  include <ucontext.h>
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
++@@ -37,7 +37,7 @@
++ // Fix 'kinfo_vmentry' definition on FreeBSD prior v9.2 in 32-bit mode.
++ #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32)
++ #include <osreldate.h>
++-#if __FreeBSD_version <= 902001 // v9.2
+++#if !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2
++ #define kinfo_vmentry xkinfo_vmentry
++ #endif
++ #endif
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
++@@ -24,7 +24,9 @@
++ #include "sanitizer_glibc_version.h"
++ #endif
++ 
+++#if !SANITIZER_KFREEBSD
++ # define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle))
+++#endif
++ 
++ namespace __sanitizer {
++ extern unsigned struct_utsname_sz;
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc
++@@ -19,7 +19,7 @@
++ # define SYSCALL(name) __NR_ ## name
++ #endif
++ 
++-#if defined(__x86_64__) && (SANITIZER_FREEBSD || SANITIZER_MAC)
+++#if defined(__x86_64__) && ((SANITIZER_FREEBSD  && !SANITIZER_KFREEBSD) || SANITIZER_MAC)
++ # define internal_syscall __syscall
++ # else
++ # define internal_syscall syscall
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
++@@ -109,10 +109,14 @@ typedef struct user_fpregs elf_fpregset_
++ #include <wordexp.h>
++ #endif
++ 
++-#if SANITIZER_LINUX && !SANITIZER_ANDROID
+++#if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_KFREEBSD
++ #include <glob.h>
++ #include <obstack.h>
+++#if SANITIZER_KFREEBSD
+++#include <sys/mqueue.h>
+++#else
++ #include <mqueue.h>
+++#endif
++ #include <net/if_ppp.h>
++ #include <netax25/ax25.h>
++ #include <netipx/ipx.h>
++@@ -150,8 +154,12 @@ typedef struct user_fpregs elf_fpregset_
++ #include <linux/if_ppp.h>
++ #endif
++ 
++-#if SANITIZER_LINUX
+++#if SANITIZER_LINUX || SANITIZER_KFREEBSD
+++#if SANITIZER_KFREEBSD
+++#include <sys/link.h>
+++#else
++ #include <link.h>
+++#endif
++ #include <sys/vfs.h>
++ #include <sys/epoll.h>
++ #include <linux/capability.h>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7fa4a854a2a6cb6e0e1768a1de37c48879390f29
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/ADT/Triple.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/include/llvm/ADT/Triple.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/ADT/Triple.h
++@@ -161,7 +161,7 @@ public:
++     FreeBSD,
++     Fuchsia,
++     IOS,
++-    KFreeBSD,
+++    kFreeBSD,
++     Linux,
++     Lv2,        // PS3
++     MacOSX,
++@@ -588,8 +588,8 @@ public:
++   }
++ 
++   /// Tests whether the OS is kFreeBSD.
++-  bool isOSKFreeBSD() const {
++-    return getOS() == Triple::KFreeBSD;
+++  bool isOSkFreeBSD() const {
+++    return getOS() == Triple::kFreeBSD;
++   }
++ 
++   /// Tests whether the OS is Hurd.
++@@ -609,7 +609,7 @@ public:
++ 
++   /// Tests whether the OS uses glibc.
++   bool isOSGlibc() const {
++-    return (getOS() == Triple::Linux || getOS() == Triple::KFreeBSD ||
+++    return (getOS() == Triple::Linux || getOS() == Triple::kFreeBSD ||
++             getOS() == Triple::Hurd) &&
++            !isAndroid();
++   }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..54c92e155b3d7ed690c37c5c7be091589d0030c9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/include/__config
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/include/__config
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/include/__config
++@@ -1085,6 +1085,7 @@ _LIBCPP_FUNC_VIS extern "C" void __sanit
++     !defined(_LIBCPP_HAS_THREAD_API_WIN32) && \
++     !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
++ #  if defined(__FreeBSD__) || \
+++      defined(__FreeBSD_kernel__) || \
++       defined(__Fuchsia__) || \
++       defined(__wasi__) || \
++       defined(__NetBSD__) || \
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ba53484dc580937b5fceda06a55b7905241d8807
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,129 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp.h
++@@ -1142,6 +1142,10 @@ extern kmp_uint64 __kmp_now_nsec();
++ /* TODO: tune for KMP_OS_OPENBSD */
++ #define KMP_INIT_WAIT 1024U /* initial number of spin-tests   */
++ #define KMP_NEXT_WAIT 512U /* susequent number of spin-tests */
+++#elif KMP_OS_KFREEBSD
+++/* TODO: tune for KMP_OS_KFREEBSD */
+++#define KMP_INIT_WAIT 1024U /* initial number of spin-tests   */
+++#define KMP_NEXT_WAIT 512U /* susequent number of spin-tests */
++ #endif
++ 
++ #if KMP_ARCH_X86 || KMP_ARCH_X86_64
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_ftn_entry.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_ftn_entry.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_ftn_entry.h
++@@ -531,7 +531,7 @@ int FTN_STDCALL KMP_EXPAND_NAME(FTN_GET_
++   int gtid;
++ 
++ #if KMP_OS_DARWIN || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD ||    \
++-        KMP_OS_HURD
+++        KMP_OS_HURD || KMP_OS_KFREEBSD
++   gtid = __kmp_entry_gtid();
++ #elif KMP_OS_WINDOWS
++   if (!__kmp_init_parallel ||
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_platform.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_platform.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_platform.h
++@@ -18,6 +18,7 @@
++ #define KMP_OS_LINUX 0
++ #define KMP_OS_DRAGONFLY 0
++ #define KMP_OS_FREEBSD 0
+++#define KMP_OS_KFREEBSD 0
++ #define KMP_OS_NETBSD 0
++ #define KMP_OS_OPENBSD 0
++ #define KMP_OS_DARWIN 0
++@@ -56,6 +57,11 @@
++ #define KMP_OS_FREEBSD 1
++ #endif
++ 
+++#if (defined __FreeBSD_kernel__)
+++#undef KMP_OS_KFREEBSD
+++#define KMP_OS_KFREEBSD 1
+++#endif
+++
++ #if (defined __NetBSD__)
++ #undef KMP_OS_NETBSD
++ #define KMP_OS_NETBSD 1
++@@ -78,12 +84,12 @@
++ 
++ #if (1 !=                                                                      \
++      KMP_OS_LINUX + KMP_OS_DRAGONFLY + KMP_OS_FREEBSD + KMP_OS_NETBSD +        \
++-         KMP_OS_OPENBSD + KMP_OS_DARWIN + KMP_OS_WINDOWS + KMP_OS_HURD)
+++         KMP_OS_OPENBSD + KMP_OS_DARWIN + KMP_OS_WINDOWS + KMP_OS_HURD + KMP_OS_KFREEBSD)
++ #error Unknown OS
++ #endif
++ 
++ #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD ||     \
++-        KMP_OS_OPENBSD || KMP_OS_DARWIN || KMP_OS_HURD
+++        KMP_OS_OPENBSD || KMP_OS_DARWIN || KMP_OS_HURD || KMP_OS_KFREEBSD
++ #undef KMP_OS_UNIX
++ #define KMP_OS_UNIX 1
++ #endif
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_runtime.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_runtime.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_runtime.cpp
++@@ -8114,7 +8114,7 @@ __kmp_determine_reduction_method(
++     KMP_ARCH_MIPS64 || KMP_ARCH_RISCV64
++ 
++ #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD ||     \
++-    KMP_OS_OPENBSD || KMP_OS_WINDOWS || KMP_OS_DARWIN || KMP_OS_HURD
+++    KMP_OS_OPENBSD || KMP_OS_WINDOWS || KMP_OS_DARWIN || KMP_OS_HURD || KMP_OS_KFREEBSD
++ 
++     int teamsize_cutoff = 4;
++ 
++@@ -8142,7 +8142,7 @@ __kmp_determine_reduction_method(
++ 
++ #elif KMP_ARCH_X86 || KMP_ARCH_ARM || KMP_ARCH_AARCH || KMP_ARCH_MIPS
++ 
++-#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS || KMP_OS_HURD
+++#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS || KMP_OS_HURD || KMP_OS_KFREEBSD
++ 
++     // basic tuning
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/z_Linux_util.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/z_Linux_util.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/z_Linux_util.cpp
++@@ -472,7 +472,7 @@ void __kmp_terminate_thread(int gtid) {
++ static kmp_int32 __kmp_set_stack_info(int gtid, kmp_info_t *th) {
++   int stack_data;
++ #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD ||     \
++-        KMP_OS_HURD
+++        KMP_OS_HURD || KMP_OS_KFREEBSD
++   pthread_attr_t attr;
++   int status;
++   size_t size = 0;
++@@ -526,7 +526,7 @@ static void *__kmp_launch_worker(void *t
++ #endif /* KMP_BLOCK_SIGNALS */
++   void *exit_val;
++ #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD ||     \
++-        KMP_OS_OPENBSD || KMP_OS_HURD
+++        KMP_OS_OPENBSD || KMP_OS_HURD || KMP_OS_KFREEBSD
++   void *volatile padding = 0;
++ #endif
++   int gtid;
++@@ -1798,7 +1798,7 @@ static int __kmp_get_xproc(void) {
++   int r = 0;
++ 
++ #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD ||     \
++-        KMP_OS_OPENBSD || KMP_OS_HURD
+++        KMP_OS_OPENBSD || KMP_OS_HURD || KMP_OS_KFREEBSD
++ 
++   r = sysconf(_SC_NPROCESSORS_ONLN);
++ 
++@@ -2042,7 +2042,7 @@ int __kmp_is_address_mapped(void *addr)
++   // Free resources.
++   fclose(file);
++   KMP_INTERNAL_FREE(name);
++-#elif KMP_OS_FREEBSD
+++#elif KMP_OS_FREEBSD || KMP_OS_KFREEBSD
++   char *buf;
++   size_t lstsz;
++   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid()};
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4601629be7ef414478571e70c5bebba4518d5240
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/src/thread.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/src/thread.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/src/thread.cpp
++@@ -18,7 +18,7 @@
++ 
++ #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
++ # include <sys/param.h>
++-# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__)
+++# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
++ #   include <sys/sysctl.h>
++ # endif
++ #endif // defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..56657dafa0de16b5794fe4f7a22c3b3382cade9a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,615 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/CMakeLists.txt
++@@ -49,6 +49,7 @@ add_clang_library(clangDriver
++   ToolChains/HIP.cpp
++   ToolChains/Hexagon.cpp
++   ToolChains/Hurd.cpp
+++  ToolChains/KFreeBSD.cpp
++   ToolChains/Linux.cpp
++   ToolChains/MipsLinux.cpp
++   ToolChains/MinGW.cpp
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/Driver.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/Driver.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/Driver.cpp
++@@ -26,6 +26,7 @@
++ #include "ToolChains/Haiku.h"
++ #include "ToolChains/Hexagon.h"
++ #include "ToolChains/Hurd.h"
+++#include "ToolChains/KFreeBSD.h"
++ #include "ToolChains/Lanai.h"
++ #include "ToolChains/Linux.h"
++ #include "ToolChains/MSP430.h"
++@@ -4727,6 +4728,9 @@ const ToolChain &Driver::getToolChain(co
++     case llvm::Triple::FreeBSD:
++       TC = std::make_unique<toolchains::FreeBSD>(*this, Target, Args);
++       break;
+++    case llvm::Triple::kFreeBSD:
+++      TC = std::make_unique<toolchains::kFreeBSD>(*this, Target, Args);
+++      break;
++     case llvm::Triple::Minix:
++       TC = std::make_unique<toolchains::Minix>(*this, Target, Args);
++       break;
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Clang.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Clang.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Clang.cpp
++@@ -453,7 +453,7 @@ static bool useFramePointerForTargetByDe
++   }
++ 
++   if (Triple.isOSLinux() || Triple.getOS() == llvm::Triple::CloudABI ||
++-      Triple.isOSHurd()) {
+++      Triple.isOSHurd() || Triple.isOSkFreeBSD()) {
++     switch (Triple.getArch()) {
++     // Don't use a frame pointer on linux if optimizing for certain targets.
++     case llvm::Triple::mips64:
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Gnu.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Gnu.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Gnu.cpp
++@@ -578,6 +578,20 @@ void tools::gnutools::Linker::ConstructJ
++ 
++       if (!Args.hasArg(options::OPT_nolibc))
++         CmdArgs.push_back("-lc");
+++       CmdArgs.push_back("-lc");
+++
+++      if (getToolChain().getTriple().isOSkFreeBSD()) {
+++     switch (getToolChain().getArch()) {
+++     case llvm::Triple::x86_64:
+++       CmdArgs.push_back("-rpath-link=/lib/x86_64-kfreebsd-gnu");
+++       break;
+++     case llvm::Triple::x86:
+++       CmdArgs.push_back("-rpath-link=/lib/i386-kfreebsd-gnu");
+++       break;
+++     default:
+++       break;
+++     }
+++      }
++ 
++       // Add IAMCU specific libs, if needed.
++       if (IsIAMCU)
++@@ -1957,7 +1971,8 @@ void Generic_GCC::GCCInstallationDetecto
++       "x86_64-redhat-linux",    "x86_64-suse-linux",
++       "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
++       "x86_64-slackware-linux", "x86_64-unknown-linux",
++-      "x86_64-amazon-linux",    "x86_64-linux-android"};
+++      "x86_64-amazon-linux",    "x86_64-linux-android",
+++      "x86_64-kfreebsd-gnu",    "x86_64-pc-kfreebsd-gnu"};
++   static const char *const X32LibDirs[] = {"/libx32"};
++   static const char *const X86LibDirs[] = {"/lib32", "/lib"};
++   static const char *const X86Triples[] = {
++@@ -1966,7 +1981,9 @@ void Generic_GCC::GCCInstallationDetecto
++       "i586-redhat-linux",    "i386-redhat-linux",     "i586-suse-linux",
++       "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu",
++       "i686-linux-android",   "i386-gnu",              "i486-gnu",
++-      "i586-gnu",             "i686-gnu"};
+++      "i586-gnu",             "i686-gnu",
+++      "i686-kfreebsd-gnu",    "i686-pc-kfreebsd-gnu",  "i486-kfreebsd-gnu",
+++      "i386-kfreebsd-gnu" };
++ 
++   static const char *const MIPSLibDirs[] = {"/lib"};
++   static const char *const MIPSTriples[] = {
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.cpp
++===================================================================
++--- /dev/null
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.cpp
++@@ -0,0 +1,458 @@
+++//===--- KFreeBSD.cpp - kFreeBSD ToolChain Implementations --------*- C++ -*-===//
+++//
+++//                     The LLVM Compiler Infrastructure
+++//
+++// This file is distributed under the University of Illinois Open Source
+++// License. See LICENSE.TXT for details.
+++//
+++//===----------------------------------------------------------------------===//
+++
+++#include "KFreeBSD.h"
+++#include "CommonArgs.h"
+++#include "llvm/Support/VirtualFileSystem.h"
+++#include "clang/Config/config.h"
+++#include "clang/Driver/Driver.h"
+++#include "clang/Driver/Options.h"
+++#include "clang/Driver/SanitizerArgs.h"
+++#include "llvm/Option/ArgList.h"
+++#include "llvm/ProfileData/InstrProf.h"
+++#include "llvm/Support/Path.h"
+++
+++using namespace clang::driver;
+++using namespace clang::driver::toolchains;
+++using namespace clang;
+++using namespace llvm::opt;
+++
+++using tools::addPathIfExists;
+++
+++/// Get our best guess at the multiarch triple for a target.
+++///
+++/// Debian-based systems are starting to use a multiarch setup where they use
+++/// a target-triple directory in the library and header search paths.
+++/// Unfortunately, this triple does not align with the vanilla target triple,
+++/// so we provide a rough mapping here.
+++static std::string getMultiarchTriple(const Driver &D,
+++                                      const llvm::Triple &TargetTriple,
+++                                      StringRef SysRoot) {
+++  // For most architectures, just use whatever we have rather than trying to be
+++  // clever.
+++  switch (TargetTriple.getArch()) {
+++  default:
+++    break;
+++
+++  // We use the existence of '/lib/<triple>' as a directory to detect
+++  // some common kfreebsd triples that don't quite match the Clang
+++  // triple for both 32-bit and 64-bit targets. Multiarch fixes its
+++  // install triples to these regardless of what the actual target
+++  // triple is.
+++  case llvm::Triple::x86_64:
+++    if (D.getVFS().exists(SysRoot + "/lib/x86_64-kfreebsd-gnu"))
+++      return "x86_64-kfreebsd-gnu";
+++    break;
+++  case llvm::Triple::x86:
+++    if (D.getVFS().exists(SysRoot + "/lib/i386-kfreebsd-gnu"))
+++      return "i386-kfreebsd-gnu";
+++    break;
+++  }
+++
+++  return TargetTriple.str();
+++}
+++
+++static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) {
+++  // It happens that only x86 and PPC use the 'lib32' variant of oslibdir, and
+++  // using that variant while targeting other architectures causes problems
+++  // because the libraries are laid out in shared system roots that can't cope
+++  // with a 'lib32' library search path being considered. So we only enable
+++  // them when we know we may need it.
+++  //
+++  // FIXME: This is a bit of a hack. We should really unify this code for
+++  // reasoning about oslibdir spellings with the lib dir spellings in the
+++  // GCCInstallationDetector, but that is a more significant refactoring.
+++
+++  if (Triple.getArch() == llvm::Triple::x86)
+++    return "lib";
+++
+++  if (Triple.getArch() == llvm::Triple::x86_64)
+++    return "lib";
+++
+++  return Triple.isArch32Bit() ? "lib" : "lib64";
+++}
+++
+++static void addMultilibsFilePaths(const Driver &D, const MultilibSet &Multilibs,
+++                                  const Multilib &Multilib,
+++                                  StringRef InstallPath,
+++                                  ToolChain::path_list &Paths) {
+++  if (const auto &PathsCallback = Multilibs.filePathsCallback())
+++    for (const auto &Path : PathsCallback(Multilib))
+++      addPathIfExists(D, InstallPath + Path, Paths);
+++}
+++
+++kFreeBSD::kFreeBSD(const Driver &D, const llvm::Triple &Triple,
+++                const ArgList &Args)
+++    : Generic_ELF(D, Triple, Args) {
+++  GCCInstallation.init(Triple, Args);
+++  Multilibs = GCCInstallation.getMultilibs();
+++  std::string SysRoot = computeSysRoot();
+++
+++  // Cross-compiling binutils and GCC installations (vanilla and openSUSE at
+++  // least) put various tools in a triple-prefixed directory off of the parent
+++  // of the GCC installation. We use the GCC triple here to ensure that we end
+++  // up with tools that support the same amount of cross compiling as the
+++  // detected GCC installation. For example, if we find a GCC installation
+++  // targeting x86_64, but it is a bi-arch GCC installation, it can also be
+++  // used to target i386.
+++  // FIXME: This seems unlikely to be Linux-, kFreeBSD- or Hurd-specific.
+++  ToolChain::path_list &PPaths = getProgramPaths();
+++  PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" +
+++                         GCCInstallation.getTriple().str() + "/bin")
+++                       .str());
+++
+++#ifdef ENABLE_LINKER_BUILD_ID
+++  ExtraOpts.push_back("--build-id");
+++#endif
+++
+++  // The selection of paths to try here is designed to match the patterns which
+++  // the GCC driver itself uses, as this is part of the GCC-compatible driver.
+++  // This was determined by running GCC in a fake filesystem, creating all
+++  // possible permutations of these directories, and seeing which ones it added
+++  // to the link paths.
+++  path_list &Paths = getFilePaths();
+++
+++  const std::string OSLibDir = getOSLibDir(Triple, Args);
+++  const std::string MultiarchTriple = getMultiarchTriple(D, Triple, SysRoot);
+++
+++  // Add the multilib suffixed paths where they are available.
+++  if (GCCInstallation.isValid()) {
+++    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
+++    const std::string &LibPath = GCCInstallation.getParentLibPath();
+++    const Multilib &Multilib = GCCInstallation.getMultilib();
+++    const MultilibSet &Multilibs = GCCInstallation.getMultilibs();
+++
+++    // Add toolchain / multilib specific file paths.
+++    addMultilibsFilePaths(D, Multilibs, Multilib,
+++                          GCCInstallation.getInstallPath(), Paths);
+++
+++    // Sourcery CodeBench MIPS toolchain holds some libraries under
+++    // a biarch-like suffix of the GCC installation.
+++    addPathIfExists(D, GCCInstallation.getInstallPath() + Multilib.gccSuffix(),
+++                    Paths);
+++
+++    // GCC cross compiling toolchains will install target libraries which ship
+++    // as part of the toolchain under <prefix>/<triple>/<libdir> rather than as
+++    // any part of the GCC installation in
+++    // <prefix>/<libdir>/gcc/<triple>/<version>. This decision is somewhat
+++    // debatable, but is the reality today. We need to search this tree even
+++    // when we have a sysroot somewhere else. It is the responsibility of
+++    // whomever is doing the cross build targeting a sysroot using a GCC
+++    // installation that is *not* within the system root to ensure two things:
+++    //
+++    //  1) Any DSOs that are linked in from this tree or from the install path
+++    //     above must be present on the system root and found via an
+++    //     appropriate rpath.
+++    //  2) There must not be libraries installed into
+++    //     <prefix>/<triple>/<libdir> unless they should be preferred over
+++    //     those within the system root.
+++    //
+++    // Note that this matches the GCC behavior. See the below comment for where
+++    // Clang diverges from GCC's behavior.
+++    addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib/../" +
+++                           OSLibDir + Multilib.osSuffix(),
+++                    Paths);
+++
+++    // If the GCC installation we found is inside of the sysroot, we want to
+++    // prefer libraries installed in the parent prefix of the GCC installation.
+++    // It is important to *not* use these paths when the GCC installation is
+++    // outside of the system root as that can pick up unintended libraries.
+++    // This usually happens when there is an external cross compiler on the
+++    // host system, and a more minimal sysroot available that is the target of
+++    // the cross. Note that GCC does include some of these directories in some
+++    // configurations but this seems somewhere between questionable and simply
+++    // a bug.
+++    if (StringRef(LibPath).startswith(SysRoot)) {
+++      addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths);
+++      addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths);
+++    }
+++  }
+++
+++  // Similar to the logic for GCC above, if we currently running Clang inside
+++  // of the requested system root, add its parent library paths to
+++  // those searched.
+++  // FIXME: It's not clear whether we should use the driver's installed
+++  // directory ('Dir' below) or the ResourceDir.
+++  if (StringRef(D.Dir).startswith(SysRoot)) {
+++    addPathIfExists(D, D.Dir + "/../lib/" + MultiarchTriple, Paths);
+++    addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths);
+++  }
+++
+++  addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths);
+++  addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths);
+++
+++  addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
+++  addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths);
+++
+++  // Try walking via the GCC triple path in case of biarch or multiarch GCC
+++  // installations with strange symlinks.
+++  if (GCCInstallation.isValid()) {
+++    addPathIfExists(D,
+++                    SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
+++                        "/../../" + OSLibDir,
+++                    Paths);
+++
+++    // Add the 'other' biarch variant path
+++    Multilib BiarchSibling;
+++    if (GCCInstallation.getBiarchSibling(BiarchSibling)) {
+++      addPathIfExists(D, GCCInstallation.getInstallPath() +
+++                             BiarchSibling.gccSuffix(),
+++                      Paths);
+++    }
+++
+++    // See comments above on the multilib variant for details of why this is
+++    // included even from outside the sysroot.
+++    const std::string &LibPath = GCCInstallation.getParentLibPath();
+++    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
+++    const Multilib &Multilib = GCCInstallation.getMultilib();
+++    addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib" +
+++                           Multilib.osSuffix(),
+++                    Paths);
+++
+++    // See comments above on the multilib variant for details of why this is
+++    // only included from within the sysroot.
+++    if (StringRef(LibPath).startswith(SysRoot))
+++      addPathIfExists(D, LibPath, Paths);
+++  }
+++
+++  // Similar to the logic for GCC above, if we are currently running Clang
+++  // inside of the requested system root, add its parent library path to those
+++  // searched.
+++  // FIXME: It's not clear whether we should use the driver's installed
+++  // directory ('Dir' below) or the ResourceDir.
+++  if (StringRef(D.Dir).startswith(SysRoot))
+++    addPathIfExists(D, D.Dir + "/../lib", Paths);
+++
+++  addPathIfExists(D, SysRoot + "/lib", Paths);
+++  addPathIfExists(D, SysRoot + "/usr/lib", Paths);
+++}
+++
+++bool kFreeBSD::HasNativeLLVMSupport() const { return true; }
+++
+++Tool *kFreeBSD::buildLinker() const { return new tools::gnutools::Linker(*this); }
+++
+++Tool *kFreeBSD::buildAssembler() const {
+++  return new tools::gnutools::Assembler(*this);
+++}
+++
+++std::string kFreeBSD::computeSysRoot() const {
+++  if (!getDriver().SysRoot.empty())
+++    return getDriver().SysRoot;
+++
+++  return std::string();
+++}
+++
+++std::string kFreeBSD::getDynamicLinker(const ArgList &Args) const {
+++  const llvm::Triple::ArchType Arch = getArch();
+++
+++  if (Arch == llvm::Triple::x86_64)
+++    return "/lib/ld-kfreebsd-x86-64.so.1";
+++
+++  if (Arch == llvm::Triple::x86)
+++    return "/lib/ld.so.1";
+++
+++  llvm_unreachable("unsupported architecture");
+++}
+++
+++void kFreeBSD::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
+++                                     ArgStringList &CC1Args) const {
+++  const Driver &D = getDriver();
+++  std::string SysRoot = computeSysRoot();
+++
+++  if (DriverArgs.hasArg(clang::driver::options::OPT_nostdinc))
+++    return;
+++
+++  if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
+++    addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include");
+++
+++  if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
+++    SmallString<128> P(D.ResourceDir);
+++    llvm::sys::path::append(P, "include");
+++    addSystemInclude(DriverArgs, CC1Args, P);
+++  }
+++
+++  if (DriverArgs.hasArg(options::OPT_nostdlibinc))
+++    return;
+++
+++  // Check for configure-time C include directories.
+++  StringRef CIncludeDirs(C_INCLUDE_DIRS);
+++  if (CIncludeDirs != "") {
+++    SmallVector<StringRef, 5> dirs;
+++    CIncludeDirs.split(dirs, ":");
+++    for (StringRef dir : dirs) {
+++      StringRef Prefix =
+++          llvm::sys::path::is_absolute(dir) ? StringRef(SysRoot) : "";
+++      addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir);
+++    }
+++    // addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
+++    return;
+++  }
+++
+++  // Lacking those, try to detect the correct set of system includes for the
+++  // target triple.
+++
+++  // Add include directories specific to the selected multilib set and multilib.
+++  if (GCCInstallation.isValid()) {
+++    const auto &Callback = Multilibs.includeDirsCallback();
+++    if (Callback) {
+++      for (const auto &Path : Callback(GCCInstallation.getMultilib()))
+++        addExternCSystemIncludeIfExists(
+++            DriverArgs, CC1Args, GCCInstallation.getInstallPath() + Path);
+++    }
+++  }
+++
+++  // Implement generic Debian multiarch support.
+++  const StringRef X86_64MultiarchIncludeDirs[] = {
+++      "/usr/include/x86_64-kfreebsd-gnu"};
+++
+++  // CHECK
+++  const StringRef X86MultiarchIncludeDirs[] = {
+++      "/usr/include/i386-kfreebsd-gnu"};
+++
+++  ArrayRef<StringRef> MultiarchIncludeDirs;
+++  switch (getTriple().getArch()) {
+++  case llvm::Triple::x86:
+++    MultiarchIncludeDirs = X86MultiarchIncludeDirs;
+++    break;
+++  case llvm::Triple::x86_64:
+++    MultiarchIncludeDirs = X86_64MultiarchIncludeDirs;
+++    break;
+++  default:
+++    break;
+++  }
+++
+++  for (StringRef Dir : MultiarchIncludeDirs) {
+++    if (D.getVFS().exists(SysRoot + Dir)) {
+++      addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + Dir);
+++      break;
+++    }
+++  }
+++
+++  // Add an include of '/include' directly. This isn't provided by default by
+++  // system GCCs, but is often used with cross-compiling GCCs, and harmless to
+++  // add even when Clang is acting as-if it were a system compiler.
+++  addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
+++
+++  addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
+++}
+++
+++static std::string DetectLibcxxIncludePath(StringRef base) {
+++  std::error_code EC;
+++  int MaxVersion = 0;
+++  std::string MaxVersionString = "";
+++  for (llvm::sys::fs::directory_iterator LI(base, EC), LE; !EC && LI != LE;
+++       LI = LI.increment(EC)) {
+++    StringRef VersionText = llvm::sys::path::filename(LI->path());
+++    int Version;
+++    if (VersionText[0] == 'v' &&
+++        !VersionText.slice(1, StringRef::npos).getAsInteger(10, Version)) {
+++      if (Version > MaxVersion) {
+++        MaxVersion = Version;
+++        MaxVersionString = VersionText;
+++      }
+++    }
+++  }
+++  return MaxVersion ? (base + "/" + MaxVersionString).str() : "";
+++}
+++
+++void kFreeBSD::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
+++                                 llvm::opt::ArgStringList &CC1Args) const {
+++  const std::string& SysRoot = computeSysRoot();
+++  const std::string LibCXXIncludePathCandidates[] = {
+++      DetectLibcxxIncludePath(getDriver().ResourceDir + "/include/c++"),
+++      DetectLibcxxIncludePath(getDriver().Dir + "/../include/c++"),
+++      // If this is a development, non-installed, clang, libcxx will
+++      // not be found at ../include/c++ but it likely to be found at
+++      // one of the following two locations:
+++      DetectLibcxxIncludePath(SysRoot + "/usr/local/include/c++"),
+++      DetectLibcxxIncludePath(SysRoot + "/usr/include/c++") };
+++  for (const auto &IncludePath : LibCXXIncludePathCandidates) {
+++    if (IncludePath.empty() || !getVFS().exists(IncludePath))
+++      continue;
+++    // Use the first candidate that exists.
+++    addSystemInclude(DriverArgs, CC1Args, IncludePath);
+++    return;
+++  }
+++}
+++
+++void kFreeBSD::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
+++                                    llvm::opt::ArgStringList &CC1Args) const {
+++  // We need a detected GCC installation on kFreeBSD to provide libstdc++'s
+++  // headers.
+++  if (!GCCInstallation.isValid())
+++    return;
+++
+++  // By default, look for the C++ headers in an include directory adjacent to
+++  // the lib directory of the GCC installation. Note that this is expect to be
+++  // equivalent to '/usr/include/c++/X.Y' in almost all cases.
+++  StringRef LibDir = GCCInstallation.getParentLibPath();
+++  StringRef InstallDir = GCCInstallation.getInstallPath();
+++  StringRef TripleStr = GCCInstallation.getTriple().str();
+++  const Multilib &Multilib = GCCInstallation.getMultilib();
+++  const std::string GCCMultiarchTriple = getMultiarchTriple(
+++      getDriver(), GCCInstallation.getTriple(), getDriver().SysRoot);
+++  const std::string TargetMultiarchTriple =
+++      getMultiarchTriple(getDriver(), getTriple(), getDriver().SysRoot);
+++  const GCCVersion &Version = GCCInstallation.getVersion();
+++
+++  // The primary search for libstdc++ supports multiarch variants.
+++  if (addLibStdCXXIncludePaths(LibDir.str() + "/../include",
+++                               "/c++/" + Version.Text, TripleStr,
+++                               GCCMultiarchTriple, TargetMultiarchTriple,
+++                               Multilib.includeSuffix(), DriverArgs, CC1Args))
+++    return;
+++
+++  // Otherwise, fall back on a bunch of options which don't use multiarch
+++  // layouts for simplicity.
+++  const std::string LibStdCXXIncludePathCandidates[] = {
+++      // Gentoo is weird and places its headers inside the GCC install,
+++      // so if the first attempt to find the headers fails, try these patterns.
+++      InstallDir.str() + "/include/g++-v" + Version.Text,
+++      InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." +
+++          Version.MinorStr,
+++      InstallDir.str() + "/include/g++-v" + Version.MajorStr,
+++      // Android standalone toolchain has C++ headers in yet another place.
+++      LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text,
+++      // Freescale SDK C++ headers are directly in <sysroot>/usr/include/c++,
+++      // without a subdirectory corresponding to the gcc version.
+++      LibDir.str() + "/../include/c++",
+++  };
+++
+++  for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
+++    if (addLibStdCXXIncludePaths(IncludePath, /*Suffix*/ "", TripleStr,
+++                                 /*GCCMultiarchTriple*/ "",
+++                                 /*TargetMultiarchTriple*/ "",
+++                                 Multilib.includeSuffix(), DriverArgs, CC1Args))
+++      break;
+++  }
+++}
+++
+++/* FIXME:
+++/home/srs/DEBs/llvm-toolchain-7/llvm-toolchain-7-7.0.1~+rc2-7/clang/lib/Driver/ToolChains/KFreeBSD.cpp:431:15: error: no declaration matches â€˜clang::SanitizerMask clang::driver::toolchains::kFreeBSD::getSupportedSanitizers() const’
+++ SanitizerMask kFreeBSD::getSupportedSanitizers() const {
+++*/
+++SanitizerMask kFreeBSD::getSupportedSanitizers() const {
+++  const bool IsX86 = getTriple().getArch() == llvm::Triple::x86;
+++  const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64;
+++  SanitizerMask Res = ToolChain::getSupportedSanitizers();
+++  // FIXME: Add here!!
+++  if (IsX86_64) {
+++    Res |= SanitizerKind::DataFlow;
+++    Res |= SanitizerKind::Leak;
+++    Res |= SanitizerKind::Thread;
+++    Res |= SanitizerKind::Scudo;
+++    Res |= SanitizerKind::HWAddress;
+++    Res |= SanitizerKind::KernelHWAddress;
+++  }
+++  if (IsX86 || IsX86_64)
+++    Res |= SanitizerKind::Function;
+++
+++  return Res;
+++}
+++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.h
++===================================================================
++--- /dev/null
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.h
++@@ -0,0 +1,54 @@
+++//===--- KFreeBSD.h - kFreeBSD ToolChain Implementations ----------*- C++ -*-===//
+++//
+++//                     The LLVM Compiler Infrastructure
+++//
+++// This file is distributed under the University of Illinois Open Source
+++// License. See LICENSE.TXT for details.
+++//
+++//===----------------------------------------------------------------------===//
+++
+++#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H
+++#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H
+++
+++#include "Gnu.h"
+++#include "clang/Driver/ToolChain.h"
+++
+++namespace clang {
+++namespace driver {
+++namespace toolchains {
+++
+++class LLVM_LIBRARY_VISIBILITY kFreeBSD : public Generic_ELF {
+++public:
+++  kFreeBSD(const Driver &D, const llvm::Triple &Triple,
+++          const llvm::opt::ArgList &Args);
+++
+++  bool HasNativeLLVMSupport() const override;
+++
+++  void
+++  AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
+++                            llvm::opt::ArgStringList &CC1Args) const override;
+++  void addLibCxxIncludePaths(
+++      const llvm::opt::ArgList &DriverArgs,
+++      llvm::opt::ArgStringList &CC1Args) const override;
+++  void addLibStdCxxIncludePaths(
+++      const llvm::opt::ArgList &DriverArgs,
+++      llvm::opt::ArgStringList &CC1Args) const override;
+++
+++  SanitizerMask getSupportedSanitizers() const override;
+++
+++  virtual std::string computeSysRoot() const;
+++
+++  virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const;
+++
+++  std::vector<std::string> ExtraOpts;
+++
+++protected:
+++  Tool *buildAssembler() const override;
+++  Tool *buildLinker() const override;
+++};
+++
+++} // end namespace toolchains
+++} // end namespace driver
+++} // end namespace clang
+++
+++#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..50dd3f8a876f584849a186ae76f476f6c5a10854
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/ADT/TripleTest.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/unittests/ADT/TripleTest.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/ADT/TripleTest.cpp
++@@ -98,6 +98,18 @@ TEST(TripleTest, ParsedIDs) {
++   EXPECT_EQ(Triple::Hurd, T.getOS());
++   EXPECT_EQ(Triple::GNU, T.getEnvironment());
++ 
+++  T = Triple("i386-pc-kfreebsd-gnu");
+++  EXPECT_EQ(Triple::x86, T.getArch());
+++  EXPECT_EQ(Triple::PC, T.getVendor());
+++  EXPECT_EQ(Triple::kFreeBSD, T.getOS());
+++  EXPECT_EQ(Triple::GNU, T.getEnvironment());
+++
+++  T = Triple("x86_64-pc-kfreebsd-gnu");
+++  EXPECT_EQ(Triple::x86_64, T.getArch());
+++  EXPECT_EQ(Triple::PC, T.getVendor());
+++  EXPECT_EQ(Triple::kFreeBSD, T.getOS());
+++  EXPECT_EQ(Triple::GNU, T.getEnvironment());
+++
++   T = Triple("x86_64-pc-linux-gnu");
++   EXPECT_EQ(Triple::x86_64, T.getArch());
++   EXPECT_EQ(Triple::PC, T.getVendor());
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c27fb302e76b45970c874eef841a14f8eb4d412b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Triple.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp
++@@ -183,7 +183,7 @@ StringRef Triple::getOSTypeName(OSType K
++   case FreeBSD: return "freebsd";
++   case Fuchsia: return "fuchsia";
++   case IOS: return "ios";
++-  case KFreeBSD: return "kfreebsd";
+++  case kFreeBSD: return "kfreebsd";
++   case Linux: return "linux";
++   case Lv2: return "lv2";
++   case MacOSX: return "macosx";
++@@ -488,7 +488,7 @@ static Triple::OSType parseOS(StringRef
++     .StartsWith("freebsd", Triple::FreeBSD)
++     .StartsWith("fuchsia", Triple::Fuchsia)
++     .StartsWith("ios", Triple::IOS)
++-    .StartsWith("kfreebsd", Triple::KFreeBSD)
+++    .StartsWith("kfreebsd", Triple::kFreeBSD)
++     .StartsWith("linux", Triple::Linux)
++     .StartsWith("lv2", Triple::Lv2)
++     .StartsWith("macos", Triple::MacOSX)
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Path.inc
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Unix/Path.inc
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Path.inc
++@@ -62,7 +62,7 @@
++ #define FSTATVFS fstatvfs
++ #define STATVFS_F_FRSIZE(vfs) vfs.f_frsize
++ #else
++-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+++#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ #include <sys/mount.h>
++ #include <sys/param.h>
++ #elif defined(__linux__)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..636ab78331fe52f86e8bf5049366660fbfc641ce
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Target/X86/X86Subtarget.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.cpp
++@@ -290,7 +290,7 @@ void X86Subtarget::initSubtargetFeatures
++   if (StackAlignOverride)
++     stackAlignment = *StackAlignOverride;
++   else if (isTargetDarwin() || isTargetLinux() || isTargetSolaris() ||
++-           isTargetKFreeBSD() || In64BitMode)
+++           isTargetkFreeBSD() || In64BitMode)
++     stackAlignment = Align(16);
++ 
++   // Some CPUs have more overhead for gather. The specified overhead is relative
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Target/X86/X86Subtarget.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.h
++@@ -764,7 +764,7 @@ public:
++   bool isTargetMachO() const { return TargetTriple.isOSBinFormatMachO(); }
++ 
++   bool isTargetLinux() const { return TargetTriple.isOSLinux(); }
++-  bool isTargetKFreeBSD() const { return TargetTriple.isOSKFreeBSD(); }
+++  bool isTargetkFreeBSD() const { return TargetTriple.isOSkFreeBSD(); }
++   bool isTargetGlibc() const { return TargetTriple.isOSGlibc(); }
++   bool isTargetAndroid() const { return TargetTriple.isAndroid(); }
++   bool isTargetNaCl() const { return TargetTriple.isOSNaCl(); }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e99a83cef22b7ddb334cfec938ed40254ed4733a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Host/freebsd/Host.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Host/freebsd/Host.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Host/freebsd/Host.cpp
++@@ -10,6 +10,13 @@
++ #include <sys/types.h>
++ 
++ #include <sys/exec.h>
+++#ifdef __FreeBSD_kernel__
+++#  ifdef __amd64__
+++#  include </usr/include/x86_64-kfreebsd-gnu/sys/kglue/sys/types.h>
+++#  else
+++#  include </usr/include/i386-kfreebsd-gnu/sys/kglue/sys/types.h>
+++#  endif
+++#endif
++ #include <sys/proc.h>
++ #include <sys/ptrace.h>
++ #include <sys/sysctl.h>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7bc11c8faab5a9f2e946f353553c09371a2270b9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
++@@ -8,7 +8,9 @@
++ 
++ #include <errno.h>
++ #include <pthread.h>
+++#ifndef __FreeBSD_kernel__
++ #include <pthread_np.h>
+++#endif
++ #include <stdlib.h>
++ #include <sys/sysctl.h>
++ #include <sys/types.h>
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
++@@ -9,7 +9,9 @@
++ 
++ #include <errno.h>
++ #include <pthread.h>
+++#ifndef __FreeBSD_kernel__
++ #include <pthread_np.h>
+++#endif
++ #include <stdlib.h>
++ #include <sys/sysctl.h>
++ #include <sys/types.h>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..eeb847984abd51e960855aee16d243144c58d86d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/tools/llvm-shlib/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt
++@@ -49,6 +49,7 @@ if(LLVM_BUILD_LLVM_DYLIB)
++   list(REMOVE_DUPLICATES LIB_NAMES)
++   if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
++      OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
+++     OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "kFreeBSD")
++      OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU")
++      OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
++      OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..18223264a92861a20e474995d66798dd6725a771
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,81 @@@
++commit 09e6304440c08fe72b6ac05f922ab9d8b7f1e387
++Author: Roger Ferrer Ibanez <rofirrim@gmail.com>
++Date:   Wed Jul 24 05:33:46 2019 +0000
++
++    [RISCV] Implement benchmark::cycleclock::Now
++    
++    This is a cherrypick of D64237 onto llvm/utils/benchmark and
++    libcxx/utils/google-benchmark.
++    
++    Differential Revision: https://reviews.llvm.org/D65142
++    
++    llvm-svn: 366868
++
++--- a/libcxx/utils/google-benchmark/README.LLVM
+++++ b/libcxx/utils/google-benchmark/README.LLVM
++@@ -4,3 +4,9 @@ LLVM notes
++ This directory contains the Google Benchmark source code with some unnecessary
++ files removed. Note that this directory is under a different license than
++ libc++.
+++
+++Changes:
+++* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2
+++  is applied on top of
+++  https://github.com/google/benchmark/commit/4528c76b718acc9b57956f63069c699ae21edcab
+++  to add RISC-V timer support.
++--- a/libcxx/utils/google-benchmark/src/cycleclock.h
+++++ b/libcxx/utils/google-benchmark/src/cycleclock.h
++@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
++   uint64_t tsc;
++   asm("stck %0" : "=Q"(tsc) : : "cc");
++   return tsc;
+++#elif defined(__riscv) // RISC-V
+++  // Use RDCYCLE (and RDCYCLEH on riscv32)
+++#if __riscv_xlen == 32
+++  uint64_t cycles_low, cycles_hi0, cycles_hi1;
+++  asm("rdcycleh %0" : "=r"(cycles_hi0));
+++  asm("rdcycle %0" : "=r"(cycles_lo));
+++  asm("rdcycleh %0" : "=r"(cycles_hi1));
+++  // This matches the PowerPC overflow detection, above
+++  cycles_lo &= -static_cast<int64_t>(cycles_hi0 == cycles_hi1);
+++  return (cycles_hi1 << 32) | cycles_lo;
+++#else
+++  uint64_t cycles;
+++  asm("rdcycle %0" : "=r"(cycles));
+++  return cycles;
+++#endif
++ #else
++ // The soft failover to a generic implementation is automatic only for ARM.
++ // For other platforms the developer is expected to make an attempt to create
++--- a/utils/benchmark/README.LLVM
+++++ b/utils/benchmark/README.LLVM
++@@ -23,3 +23,5 @@ Changes:
++   is applied to disable exceptions in Microsoft STL when exceptions are disabled
++ * Disabled CMake get_git_version as it is meaningless for this in-tree build,
++   and hardcoded a null version
+++* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2
+++  is applied on top of v1.4.1 to add RISC-V timer support.
++--- a/utils/benchmark/src/cycleclock.h
+++++ b/utils/benchmark/src/cycleclock.h
++@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
++   uint64_t tsc;
++   asm("stck %0" : "=Q" (tsc) : : "cc");
++   return tsc;
+++#elif defined(__riscv) // RISC-V
+++  // Use RDCYCLE (and RDCYCLEH on riscv32)
+++#if __riscv_xlen == 32
+++  uint64_t cycles_low, cycles_hi0, cycles_hi1;
+++  asm("rdcycleh %0" : "=r"(cycles_hi0));
+++  asm("rdcycle %0" : "=r"(cycles_lo));
+++  asm("rdcycleh %0" : "=r"(cycles_hi1));
+++  // This matches the PowerPC overflow detection, above
+++  cycles_lo &= -static_cast<int64_t>(cycles_hi0 == cycles_hi1);
+++  return (cycles_hi1 << 32) | cycles_lo;
+++#else
+++  uint64_t cycles;
+++  asm("rdcycle %0" : "=r"(cycles));
+++  return cycles;
+++#endif
++ #else
++ // The soft failover to a generic implementation is automatic only for ARM.
++ // For other platforms the developer is expected to make an attempt to create
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bffb2a90b9aa97608b1628f6c9043eeb441067a1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
++@@ -7,6 +7,7 @@
++ //===----------------------------------------------------------------------===//
++ //
++ // UNSUPPORTED: libcpp-has-no-threads
+++// XFAIL: *
++ 
++ // FLAKY_TEST.
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
++@@ -8,7 +8,7 @@
++ //
++ // UNSUPPORTED: libcpp-has-no-threads
++ // UNSUPPORTED: c++98, c++03, c++11
++-// XFAIL: dylib-has-no-shared_mutex
+++// XFAIL: *
++ 
++ // FLAKY_TEST.
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..97a62fcd481c93e1ff04b7d916e37bb4c4116405
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp
++@@ -13,7 +13,7 @@
++ //
++ // GCC currently fails because it needs -fabi-version=6 to fix mangling of
++ // std::atomic when used with __attribute__((vector(X))).
++-// XFAIL: gcc
+++// XFAIL: *
++ 
++ // <atomic>
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ffae596489f5e1432d04207904662700b54a6f77
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,51 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
++@@ -11,6 +11,8 @@
++ // template<class RealType, size_t bits, class URNG>
++ //     RealType generate_canonical(URNG& g);
++ 
+++// XFAIL: *
+++
++ #include <random>
++ #include <cassert>
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/re/re.traits/isctype.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/re/re.traits/isctype.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/re/re.traits/isctype.pass.cpp
++@@ -15,6 +15,7 @@
++ // TODO(EricWF): This test takes 40+ minutes to build with Clang 3.8 under ASAN or MSAN.
++ // UNSUPPORTED: asan, msan
++ 
+++// XFAIL: *
++ 
++ #include <regex>
++ #include <cassert>
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/test/catch_multi_level_pointer.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxxabi/test/catch_multi_level_pointer.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/test/catch_multi_level_pointer.pass.cpp
++@@ -8,6 +8,8 @@
++ 
++ // UNSUPPORTED: libcxxabi-no-exceptions
++ 
+++// XFAIL: *
+++
++ #include <cassert>
++ #include <cstdlib>
++ #include <iostream>
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
++@@ -15,6 +15,8 @@
++ 
++ // template <class T, class... Args> void construct(T* p, Args&&... args);
++ 
+++// XFAIL: *
+++
++ #include <scoped_allocator>
++ #include <cassert>
++ #include <string>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..41fa7b05be9f2a4bb43b7fe766012bd1dfc5285a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,58 @@@
++Clang 3.9 regression causes a bug when generating code for
++std::atomic_compare_and_exchange*(std::atomic<long long>,...) without
++optimizations. If same code is compiled with -O2 tests pass without problems.
++Atomics are implement in headers with builtin functions which makes this
++affect application code instead of libc++ library code.
++
++libcxx tests default to -O0 compilation so these test need to be marked failing
++on arm to allow installing packages. Use cases is so borderline failure that it
++shouldn't prevent building the package. (64bit atomics in 32bit mode)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
++@@ -7,6 +7,7 @@
++ //===----------------------------------------------------------------------===//
++ //
++ // UNSUPPORTED: libcpp-has-no-threads
+++// XFAIL: arm
++ //  ... assertion fails line 34
++ 
++ // <atomic>
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
++@@ -7,6 +7,7 @@
++ //===----------------------------------------------------------------------===//
++ //
++ // UNSUPPORTED: libcpp-has-no-threads
+++// XFAIL: arm
++ //  ... assertion fails line 38
++ 
++ // <atomic>
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
++@@ -7,6 +7,7 @@
++ //===----------------------------------------------------------------------===//
++ //
++ // UNSUPPORTED: libcpp-has-no-threads
+++// XFAIL: arm
++ //  ... assertion fails line 34
++ 
++ // <atomic>
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
++@@ -7,6 +7,7 @@
++ //===----------------------------------------------------------------------===//
++ //
++ // UNSUPPORTED: libcpp-has-no-threads
+++// XFAIL: arm
++ //  ... assertion fails line 38
++ 
++ // <atomic>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..237b4fec940d510834abc8c4c4cd99b05a7e82ec
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++Lock is_always_lock free test fails on i386 because std::atomic is aligned
++to 8 bytes while long long is aligned to 4 bytes. clang can't generate inline
++code for unaligned 8 byte atomics even tough instruction set and gcc support
++it.
++
++That makes it expected thaqt ATOMIC_LLONG_LOCK_FREE and
++std::atomic<long long>::is_always_lock_free don't match on i386. Correct test
++for std::atomic<long long> is to check if target cpu support cmpxchg8 instruction.
++To set instruction support one can check __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 define.
++
++Bug: https://llvm.org/bugs/show_bug.cgi?id=19355
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
++@@ -21,6 +21,14 @@
++ # error Feature test macro missing.
++ #endif
++ 
+++#if defined(__i386__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)
+++/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorecctly for x86
+++ * https://llvm.org/bugs/show_bug.cgi?id=19355
+++ */
+++#undef ATOMIC_LLONG_LOCK_FREE
+++#define ATOMIC_LLONG_LOCK_FREE 2
+++#endif
+++
++ template <typename T> void checkAlwaysLockFree() {
++   if (std::atomic<T>::is_always_lock_free)
++     assert(std::atomic<T>().is_lock_free());
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..55d2b588ee0fe5de3fde49875892c20ac7b74d8a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,118 @@@
++Fix arm EHABI code to work. armhf had exception test failing without EHABI support.
++
++No known upstream bug about this. Actual code change is more like workaround than
++something that upstream would accept. Proper fix would be adding _Unwind_Control_Block
++to clang unwind.h. _Unwind_Control_Block should also extend _Unwind_Exception to make
++sure their ABI stays in sync.
++
++No known upstream bug about this.
++
++Index: llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.cpp
++===================================================================
++--- llvm-toolchain-10_10~++20200205105438+211aa5bf59e.orig/libcxxabi/src/cxa_exception.cpp
+++++ llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.cpp
++@@ -275,15 +275,16 @@ __cxa_throw(void *thrown_object, std::ty
++ 
++ #ifdef __USING_SJLJ_EXCEPTIONS__
++     _Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
++-#else
+++#elif !LIBCXXABI_ARM_EHABI
++     _Unwind_RaiseException(&exception_header->unwindHeader);
+++#else
+++    _Unwind_RaiseException(exception_header->unwindHeader);
++ #endif
++     //  This only happens when there is no handler, or some unexpected unwinding
++     //     error happens.
++     failed_throw(exception_header);
++ }
++ 
++-
++ // 2.5.3 Exception Handlers
++ /*
++ The adjusted pointer is computed by the personality routine during phase 1
++@@ -546,7 +547,11 @@ void __cxa_end_catch() {
++             //    to touch a foreign exception in any way, that is undefined
++             //     behavior.  They likely can't since the only way to catch
++             //     a foreign exception is with catch (...)!
+++#if !LIBCXXABI_ARM_EHABI
++             _Unwind_DeleteException(&globals->caughtExceptions->unwindHeader);
+++#else
+++            _Unwind_DeleteException(globals->caughtExceptions->unwindHeader);
+++#endif
++             globals->caughtExceptions = 0;
++         }
++     }
++@@ -603,8 +608,10 @@ void __cxa_rethrow() {
++     }
++ #ifdef __USING_SJLJ_EXCEPTIONS__
++     _Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
++-#else
+++#elif !LIBCXXABI_ARM_EHABI
++     _Unwind_RaiseException(&exception_header->unwindHeader);
+++#else
+++    _Unwind_RaiseException(exception_header->unwindHeader);
++ #endif
++ 
++     //  If we get here, some kind of unwinding error has occurred.
++@@ -728,8 +735,10 @@ __cxa_rethrow_primary_exception(void* th
++         dep_exception_header->unwindHeader.exception_cleanup = dependent_exception_cleanup;
++ #ifdef __USING_SJLJ_EXCEPTIONS__
++         _Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader);
+++#elif !LIBCXXABI_ARM_EHABI
+++     _Unwind_RaiseException(&dep_exception_header->unwindHeader);
++ #else
++-        _Unwind_RaiseException(&dep_exception_header->unwindHeader);
+++     _Unwind_RaiseException(dep_exception_header->unwindHeader);
++ #endif
++         // Some sort of unwinding error.  Note that terminate is a handler.
++         __cxa_begin_catch(&dep_exception_header->unwindHeader);
++Index: llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.h
++===================================================================
++--- llvm-toolchain-10_10~++20200205105438+211aa5bf59e.orig/libcxxabi/src/cxa_exception.h
+++++ llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.h
++@@ -27,6 +27,45 @@ _LIBCXXABI_HIDDEN uint64_t __getExceptio
++ _LIBCXXABI_HIDDEN void     __setExceptionClass  (      _Unwind_Exception*, uint64_t);
++ _LIBCXXABI_HIDDEN bool     __isOurExceptionClass(const _Unwind_Exception*);
++ 
+++#if LIBCXXABI_ARM_EHABI
+++// GCC has _Unwind_Control_Block in unwind.h (unwind_arm_common.h)
+++#if defined(__clang__)
+++struct _Unwind_Control_Block
+++{
+++     uint64_t exception_class;
+++     void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *);
+++     struct {
+++             _Unwind_Word reserved1;
+++             _Unwind_Word reserved2;
+++             _Unwind_Word reserved3;
+++             _Unwind_Word reserved4;
+++             _Unwind_Word reserved5;
+++     } unwinder_cache;
+++     struct {
+++             _Unwind_Word sp;
+++             _Unwind_Word bitpattern[5];
+++     } barrier_cache;
+++     struct {
+++             _Unwind_Word bitpattern[4];
+++     } cleanup_cache;
+++     struct {
+++             _Unwind_Word fnstart;
+++             _Unwind_Word *ehtp;
+++             _Unwind_Word additional;
+++             _Unwind_Word reserved1;
+++     } pr_cache;
+++     long long int :0;
+++     operator _Unwind_Exception*() noexcept
+++     {
+++             return reinterpret_cast<_Unwind_Exception*>(this);
+++     }
+++};
+++
+++#endif
+++
+++#define _Unwind_Exception _Unwind_Control_Block
+++#endif
+++
++ struct _LIBCXXABI_HIDDEN __cxa_exception {
++ #if defined(__LP64__) || defined(_WIN64) || defined(_LIBCXXABI_ARM_EHABI)
++     // Now _Unwind_Exception is marked with __attribute__((aligned)),
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b3f473d8a023f5c9f7473eb1d5d3ecedb5748e2d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++Powerpc has extended double that doesn't match x86 coding. Power format would
++need special tests to verify correctness but for now it is enough to prevent
++incorrect test from running.
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/test/test_demangle.pass.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxxabi/test/test_demangle.pass.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/test/test_demangle.pass.cpp
++@@ -29834,7 +29834,7 @@ const char* invalid_cases[] =
++     "NSoERj5E=Y1[uM:ga",
++     "Aon_PmKVPDk7?fg4XP5smMUL6;<WsI_mgbf23cCgsHbT<l8EE\0uVRkNOoXDrgdA4[8IU>Vl<>IL8ayHpiVDDDXTY;^o9;i",
++     "_ZNSt16allocator_traitsISaIN4llvm3sys2fs18directory_iteratorEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_",
++-#if !LDBL_FP80
+++#if !LDBL_FP80 && __LDBL_MANT_DIG__ < 64
++     "_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c",
++ #endif
++      // The following test cases were found by libFuzzer+ASAN
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e651ef049d89c87fb6c14ead0398f1f3c45a16bd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++---
++ lldb/scripts/Python/finishSwigPythonLLDB.py |    2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++Index: llvm-toolchain-snapshot_10~svn3310515/lldb/scripts/Python/finishSwigPythonLLDB.py
++===================================================================
++--- llvm-toolchain-snapshot_10~svn3310515.orig/lldb/scripts/Python/finishSwigPythonLLDB.py
+++++ llvm-toolchain-snapshot_10~svn3310515/lldb/scripts/Python/finishSwigPythonLLDB.py
++@@ -443,7 +443,7 @@ def make_symlink_liblldb(
++             if eOSType == utilsOsType.EnumOsType.Darwin:
++                 strLibFileExtn = ".dylib"
++             else:
++-                strLibFileExtn = ".so"
+++                strLibFileExtn = "-10.so"
++             strSrc = os.path.join(vstrLldbLibDir, "liblldb" + strLibFileExtn)
++ 
++     bOk, strErrMsg = make_symlink(
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cc012ece45b043fcfbc3a64b03d4d19a224efce1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,43 @@@
++---
++ lldb/source/API/CMakeLists.txt |   14 +++++++-------
++ 1 file changed, 7 insertions(+), 7 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~++20200103094450+3186b18b998/lldb/source/API/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200103094450+3186b18b998.orig/lldb/source/API/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~++20200103094450+3186b18b998/lldb/source/API/CMakeLists.txt
++@@ -19,7 +19,12 @@ if(LLDB_BUILD_FRAMEWORK)
++   set(option_framework FRAMEWORK)
++ endif()
++ 
++-add_lldb_library(liblldb SHARED ${option_framework}
+++set(output_name lldb)
+++if (CMAKE_SYSTEM_NAME MATCHES "Windows")
+++  set(output_name liblldb)
+++endif()
+++
+++add_lldb_library(liblldb SHARED OUTPUT_NAME ${output_name} SONAME
++   SBAddress.cpp
++   SBAttachInfo.cpp
++   SBBlock.cpp
++@@ -151,7 +156,7 @@ endif()
++ 
++ set_target_properties(liblldb
++   PROPERTIES
++-  VERSION ${LLDB_VERSION}
+++  VERSION 1
++ )
++ 
++ if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
++@@ -176,11 +181,6 @@ if ( CMAKE_SYSTEM_NAME MATCHES "Windows"
++   if (MSVC AND LLDB_ENABLE_PYTHON)
++     target_link_libraries(liblldb PRIVATE ${PYTHON_LIBRARIES})
++   endif()
++-else()
++-  set_target_properties(liblldb
++-    PROPERTIES
++-    OUTPUT_NAME lldb
++-  )
++ endif()
++ 
++ if (NOT LLDB_BUILT_STANDALONE)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fd4d7b21fd479cf6993d04d228b6da93ba27b717
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++lldb-server exec users always /usr/bin/lldb-server. Server is required
++for any debugging with lldb which makes it unusable unless default version
++package has been installed. Small changes to code and debian/rules allows
++a workaround for lldb-server start up.
++
++To use this one needs to add cmake definition during configure. eg
++-DDEBIAN_VERSION_SUFFIX=-$(LLVM_VERSION)
++
++Better implementation would be to use /usr/share/llvm-$(VERSION)/bin but 
++that change seems to require a big change to the path handling code
++which could then break something else.
++
++This probably should have upstream bug but I couldn't find any existing report.
++
++Index: llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516.orig/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+++++ llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
++@@ -35,6 +35,7 @@
++ #include "lldb/Utility/StreamString.h"
++ #include "llvm/ADT/SmallString.h"
++ #include "llvm/Support/ScopedPrinter.h"
+++#include "llvm/Config/llvm-config.h"
++ 
++ #include "ProcessGDBRemoteLog.h"
++ 
++@@ -43,7 +44,7 @@
++ #elif defined(_WIN32)
++ #define DEBUGSERVER_BASENAME "lldb-server.exe"
++ #else
++-#define DEBUGSERVER_BASENAME "lldb-server"
+++# define DEBUGSERVER_BASENAME    "lldb-server-" LLVM_VERSION_STRING
++ #endif
++ 
++ #if defined(HAVE_LIBCOMPRESSION)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0a2f63ee9ed611bc7b7bbe1254e5c9f3a4001a13
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~++20200109103418+595ac8c46ea/lldb/bindings/python.swig
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200109103418+595ac8c46ea.orig/lldb/bindings/python.swig
+++++ llvm-toolchain-snapshot_10~++20200109103418+595ac8c46ea/lldb/bindings/python.swig
++@@ -50,7 +50,7 @@ except ImportError:
++ %enddef
++ // These versions will not generate working python modules, so error out early.
++ #if SWIG_VERSION >= 0x030009 && SWIG_VERSION < 0x030011
++-#error Swig versions 3.0.9 and 3.0.10 are incompatible with lldb.
+++#warning Swig versions 3.0.9 and 3.0.10 are incompatible with lldb.
++ #endif
++ 
++ // The name of the module to be created.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..206af91308cca35a0666b8030572688e7da0841b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++Description: Link with -latomic when mips* processor is detected
++Author: Gianfranco Costamagna <locutusofborg@debian.org>
++Last-Update: 2016-07-27
++
++---
++ lldb/cmake/LLDBDependencies.cmake |    6 ++++++
++ 1 file changed, 6 insertions(+)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Utility/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Utility/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Utility/CMakeLists.txt
++@@ -2,6 +2,13 @@ set(LLDB_SYSTEM_LIBS)
++ 
++ list(APPEND LLDB_SYSTEM_LIBS ${system_libs})
++ 
+++if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips" OR
+++   CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mipsel" OR
+++   CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64el" OR
+++   CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "powerpcspe")
+++  list(APPEND LLDB_SYSTEM_LIBS atomic)
+++endif()
+++
++ if (CMAKE_SYSTEM_NAME MATCHES "Windows")
++   list(APPEND LLDB_SYSTEM_LIBS ws2_32 rpcrt4)
++ endif ()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..eaa7ecf4271e40076182808a15bfd26dcd17cb54
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++Index: llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/tools/argdumper/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516.orig/lldb/tools/argdumper/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/tools/argdumper/CMakeLists.txt
++@@ -4,3 +4,6 @@ add_lldb_tool(lldb-argdumper ADD_TO_FRAM
++   LINK_COMPONENTS
++     Support
++ )
+++
+++install(TARGETS lldb-argdumper
+++  RUNTIME DESTINATION bin)
++Index: llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/tools/lldb-server/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516.orig/lldb/tools/lldb-server/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/tools/lldb-server/CMakeLists.txt
++@@ -52,3 +52,7 @@ add_lldb_tool(lldb-server
++ 
++ target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source")
++ target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS})
+++
+++install(TARGETS lldb-server
+++  RUNTIME DESTINATION bin)
+++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..670b2f1335efc7c5a5b74100eb0c427db98ec1ee
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,92 @@@
++The MIPS port aims to support the Loongson 3 family of CPUs in addition
++of the other MIPS CPUs. On the Loongson 3 family the MADD4 instructions
++are fused, while they are not fused on the other MIPS CPUs. In order to
++support both, we have to disabled those instructions.
++
++For that, the patch below basically corresponds to the --with-madd4=no
++used on the GCC side.
++
++Index: llvm-toolchain-10-10.0.1~+rc4/clang/lib/Basic/Targets/Mips.h
++===================================================================
++--- llvm-toolchain-10-10.0.1~+rc4.orig/clang/lib/Basic/Targets/Mips.h
+++++ llvm-toolchain-10-10.0.1~+rc4/clang/lib/Basic/Targets/Mips.h
++@@ -332,6 +332,8 @@
++         HasMSA = true;
++       else if (Feature == "+nomadd4")
++         DisableMadd4 = true;
+++      else if (Feature == "-nomadd4")
+++        DisableMadd4 = false;
++       else if (Feature == "+fp64")
++         FPMode = FP64;
++       else if (Feature == "-fp64")
++Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsSubtarget.cpp
++===================================================================
++--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/MipsSubtarget.cpp
+++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsSubtarget.cpp
++@@ -79,7 +79,7 @@
++       InMips16Mode(false), InMips16HardFloat(Mips16HardFloat),
++       InMicroMipsMode(false), HasDSP(false), HasDSPR2(false), HasDSPR3(false),
++       AllowMixed16_32(Mixed16_32 | Mips_Os16), Os16(Mips_Os16), HasMSA(false),
++-      UseTCCInDIV(false), HasSym32(false), HasEVA(false), DisableMadd4(false),
+++      UseTCCInDIV(false), HasSym32(false), HasEVA(false), DisableMadd4(true),
++       HasMT(false), HasCRC(false), HasVirt(false), HasGINV(false),
++       UseIndirectJumpsHazard(false), StackAlignOverride(StackAlignOverride),
++       TM(TM), TargetTriple(TT), TSInfo(),
++@@ -91,6 +91,9 @@
++   if (MipsArchVersion == MipsDefault)
++     MipsArchVersion = Mips32;
++ 
+++  if (hasMips32r6() || hasMips64r6())
+++    DisableMadd4 = false;
+++
++   // Don't even attempt to generate code for MIPS-I and MIPS-V. They have not
++   // been tested and currently exist for the integrated assembler only.
++   if (MipsArchVersion == Mips1)
++@@ -238,6 +241,7 @@
++ MipsSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS,
++                                                const TargetMachine &TM) {
++   std::string CPUName = MIPS_MC::selectMipsCPU(TM.getTargetTriple(), CPU);
+++  SubtargetFeatures Features(FS);
++ 
++   // Parse features string.
++   ParseSubtargetFeatures(CPUName, FS);
++@@ -260,6 +264,13 @@
++     report_fatal_error("64-bit code requested on a subtarget that doesn't "
++                        "support it!");
++ 
+++  for (const std::string &Feature : Features.getFeatures()) {
+++    if (Feature == "+nomadd4")
+++      DisableMadd4 = true;
+++    else if (Feature == "-nomadd4")
+++      DisableMadd4 = false;
+++  }
+++
++   return *this;
++ }
++ 
++Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/Mips.td
++===================================================================
++--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/Mips.td
+++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/Mips.td
++@@ -205,7 +205,7 @@
++                                "UseTCCInDIV", "false",
++                                "Force the assembler to use trapping">;
++ 
++-def FeatureMadd4
+++def FeatureNoMadd4
++     : SubtargetFeature<"nomadd4", "DisableMadd4", "true",
++                        "Disable 4-operand madd.fmt and related instructions">;
++ 
++Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsInstrInfo.td
++===================================================================
++--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/MipsInstrInfo.td
+++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsInstrInfo.td
++@@ -242,7 +242,7 @@
++ def HasMSA : Predicate<"Subtarget->hasMSA()">,
++              AssemblerPredicate<"FeatureMSA">;
++ def HasMadd4 : Predicate<"!Subtarget->disableMadd4()">,
++-               AssemblerPredicate<"!FeatureMadd4">;
+++               AssemblerPredicate<"!FeatureNoMadd4">;
++ def HasMT  : Predicate<"Subtarget->hasMT()">,
++              AssemblerPredicate<"FeatureMT">;
++ def UseIndirectJumpsHazard : Predicate<"Subtarget->useIndirectJumpsHazard()">,
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6ed13aac4a0f3a2759599d3c56d72d71bd5a699a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/Mips.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Arch/Mips.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/Mips.cpp
++@@ -468,10 +468,10 @@ bool mips::isFP64ADefault(const llvm::Tr
++ 
++ bool mips::isFPXXDefault(const llvm::Triple &Triple, StringRef CPUName,
++                          StringRef ABIName, mips::FloatABI FloatABI) {
++-  if (Triple.getVendor() != llvm::Triple::ImaginationTechnologies &&
+++/*  if (Triple.getVendor() != llvm::Triple::ImaginationTechnologies &&
++       Triple.getVendor() != llvm::Triple::MipsTechnologies &&
++       !Triple.isAndroid())
++-    return false;
+++    return false;*/
++ 
++   if (ABIName != "32")
++     return false;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bf782e02b0b76bb94e15e9d740500659a66f7178
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,44 @@@
++Description: cgi method is deprecated, use html instead
++Author: Gianfranco Costamagna <locutusofborg@debian.org>
++Last-Update: 2020-02-25
++
++--- llvm-toolchain-10-10.0.0~+rc2.orig/llvm/tools/opt-viewer/opt-viewer.py
+++++ llvm-toolchain-10-10.0.0~+rc2/llvm/tools/opt-viewer/opt-viewer.py
++@@ -3,7 +3,7 @@
++ from __future__ import print_function
++ 
++ import argparse
++-import cgi
+++import html
++ import codecs
++ import errno
++ import functools
++@@ -200,7 +200,7 @@ class IndexRenderer:
++         self.max_hottest_remarks_on_index = max_hottest_remarks_on_index
++ 
++     def render_entry(self, r, odd):
++-        escaped_name = cgi.escape(r.DemangledFunctionName)
+++        escaped_name = html.escape(r.DemangledFunctionName)
++         print(u'''
++ <tr>
++ <td class=\"column-entry-{odd}\"><a href={r.Link}>{r.DebugLocString}</a></td>
++--- llvm-toolchain-10-10.0.0~+rc2.orig/llvm/tools/opt-viewer/optrecord.py
+++++ llvm-toolchain-10-10.0.0~+rc2/llvm/tools/opt-viewer/optrecord.py
++@@ -10,7 +10,7 @@ except ImportError:
++     print("For faster parsing, you may want to install libYAML for PyYAML")
++     from yaml import Loader
++ 
++-import cgi
+++import html
++ from collections import defaultdict
++ import fnmatch
++ import functools
++@@ -158,7 +158,7 @@ class Remark(yaml.YAMLObject):
++         (key, value) = list(mapping.items())[0]
++ 
++         if key == 'Caller' or key == 'Callee' or key == 'DirectCallee':
++-            value = cgi.escape(self.demangle(value))
+++            value = html.escape(self.demangle(value))
++ 
++         if dl and key != 'Caller':
++             dl_dict = dict(list(dl))
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a9849221780e2c88c1a6a7732c106b93ed9ad7ce
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,47 @@@
++Description:
++ Disable z3 to avoid pulling ocaml into main.
++ For some reason the cmake option LLVM_ENABLE_Z3_SOLVER was not taken into account
++Author: Gianfranco Costamagna <locutusofborg@debian.org>
++
++Last-Update: 2019-11-26
++
++Index: llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9/llvm/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9.orig/llvm/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9/llvm/CMakeLists.txt
++@@ -351,24 +351,22 @@ option(LLVM_ENABLE_ZLIB "Use zlib for co
++ 
++ set(LLVM_Z3_INSTALL_DIR "" CACHE STRING "Install directory of the Z3 solver.")
++ 
++-find_package(Z3 4.7.1)
++-
++-if (LLVM_Z3_INSTALL_DIR)
++-  if (NOT Z3_FOUND)
++-    message(FATAL_ERROR "Z3 >= 4.7.1 has not been found in LLVM_Z3_INSTALL_DIR: ${LLVM_Z3_INSTALL_DIR}.")
++-  endif()
++-endif()
++-
++-set(LLVM_ENABLE_Z3_SOLVER_DEFAULT "${Z3_FOUND}")
++-
++ option(LLVM_ENABLE_Z3_SOLVER
++   "Enable Support for the Z3 constraint solver in LLVM."
++-  ${LLVM_ENABLE_Z3_SOLVER_DEFAULT}
+++  ON
++ )
++ 
++ if (LLVM_ENABLE_Z3_SOLVER)
++-  if (NOT Z3_FOUND)
++-    message(FATAL_ERROR "LLVM_ENABLE_Z3_SOLVER cannot be enabled when Z3 is not available.")
+++  find_package(Z3 4.7.1)
+++
+++  if (LLVM_Z3_INSTALL_DIR)
+++    if (NOT Z3_FOUND)
+++      message(FATAL_ERROR "Z3 >= 4.7.1 has not been found in LLVM_Z3_INSTALL_DIR: ${LLVM_Z3_INSTALL_DIR}.")
+++    endif()
+++  else()
+++    if (NOT Z3_FOUND)
+++      message(FATAL_ERROR "LLVM_ENABLE_Z3_SOLVER cannot be enabled when Z3 is not available.")
+++    endif()
++   endif()
++ 
++   set(LLVM_WITH_Z3 1)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3d7a5bd27030044139a8ce86b54ad41efaf2ddd3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/CMakeLists.txt
++@@ -341,7 +341,8 @@ else()
++   set(LIBOMP_INSTALL_KIND ARCHIVE)
++ endif()
++ 
++-set(LIBOMP_LIB_FILE ${LIBOMP_LIB_NAME}${LIBOMP_LIBRARY_SUFFIX})
+++set(LIBOMP_LIB_FILE ${LIBOMP_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${LIBOMP_VERSION_MAJOR})
+++
++ 
++ # Optional backwards compatibility aliases.
++ set(LIBOMP_INSTALL_ALIASES TRUE CACHE BOOL
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fc357936235d054c404ceb8d4930681525b42a50
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/CMakeLists.txt
++@@ -167,7 +167,8 @@ endif()
++ 
++ # Linking command will include libraries in LIBOMP_CONFIGURED_LIBFLAGS
++ libomp_get_libflags(LIBOMP_CONFIGURED_LIBFLAGS)
++-target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${CMAKE_DL_LIBS})
+++target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${CMAKE_DL_LIBS}
+++  "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports_so.txt")
++ 
++ # Create *.inc before compiling any sources
++ # objects depend on : .inc files
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..34a7d451c85d29dbb7c299ce0151bdaa37f0de16
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/tools/check-execstack.pl
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/tools/check-execstack.pl
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/tools/check-execstack.pl
++@@ -45,7 +45,8 @@ sub execstack($) {
++     #    GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4
++     # Linux* OS Intel(R) 64:
++     #    GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RWE 0x8
++-    if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0x[0-9a-f]+\s*\z} ) {
+++#    if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0x[0-9a-f]+\s*\z} ) {
+++    if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0(?:x[0-9a-f]+)*\s*\z} ) {
++         runtime_error( "$file: Cannot parse stack segment line:", ">>> $stack[ 0 ]" );
++     }; # if
++     my $attrs = $1;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..99bb48736a11ae9441dcb8962146288ea9032988
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,56 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_affinity.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_affinity.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_affinity.h
++@@ -211,28 +211,29 @@ public:
++ #elif __NR_sched_getaffinity != 223
++ #error Wrong code for getaffinity system call.
++ #endif /* __NR_sched_getaffinity */
++-#elif KMP_ARCH_MIPS
++-#ifndef __NR_sched_setaffinity
++-#define __NR_sched_setaffinity 4239
++-#elif __NR_sched_setaffinity != 4239
++-#error Wrong code for setaffinity system call.
++-#endif /* __NR_sched_setaffinity */
++-#ifndef __NR_sched_getaffinity
++-#define __NR_sched_getaffinity 4240
++-#elif __NR_sched_getaffinity != 4240
++-#error Wrong code for getaffinity system call.
++-#endif /* __NR_sched_getaffinity */
++-#elif KMP_ARCH_MIPS64
++-#ifndef __NR_sched_setaffinity
++-#define __NR_sched_setaffinity 5195
++-#elif __NR_sched_setaffinity != 5195
++-#error Wrong code for setaffinity system call.
++-#endif /* __NR_sched_setaffinity */
++-#ifndef __NR_sched_getaffinity
++-#define __NR_sched_getaffinity 5196
++-#elif __NR_sched_getaffinity != 5196
++-#error Wrong code for getaffinity system call.
++-#endif /* __NR_sched_getaffinity */
+++# elif KMP_ARCH_MIPS
+++#  ifndef __NR_sched_setaffinity
+++#   define __NR_sched_setaffinity  4239
+++#  elif __NR_sched_setaffinity != 4239
+++#   error Wrong code for setaffinity system call.
+++#  endif /* __NR_sched_setaffinity */
+++#  ifndef __NR_sched_getaffinity
+++#   define __NR_sched_getaffinity  4240
+++#  elif __NR_sched_getaffinity != 4240
+++#   error Wrong code for getaffinity system call.
+++#  endif /* __NR_sched_getaffinity */
+++# elif KMP_ARCH_MIPS64
+++#  ifndef __NR_sched_setaffinity
+++#   define __NR_sched_setaffinity  5195
+++#  elif __NR_sched_setaffinity != 5195
+++#   error Wrong code for setaffinity system call.
+++#  endif /* __NR_sched_setaffinity */
+++#  ifndef __NR_sched_getaffinity
+++#   define __NR_sched_getaffinity  5196
+++#  elif __NR_sched_getaffinity != 5196
+++#   error Wrong code for getaffinity system call.
+++#  endif /* __NR_sched_getaffinity */
+++# else
++ #error Unknown or unsupported architecture
++ #endif /* KMP_ARCH_* */
++ #elif KMP_OS_FREEBSD
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..82800acb8a4500a8f6a6fd203f8cb878e6257c38
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,164 @@@
++Description: Add -m(no-)spe, and e500 CPU definitions and support to clang
++Author: Justin Hibbits <jrh29@alumni.cwru.edu>
++Origin: https://reviews.llvm.org/D49754
++Last-Update: 2019-02-14
++
++--- llvm-toolchain-snapshot-9~svn351420.orig/clang/include/clang/Driver/Options.td
+++++ llvm-toolchain-snapshot-9~svn351420/clang/include/clang/Driver/Options.td
++@@ -2180,6 +2180,8 @@ def faltivec : Flag<["-"], "faltivec">,
++ def fno_altivec : Flag<["-"], "fno-altivec">, Group<f_Group>, Flags<[DriverOption]>;
++ def maltivec : Flag<["-"], "maltivec">, Group<m_ppc_Features_Group>;
++ def mno_altivec : Flag<["-"], "mno-altivec">, Group<m_ppc_Features_Group>;
+++def mspe : Flag<["-"], "mspe">, Group<m_ppc_Features_Group>;
+++def mno_spe : Flag<["-"], "mno-spe">, Group<m_ppc_Features_Group>;
++ def mvsx : Flag<["-"], "mvsx">, Group<m_ppc_Features_Group>;
++ def mno_vsx : Flag<["-"], "mno-vsx">, Group<m_ppc_Features_Group>;
++ def msecure_plt : Flag<["-"], "msecure-plt">, Group<m_ppc_Features_Group>;
++--- llvm-toolchain-snapshot-9~svn351420.orig/clang/lib/Basic/Targets/PPC.cpp
+++++ llvm-toolchain-snapshot-9~svn351420/clang/lib/Basic/Targets/PPC.cpp
++@@ -54,6 +54,10 @@ bool PPCTargetInfo::handleTargetFeatures
++       HasFloat128 = true;
++     } else if (Feature == "+power9-vector") {
++       HasP9Vector = true;
+++    } else if (Feature == "+spe") {
+++      HasSPE = true;
+++      LongDoubleWidth = LongDoubleAlign = 64;
+++      LongDoubleFormat = &llvm::APFloat::IEEEdouble();
++     }
++     // TODO: Finish this list and add an assert that we've handled them
++     // all.
++@@ -161,6 +165,10 @@ void PPCTargetInfo::getTargetDefines(con
++     Builder.defineMacro("__VEC__", "10206");
++     Builder.defineMacro("__ALTIVEC__");
++   }
+++  if (HasSPE) {
+++    Builder.defineMacro("__SPE__");
+++    Builder.defineMacro("__NO_FPRS__");
+++  }
++   if (HasVSX)
++     Builder.defineMacro("__VSX__");
++   if (HasP8Vector)
++@@ -306,6 +314,11 @@ bool PPCTargetInfo::initFeatureMap(
++                         .Case("pwr8", true)
++                         .Default(false);
++ 
+++  Features["spe"] = llvm::StringSwitch<bool>(CPU)
+++                        .Case("e500", true)
+++                        .Case("8548", true)
+++                        .Default(false);
+++
++   if (!ppcUserFeaturesCheck(Diags, FeaturesVec))
++     return false;
++ 
++@@ -334,6 +347,7 @@ bool PPCTargetInfo::hasFeature(StringRef
++       .Case("extdiv", HasExtDiv)
++       .Case("float128", HasFloat128)
++       .Case("power9-vector", HasP9Vector)
+++      .Case("spe", HasSPE)
++       .Default(false);
++ }
++ 
++@@ -443,16 +457,16 @@ ArrayRef<TargetInfo::AddlRegName> PPCTar
++ }
++ 
++ static constexpr llvm::StringLiteral ValidCPUNames[] = {
++-    {"generic"}, {"440"},         {"450"},     {"601"},    {"602"},
++-    {"603"},     {"603e"},        {"603ev"},   {"604"},    {"604e"},
++-    {"620"},     {"630"},         {"g3"},      {"7400"},   {"g4"},
++-    {"7450"},    {"g4+"},         {"750"},     {"970"},    {"g5"},
++-    {"a2"},      {"a2q"},         {"e500mc"},  {"e5500"},  {"power3"},
++-    {"pwr3"},    {"power4"},      {"pwr4"},    {"power5"}, {"pwr5"},
++-    {"power5x"}, {"pwr5x"},       {"power6"},  {"pwr6"},   {"power6x"},
++-    {"pwr6x"},   {"power7"},      {"pwr7"},    {"power8"}, {"pwr8"},
++-    {"power9"},  {"pwr9"},        {"powerpc"}, {"ppc"},    {"powerpc64"},
++-    {"ppc64"},   {"powerpc64le"}, {"ppc64le"},
+++    {"generic"},   {"440"},       {"450"},         {"601"},         {"602"},
+++    {"603"},       {"603e"},      {"603ev"},       {"604"},         {"604e"},
+++    {"620"},       {"630"},       {"g3"},          {"7400"},        {"g4"},
+++    {"7450"},      {"g4+"},       {"750"},         {"8548"},        {"970"},
+++    {"g5"},        {"a2"},        {"a2q"},         {"e500"},        {"e500mc"},
+++    {"e5500"},     {"power3"},    {"pwr3"},        {"power4"},      {"pwr4"},
+++    {"power5"},    {"pwr5"},      {"power5x"},     {"pwr5x"},       {"power6"},
+++    {"pwr6"},      {"power6x"},   {"pwr6x"},       {"power7"},      {"pwr7"},
+++    {"power8"},    {"pwr8"},      {"power9"},      {"pwr9"},        {"powerpc"},
+++    {"ppc"},       {"powerpc64"}, {"ppc64"},       {"powerpc64le"}, {"ppc64le"},
++ };
++ 
++ bool PPCTargetInfo::isValidCPUName(StringRef Name) const {
++--- llvm-toolchain-snapshot-9~svn351420.orig/clang/lib/Basic/Targets/PPC.h
+++++ llvm-toolchain-snapshot-9~svn351420/clang/lib/Basic/Targets/PPC.h
++@@ -45,7 +45,8 @@ class LLVM_LIBRARY_VISIBILITY PPCTargetI
++     ArchDefinePwr8 = 1 << 12,
++     ArchDefinePwr9 = 1 << 13,
++     ArchDefineA2 = 1 << 14,
++-    ArchDefineA2q = 1 << 15
+++    ArchDefineA2q = 1 << 15,
+++    ArchDefine500v2 = 1 << 16
++   } ArchDefineTypes;
++ 
++ 
++@@ -66,6 +67,7 @@ class LLVM_LIBRARY_VISIBILITY PPCTargetI
++   bool HasBPERMD = false;
++   bool HasExtDiv = false;
++   bool HasP9Vector = false;
+++  bool HasSPE = false;
++ 
++ protected:
++   std::string ABI;
++@@ -145,6 +147,8 @@ public:
++                         ArchDefinePwr6x | ArchDefinePwr6 | ArchDefinePwr5x |
++                         ArchDefinePwr5 | ArchDefinePwr4 | ArchDefinePpcgr |
++                         ArchDefinePpcsq)
+++              .Cases("e500", "e500v2",
+++                    ArchDefineName | ArchDefine500v2)
++               .Default(ArchDefineNone);
++     }
++     return CPUKnown;
++--- llvm-toolchain-snapshot-9~svn351420.orig/clang/lib/CodeGen/TargetInfo.cpp
+++++ llvm-toolchain-snapshot-9~svn351420/clang/lib/CodeGen/TargetInfo.cpp
++@@ -9316,7 +9316,8 @@ const TargetCodeGenInfo &CodeGenModule::
++ 
++   case llvm::Triple::ppc:
++     return SetCGInfo(
++-        new PPC32TargetCodeGenInfo(Types, CodeGenOpts.FloatABI == "soft"));
+++        new PPC32TargetCodeGenInfo(Types, CodeGenOpts.FloatABI == "soft" ||
+++                                   getTarget().hasFeature("spe")));
++   case llvm::Triple::ppc64:
++     if (Triple.isOSBinFormatELF()) {
++       PPC64_SVR4_ABIInfo::ABIKind Kind = PPC64_SVR4_ABIInfo::ELFv1;
++--- llvm-toolchain-snapshot-9~svn351420.orig/clang/test/Driver/ppc-features.cpp
+++++ llvm-toolchain-snapshot-9~svn351420/clang/test/Driver/ppc-features.cpp
++@@ -168,6 +168,9 @@
++ // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-invariant-function-descriptors -minvariant-function-descriptors -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-INVFUNCDESC %s
++ // CHECK-INVFUNCDESC: "-target-feature" "+invariant-function-descriptors"
++ 
+++// RUN: %clang -target powerpc-unknown-linux-gnu %s -mno-spe -mspe -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-SPE %s
+++// CHECK-SPE: "-target-feature" "+spe"
+++
++ // Assembler features
++ // RUN: %clang -target powerpc64-unknown-linux-gnu %s -### -o %t.o -no-integrated-as 2>&1 | FileCheck -check-prefix=CHECK_BE_AS_ARGS %s
++ // CHECK_BE_AS_ARGS: "-mppc64"
++--- llvm-toolchain-snapshot-9~svn351420.orig/clang/test/Misc/target-invalid-cpu-note.c
+++++ llvm-toolchain-snapshot-9~svn351420/clang/test/Misc/target-invalid-cpu-note.c
++@@ -79,7 +79,7 @@
++ // PPC: error: unknown target CPU 'not-a-cpu'
++ // PPC: note: valid target CPU values are: generic, 440, 450, 601, 602, 603,
++ // PPC-SAME: 603e, 603ev, 604, 604e, 620, 630, g3, 7400, g4, 7450, g4+, 750,
++-// PPC-SAME: 970, g5, a2, a2q, e500mc, e5500, power3, pwr3, power4, pwr4,
+++// PPC-SAME: 970, g5, a2, a2q, e500, e500mc, e5500, power3, pwr3, power4, pwr4,
++ // PPC-SAME: power5, pwr5, power5x, pwr5x, power6, pwr6, power6x, pwr6x, power7,
++ // PPC-SAME: pwr7, power8, pwr8, power9, pwr9, powerpc, ppc, powerpc64, ppc64,
++ // PPC-SAME: powerpc64le, ppc64le
++--- llvm-toolchain-snapshot-9~svn351420.orig/clang/test/Preprocessor/init.c
+++++ llvm-toolchain-snapshot-9~svn351420/clang/test/Preprocessor/init.c
++@@ -7016,6 +7016,10 @@
++ //
++ // PPC32-LINUX-NOT: _CALL_LINUX
++ //
+++// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -target-feature +spe < /dev/null | FileCheck -match-full-lines -check-prefix PPC32-SPE %s
+++//
+++// PPC32-SPE:#define __SPE__ 1
+++//
++ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -match-full-lines -check-prefix PPC-DARWIN %s
++ //
++ // PPC-DARWIN:#define _ARCH_PPC 1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..969f0eb89b08dad2b56407e16d772fce2ee83235
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,420 @@@
++Description: PowerPC: Optimize SPE double parameter calling setup
++Author: Justin Hibbits <jrh29@alumni.cwru.edu>
++Origin: https://reviews.llvm.org/D54583
++Last-Update: 2019-02-14
++
++--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCCallingConv.td
+++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCCallingConv.td
++@@ -90,7 +90,7 @@ def RetCC_PPC : CallingConv<[
++   CCIfSubtarget<"hasSPE()",
++        CCIfType<[f32], CCAssignToReg<[R3, R4, R5, R6, R7, R8, R9, R10]>>>,
++   CCIfSubtarget<"hasSPE()",
++-       CCIfType<[f64], CCAssignToReg<[S3, S4, S5, S6, S7, S8, S9, S10]>>>,
+++       CCIfType<[f64], CCCustom<"CC_PPC32_SPE_RetF64">>>,
++ 
++   // For P9, f128 are passed in vector registers.
++   CCIfType<[f128],
++@@ -179,6 +179,9 @@ def CC_PPC32_SVR4_Common : CallingConv<[
++   CCIfType<[i32],
++   CCIfSplit<CCIfNotSubtarget<"useSoftFloat()", 
++                             CCCustom<"CC_PPC32_SVR4_Custom_AlignArgRegs">>>>,
+++  CCIfType<[f64],
+++  CCIfSubtarget<"hasSPE()",
+++                CCCustom<"CC_PPC32_SVR4_Custom_AlignArgRegs">>>,
++   CCIfSplit<CCIfSubtarget<"useSoftFloat()",
++                           CCIfOrigArgWasPPCF128<CCCustom<
++                           "CC_PPC32_SVR4_Custom_SkipLastArgRegsPPCF128">>>>,
++@@ -199,7 +202,7 @@ def CC_PPC32_SVR4_Common : CallingConv<[
++                             CCAssignToReg<[F1, F2, F3, F4, F5, F6, F7, F8]>>>,
++   CCIfType<[f64],
++            CCIfSubtarget<"hasSPE()",
++-                         CCAssignToReg<[S3, S4, S5, S6, S7, S8, S9, S10]>>>,
+++                         CCCustom<"CC_PPC32_SPE_CustomSplitFP64">>>,
++   CCIfType<[f32],
++            CCIfSubtarget<"hasSPE()",
++                          CCAssignToReg<[R3, R4, R5, R6, R7, R8, R9, R10]>>>,
++--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCISelLowering.cpp
+++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCISelLowering.cpp
++@@ -1232,22 +1232,6 @@ unsigned PPCTargetLowering::getByValType
++   return Align;
++ }
++ 
++-unsigned PPCTargetLowering::getNumRegistersForCallingConv(LLVMContext &Context,
++-                                                          CallingConv:: ID CC,
++-                                                          EVT VT) const {
++-  if (Subtarget.hasSPE() && VT == MVT::f64)
++-    return 2;
++-  return PPCTargetLowering::getNumRegisters(Context, VT);
++-}
++-
++-MVT PPCTargetLowering::getRegisterTypeForCallingConv(LLVMContext &Context,
++-                                                     CallingConv:: ID CC,
++-                                                     EVT VT) const {
++-  if (Subtarget.hasSPE() && VT == MVT::f64)
++-    return MVT::i32;
++-  return PPCTargetLowering::getRegisterType(Context, VT);
++-}
++-
++ bool PPCTargetLowering::useSoftFloat() const {
++   return Subtarget.useSoftFloat();
++ }
++@@ -1365,6 +1349,8 @@ const char *PPCTargetLowering::getTarget
++   case PPCISD::QBFLT:           return "PPCISD::QBFLT";
++   case PPCISD::QVLFSb:          return "PPCISD::QVLFSb";
++   case PPCISD::BUILD_FP128:     return "PPCISD::BUILD_FP128";
+++  case PPCISD::BUILD_SPE64:     return "PPCISD::BUILD_SPE64";
+++  case PPCISD::EXTRACT_SPE:     return "PPCISD::EXTRACT_SPE";
++   case PPCISD::EXTSWSLI:        return "PPCISD::EXTSWSLI";
++   }
++   return nullptr;
++@@ -3162,6 +3148,58 @@ bool llvm::CC_PPC32_SVR4_Custom_Dummy(un
++   return true;
++ }
++ 
+++bool llvm::CC_PPC32_SPE_CustomSplitFP64(unsigned &ValNo, MVT &ValVT,
+++                                        MVT &LocVT,
+++                                        CCValAssign::LocInfo &LocInfo,
+++                                        ISD::ArgFlagsTy &ArgFlags,
+++                                        CCState &State) {
+++  static const MCPhysReg HiRegList[] = { PPC::R3, PPC::R5, PPC::R7, PPC::R9 };
+++  static const MCPhysReg LoRegList[] = { PPC::R4, PPC::R6, PPC::R8, PPC::R10 };
+++
+++  // Try to get the first register.
+++  unsigned Reg = State.AllocateReg(HiRegList);
+++  if (!Reg)
+++    return false;
+++
+++  unsigned i;
+++  for (i = 0; i < sizeof(HiRegList) / sizeof(HiRegList[0]); ++i)
+++    if (HiRegList[i] == Reg)
+++      break;
+++
+++  unsigned T = State.AllocateReg(LoRegList[i]);
+++  (void)T;
+++  assert(T == LoRegList[i] && "Could not allocate register");
+++
+++  State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo));
+++  State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, LoRegList[i],
+++                                         LocVT, LocInfo));
+++  return true;
+++}
+++
+++bool llvm::CC_PPC32_SPE_RetF64(unsigned &ValNo, MVT &ValVT,
+++                               MVT &LocVT,
+++                               CCValAssign::LocInfo &LocInfo,
+++                               ISD::ArgFlagsTy &ArgFlags,
+++                               CCState &State) {
+++  static const MCPhysReg HiRegList[] = { PPC::R3, PPC::R5, PPC::R7, PPC::R9 };
+++  static const MCPhysReg LoRegList[] = { PPC::R4, PPC::R6, PPC::R8, PPC::R10 };
+++
+++  // Try to get the first register.
+++  unsigned Reg = State.AllocateReg(HiRegList);
+++  if (!Reg)
+++    return false;
+++
+++  unsigned i;
+++  for (i = 0; i < sizeof(HiRegList) / sizeof(HiRegList[0]); ++i)
+++    if (HiRegList[i] == Reg)
+++      break;
+++
+++  State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo));
+++  State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, LoRegList[i],
+++                                         LocVT, LocInfo));
+++  return true;
+++}
+++
++ bool llvm::CC_PPC32_SVR4_Custom_AlignArgRegs(unsigned &ValNo, MVT &ValVT,
++                                              MVT &LocVT,
++                                              CCValAssign::LocInfo &LocInfo,
++@@ -3449,7 +3487,7 @@ SDValue PPCTargetLowering::LowerFormalAr
++   // Reserve space for the linkage area on the stack.
++   unsigned LinkageSize = Subtarget.getFrameLowering()->getLinkageSize();
++   CCInfo.AllocateStack(LinkageSize, PtrByteSize);
++-  if (useSoftFloat() || hasSPE())
+++  if (useSoftFloat())
++     CCInfo.PreAnalyzeFormalArguments(Ins);
++ 
++   CCInfo.AnalyzeFormalArguments(Ins, CC_PPC32_SVR4);
++@@ -3482,7 +3520,8 @@ SDValue PPCTargetLowering::LowerFormalAr
++           if (Subtarget.hasVSX())
++             RC = &PPC::VSFRCRegClass;
++           else if (Subtarget.hasSPE())
++-            RC = &PPC::SPERCRegClass;
+++            // SPE passes doubles in GPR pairs.
+++            RC = &PPC::GPRCRegClass;
++           else
++             RC = &PPC::F8RCRegClass;
++           break;
++@@ -3506,13 +3545,30 @@ SDValue PPCTargetLowering::LowerFormalAr
++           break;
++       }
++ 
++-      // Transform the arguments stored in physical registers into virtual ones.
++-      unsigned Reg = MF.addLiveIn(VA.getLocReg(), RC);
++-      SDValue ArgValue = DAG.getCopyFromReg(Chain, dl, Reg,
++-                                            ValVT == MVT::i1 ? MVT::i32 : ValVT);
+++      SDValue ArgValue;
+++      if (VA.getLocVT() == MVT::f64 && Subtarget.hasSPE()) {
+++        // Transform the arguments stored in physical registers into
+++        // virtual ones.
+++        unsigned Reg = MF.addLiveIn(VA.getLocReg(), RC);
+++        ArgValue = DAG.getCopyFromReg(Chain, dl, Reg, MVT::i32);
+++
+++        SDValue ArgValue2;
+++        Reg = MF.addLiveIn(ArgLocs[++i].getLocReg(), RC);
+++        ArgValue2 = DAG.getCopyFromReg(Chain, dl, Reg, MVT::i32);
+++        if (!Subtarget.isLittleEndian())
+++          std::swap (ArgValue, ArgValue2);
+++        ArgValue = DAG.getNode(PPCISD::BUILD_SPE64, dl, MVT::f64, ArgValue,
+++                               ArgValue2);
+++      } else {
++ 
++-      if (ValVT == MVT::i1)
++-        ArgValue = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, ArgValue);
+++        // Transform the arguments stored in physical registers into
+++        // virtual ones.
+++        unsigned Reg = MF.addLiveIn(VA.getLocReg(), RC);
+++        ArgValue = DAG.getCopyFromReg(Chain, dl, Reg,
+++                                      ValVT == MVT::i1 ? MVT::i32 : ValVT);
+++        if (ValVT == MVT::i1)
+++          ArgValue = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, ArgValue);
+++      }
++ 
++       InVals.push_back(ArgValue);
++     } else {
++@@ -5129,10 +5185,27 @@ SDValue PPCTargetLowering::LowerCallResu
++     CCValAssign &VA = RVLocs[i];
++     assert(VA.isRegLoc() && "Can only return in registers!");
++ 
++-    SDValue Val = DAG.getCopyFromReg(Chain, dl,
++-                                     VA.getLocReg(), VA.getLocVT(), InFlag);
++-    Chain = Val.getValue(1);
++-    InFlag = Val.getValue(2);
+++    SDValue Val;
+++
+++    if (Subtarget.hasSPE() && VA.getLocVT() == MVT::f64) {
+++      SDValue Lo = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), MVT::i32,
+++                                      InFlag);
+++      Chain = Lo.getValue(1);
+++      InFlag = Lo.getValue(2);
+++      VA = RVLocs[++i]; // skip ahead to next loc
+++      SDValue Hi = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), MVT::i32,
+++                                      InFlag);
+++      Chain = Hi.getValue(1);
+++      InFlag = Hi.getValue(2);
+++      if (!Subtarget.isLittleEndian())
+++        std::swap (Lo, Hi);
+++      Val = DAG.getNode(PPCISD::BUILD_SPE64, dl, MVT::f64, Lo, Hi);
+++    } else {
+++      Val = DAG.getCopyFromReg(Chain, dl,
+++                               VA.getLocReg(), VA.getLocVT(), InFlag);
+++      Chain = Val.getValue(1);
+++      InFlag = Val.getValue(2);
+++    }
++ 
++     switch (VA.getLocInfo()) {
++     default: llvm_unreachable("Unknown loc info!");
++@@ -5444,12 +5517,12 @@ SDValue PPCTargetLowering::LowerCall_32S
++ 
++   bool seenFloatArg = false;
++   // Walk the register/memloc assignments, inserting copies/loads.
++-  for (unsigned i = 0, j = 0, e = ArgLocs.size();
+++  for (unsigned i = 0, realI = 0, j = 0, e = ArgLocs.size();
++        i != e;
++-       ++i) {
+++       ++i, ++realI) {
++     CCValAssign &VA = ArgLocs[i];
++-    SDValue Arg = OutVals[i];
++-    ISD::ArgFlagsTy Flags = Outs[i].Flags;
+++    SDValue Arg = OutVals[realI];
+++    ISD::ArgFlagsTy Flags = Outs[realI].Flags;
++ 
++     if (Flags.isByVal()) {
++       // Argument is an aggregate which is passed by value, thus we need to
++@@ -5498,7 +5571,18 @@ SDValue PPCTargetLowering::LowerCall_32S
++     if (VA.isRegLoc()) {
++       seenFloatArg |= VA.getLocVT().isFloatingPoint();
++       // Put argument in a physical register.
++-      RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
+++      if (Subtarget.hasSPE() && Arg.getValueType() == MVT::f64) {
+++        unsigned id = Subtarget.isLittleEndian() ? 0 : 1;
+++        SDValue SVal = DAG.getNode(PPCISD::EXTRACT_SPE, dl, MVT::i32, Arg,
+++                                   DAG.getIntPtrConstant(id, dl));
+++        RegsToPass.push_back(std::make_pair(VA.getLocReg(), SVal.getValue(0)));
+++        SVal = DAG.getNode(PPCISD::EXTRACT_SPE, dl, MVT::i32, Arg,
+++                           DAG.getIntPtrConstant(1 - id, dl));
+++
+++        RegsToPass.push_back(std::make_pair(ArgLocs[++i].getLocReg(),
+++                             SVal.getValue(0)));
+++      } else
+++        RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
++     } else {
++       // Put argument in the parameter list area of the current stack frame.
++       assert(VA.isMemLoc());
++@@ -6644,11 +6728,11 @@ PPCTargetLowering::LowerReturn(SDValue C
++   SmallVector<SDValue, 4> RetOps(1, Chain);
++ 
++   // Copy the result values into the output registers.
++-  for (unsigned i = 0; i != RVLocs.size(); ++i) {
+++  for (unsigned i = 0, realI = 0; i != RVLocs.size(); ++i, ++realI) {
++     CCValAssign &VA = RVLocs[i];
++     assert(VA.isRegLoc() && "Can only return in registers!");
++ 
++-    SDValue Arg = OutVals[i];
+++    SDValue Arg = OutVals[realI];
++ 
++     switch (VA.getLocInfo()) {
++     default: llvm_unreachable("Unknown loc info!");
++@@ -6663,8 +6747,21 @@ PPCTargetLowering::LowerReturn(SDValue C
++       Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg);
++       break;
++     }
++-
++-    Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), Arg, Flag);
+++    if (Subtarget.hasSPE() && VA.getLocVT() == MVT::f64) {
+++      bool isLittleEndian = Subtarget.isLittleEndian();
+++      // Legalize ret f64 -> ret 2 x i32.
+++      SDValue SVal =
+++          DAG.getNode(PPCISD::EXTRACT_SPE, dl, MVT::i32, Arg,
+++                      DAG.getIntPtrConstant(isLittleEndian ? 0 : 1, dl));
+++      Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), SVal, Flag);
+++      RetOps.push_back(DAG.getRegister(VA.getLocReg(), VA.getLocVT()));
+++      SVal = DAG.getNode(PPCISD::EXTRACT_SPE, dl, MVT::i32, Arg,
+++                         DAG.getIntPtrConstant(isLittleEndian ? 1 : 0, dl));
+++      Flag = Chain.getValue(1);
+++      VA = RVLocs[++i]; // skip ahead to next loc
+++      Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), SVal, Flag);
+++    } else
+++      Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), Arg, Flag);
++     Flag = Chain.getValue(1);
++     RetOps.push_back(DAG.getRegister(VA.getLocReg(), VA.getLocVT()));
++   }
++--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCISelLowering.h
+++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCISelLowering.h
++@@ -196,6 +196,15 @@ namespace llvm {
++       /// Direct move of 2 consective GPR to a VSX register.
++       BUILD_FP128,
++ 
+++      /// BUILD_SPE64 and EXTRACT_SPE are analogous to BUILD_PAIR and
+++      /// EXTRACT_ELEMENT but take f64 arguments instead of i64, as i64 is
+++      /// unsupported for this target.
+++      /// Merge 2 GPRs to a single SPE register.
+++      BUILD_SPE64,
+++
+++      /// Extract SPE register component, second argument is high or low.
+++      EXTRACT_SPE,
+++
++       /// Extract a subvector from signed integer vector and convert to FP.
++       /// It is primarily used to convert a (widened) illegal integer vector
++       /// type to a legal floating point vector type.
++@@ -898,14 +907,6 @@ namespace llvm {
++                                                unsigned JTI,
++                                                MCContext &Ctx) const override;
++ 
++-    unsigned getNumRegistersForCallingConv(LLVMContext &Context,
++-                                           CallingConv:: ID CC,
++-                                           EVT VT) const override;
++-
++-    MVT getRegisterTypeForCallingConv(LLVMContext &Context,
++-                                      CallingConv:: ID CC,
++-                                      EVT VT) const override;
++-
++   private:
++     struct ReuseLoadInfo {
++       SDValue Ptr;
++@@ -1110,6 +1111,7 @@ namespace llvm {
++     SDValue lowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG) const;
++     SDValue lowerEH_SJLJ_LONGJMP(SDValue Op, SelectionDAG &DAG) const;
++     SDValue LowerBITCAST(SDValue Op, SelectionDAG &DAG) const;
+++    SDValue LowerEXTRACT_ELEMENT(SDValue Op, SelectionDAG &DAG) const;
++ 
++     SDValue DAGCombineExtBoolTrunc(SDNode *N, DAGCombinerInfo &DCI) const;
++     SDValue DAGCombineBuildVector(SDNode *N, DAGCombinerInfo &DCI) const;
++@@ -1187,6 +1189,17 @@ namespace llvm {
++                                                  ISD::ArgFlagsTy &ArgFlags,
++                                                  CCState &State);
++ 
+++  bool CC_PPC32_SPE_CustomSplitFP64(unsigned &ValNo, MVT &ValVT,
+++                                    MVT &LocVT,
+++                                    CCValAssign::LocInfo &LocInfo,
+++                                    ISD::ArgFlagsTy &ArgFlags,
+++                                    CCState &State);
+++  bool CC_PPC32_SPE_RetF64(unsigned &ValNo, MVT &ValVT,
+++                           MVT &LocVT,
+++                           CCValAssign::LocInfo &LocInfo,
+++                           ISD::ArgFlagsTy &ArgFlags,
+++                           CCState &State);
+++
++   bool CC_PPC32_SVR4_Custom_AlignFPArgRegs(unsigned &ValNo, MVT &ValVT,
++                                            MVT &LocVT,
++                                            CCValAssign::LocInfo &LocInfo,
++--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCInstrInfo.td
+++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCInstrInfo.td
++@@ -231,6 +231,17 @@ def PPCbuild_fp128: SDNode<"PPCISD::BUIL
++                               SDTCisSameAs<1,2>]>,
++                            []>;
++ 
+++def PPCbuild_spe64: SDNode<"PPCISD::BUILD_SPE64",
+++                           SDTypeProfile<1, 2,
+++                             [SDTCisFP<0>, SDTCisSameSizeAs<1,2>,
+++                              SDTCisSameAs<1,2>]>,
+++                           []>;
+++
+++def PPCextract_spe : SDNode<"PPCISD::EXTRACT_SPE",
+++                            SDTypeProfile<1, 2,
+++                              [SDTCisInt<0>, SDTCisFP<1>, SDTCisPtrTy<2>]>,
+++                              []>;
+++
++ // These are target-independent nodes, but have target-specific formats.
++ def callseq_start : SDNode<"ISD::CALLSEQ_START", SDT_PPCCallSeqStart,
++                            [SDNPHasChain, SDNPOutGlue]>;
++--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCInstrSPE.td
+++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCInstrSPE.td
++@@ -512,7 +512,7 @@ def EVLWWSPLATX    : EVXForm_1<792, (out
++ 
++ def EVMERGEHI      : EVXForm_1<556, (outs sperc:$RT), (ins sperc:$RA, sperc:$RB),
++                                "evmergehi $RT, $RA, $RB", IIC_VecGeneral, []>;
++-def EVMERGELO      : EVXForm_1<557, (outs sperc:$RT), (ins sperc:$RA, sperc:$RB),
+++def EVMERGELO      : EVXForm_1<557, (outs sperc:$RT), (ins gprc:$RA, gprc:$RB),
++                                "evmergelo $RT, $RA, $RB", IIC_VecGeneral, []>;
++ def EVMERGEHILO    : EVXForm_1<558, (outs sperc:$RT), (ins sperc:$RA, sperc:$RB),
++                                "evmergehilo $RT, $RA, $RB", IIC_VecGeneral, []>;
++@@ -887,4 +887,14 @@ def : Pat<(f64 (selectcc i1:$lhs, i1:$rh
++           (SELECT_SPE (CRANDC $lhs, $rhs), $tval, $fval)>;
++ def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETNE)),
++           (SELECT_SPE (CRXOR $lhs, $rhs), $tval, $fval)>;
+++
+++
+++def : Pat<(f64 (PPCbuild_spe64 i32:$rB, i32:$rA)),
+++          (f64 (COPY_TO_REGCLASS (EVMERGELO $rA, $rB), SPERC))>;
+++
+++def : Pat<(i32 (PPCextract_spe f64:$rA, 1)),
+++          (i32 (EXTRACT_SUBREG (EVMERGEHI $rA, $rA), sub_32))>;
+++def : Pat<(i32 (PPCextract_spe f64:$rA, 0)),
+++          (i32 (EXTRACT_SUBREG $rA, sub_32))>;
+++
++ }
++--- llvm-toolchain-snapshot-9~svn351420.orig/test/CodeGen/PowerPC/spe.ll
+++++ llvm-toolchain-snapshot-9~svn351420/test/CodeGen/PowerPC/spe.ll
++@@ -472,10 +472,8 @@ entry:
++ ; CHECK-LABEL: test_dselect
++ ; CHECK: andi.
++ ; CHECK: bc
++-; CHECK: evldd
++-; CHECK: b
++-; CHECK: evldd
++-; CHECK: evstdd
+++; CHECK: evor
+++; CHECK: evmergehi
++ ; CHECK: blr
++ }
++ 
++@@ -519,7 +517,7 @@ entry:
++   %1 = call i32 asm sideeffect "efdctsi $0, $1", "=d,d"(double %0)
++   ret i32 %1
++ ; CHECK-LABEL: test_dasmconst
++-; CHECK: evldd
+++; CHECK: evmergelo
++ ; CHECK: #APP
++ ; CHECK: efdctsi
++ ; CHECK: #NO_APP
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..82183cf5b2c89f6ae18071961ef71bc9bb29891f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,137 @@@
++Description: PowerPC/SPE: Fix register spilling for SPE registers
++Author: Justin Hibbits <jrh29@alumni.cwru.edu>
++Origin: https://reviews.llvm.org/D56703
++Last-Update: 2019-02-14
++
++--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCCallingConv.td
+++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCCallingConv.td
++@@ -346,15 +346,22 @@ def CSR_NoRegs : CalleeSavedRegs<(add)>;
++ // and value may be altered by inter-library calls.
++ // Do not include r12 as it is used as a scratch register.
++ // Do not include return registers r3, f1, v2.
++-def CSR_SVR32_ColdCC : CalleeSavedRegs<(add (sequence "R%u", 4, 10),
++-                                          (sequence "R%u", 14, 31),
++-                                          F0, (sequence "F%u", 2, 31),
++-                                          (sequence "CR%u", 0, 7))>;
+++def CSR_SVR32_ColdCC_Common : CalleeSavedRegs<(add (sequence "R%u", 4, 10),
+++                                                (sequence "R%u", 14, 31),
+++                                                (sequence "CR%u", 0, 7))>;
+++
+++def CSR_SVR32_ColdCC : CalleeSavedRegs<(add CSR_SVR32_ColdCC_Common,
+++                                          F0, (sequence "F%u", 2, 31))>;
+++
++ 
++ def CSR_SVR32_ColdCC_Altivec : CalleeSavedRegs<(add CSR_SVR32_ColdCC,
++                                             (sequence "V%u", 0, 1),
++                                             (sequence "V%u", 3, 31))>;
++ 
+++def CSR_SVR32_ColdCC_SPE : CalleeSavedRegs<(add CSR_SVR32_ColdCC_Common,
+++                                            (sequence "S%u", 4, 10),
+++                                            (sequence "S%u", 14, 31))>;
+++
++ def CSR_SVR64_ColdCC : CalleeSavedRegs<(add  (sequence "X%u", 4, 10),
++                                              (sequence "X%u", 14, 31),
++                                              F0, (sequence "F%u", 2, 31),
++--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCInstrInfo.cpp
+++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCInstrInfo.cpp
++@@ -996,6 +996,8 @@ void PPCInstrInfo::copyPhysReg(MachineBa
++     Opc = PPC::QVFMRb;
++   else if (PPC::CRBITRCRegClass.contains(DestReg, SrcReg))
++     Opc = PPC::CROR;
+++  else if (PPC::SPE4RCRegClass.contains(DestReg, SrcReg))
+++    Opc = PPC::OR;
++   else if (PPC::SPERCRegClass.contains(DestReg, SrcReg))
++     Opc = PPC::EVOR;
++   else
++@@ -1026,10 +1028,10 @@ unsigned PPCInstrInfo::getStoreOpcodeFor
++       OpcodeIndex = SOK_Float8Spill;
++     } else if (PPC::F4RCRegClass.hasSubClassEq(RC)) {
++       OpcodeIndex = SOK_Float4Spill;
++-    } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) {
++-      OpcodeIndex = SOK_SPESpill;
++     } else if (PPC::SPE4RCRegClass.hasSubClassEq(RC)) {
++       OpcodeIndex = SOK_SPE4Spill;
+++    } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) {
+++      OpcodeIndex = SOK_SPESpill;
++     } else if (PPC::CRRCRegClass.hasSubClassEq(RC)) {
++       OpcodeIndex = SOK_CRSpill;
++     } else if (PPC::CRBITRCRegClass.hasSubClassEq(RC)) {
++@@ -1066,6 +1068,10 @@ unsigned PPCInstrInfo::getStoreOpcodeFor
++       OpcodeIndex = SOK_Float8Spill;
++     } else if (PPC::F4RCRegClass.contains(Reg)) {
++       OpcodeIndex = SOK_Float4Spill;
+++    } else if (PPC::SPE4RCRegClass.contains(Reg)) {
+++      OpcodeIndex = SOK_SPE4Spill;
+++    } else if (PPC::SPERCRegClass.contains(Reg)) {
+++      OpcodeIndex = SOK_SPESpill;
++     } else if (PPC::CRRCRegClass.contains(Reg)) {
++       OpcodeIndex = SOK_CRSpill;
++     } else if (PPC::CRBITRCRegClass.contains(Reg)) {
++@@ -1112,10 +1118,10 @@ PPCInstrInfo::getLoadOpcodeForSpill(unsi
++       OpcodeIndex = SOK_Float8Spill;
++     } else if (PPC::F4RCRegClass.hasSubClassEq(RC)) {
++       OpcodeIndex = SOK_Float4Spill;
++-    } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) {
++-      OpcodeIndex = SOK_SPESpill;
++     } else if (PPC::SPE4RCRegClass.hasSubClassEq(RC)) {
++       OpcodeIndex = SOK_SPE4Spill;
+++    } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) {
+++      OpcodeIndex = SOK_SPESpill;
++     } else if (PPC::CRRCRegClass.hasSubClassEq(RC)) {
++       OpcodeIndex = SOK_CRSpill;
++     } else if (PPC::CRBITRCRegClass.hasSubClassEq(RC)) {
++@@ -1152,6 +1158,10 @@ PPCInstrInfo::getLoadOpcodeForSpill(unsi
++       OpcodeIndex = SOK_Float8Spill;
++     } else if (PPC::F4RCRegClass.contains(Reg)) {
++       OpcodeIndex = SOK_Float4Spill;
+++    } else if (PPC::SPE4RCRegClass.hasSubClassEq(RC)) {
+++      OpcodeIndex = SOK_SPE4Spill;
+++    } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) {
+++      OpcodeIndex = SOK_SPESpill;
++     } else if (PPC::CRRCRegClass.contains(Reg)) {
++       OpcodeIndex = SOK_CRSpill;
++     } else if (PPC::CRBITRCRegClass.contains(Reg)) {
++--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCRegisterInfo.cpp
++@@ -167,7 +167,9 @@ PPCRegisterInfo::getCalleeSavedRegs(cons
++                       : (SaveR2 ? CSR_SVR64_ColdCC_R2_SaveList
++                                 : CSR_SVR64_ColdCC_SaveList))
++                : (Subtarget.hasAltivec() ? CSR_SVR32_ColdCC_Altivec_SaveList
++-                                         : CSR_SVR32_ColdCC_SaveList);
+++                                         : (Subtarget.hasSPE()
+++                                           ? CSR_SVR32_ColdCC_SPE_SaveList
+++                                           : CSR_SVR32_ColdCC_SaveList));
++   }
++ 
++   return TM.isPPC64()
++@@ -176,7 +178,9 @@ PPCRegisterInfo::getCalleeSavedRegs(cons
++                               : CSR_SVR464_Altivec_SaveList)
++                     : (SaveR2 ? CSR_SVR464_R2_SaveList : CSR_SVR464_SaveList))
++              : (Subtarget.hasAltivec() ? CSR_SVR432_Altivec_SaveList
++-                                       : CSR_SVR432_SaveList);
+++                                       : (Subtarget.hasSPE()
+++                                         ? CSR_SVR432_SPE_SaveList
+++                                         : CSR_SVR432_SaveList));
++ }
++ 
++ const MCPhysReg *
++@@ -226,13 +230,17 @@ PPCRegisterInfo::getCallPreservedMask(co
++     return TM.isPPC64() ? (Subtarget.hasAltivec() ? CSR_SVR64_ColdCC_Altivec_RegMask
++                                                   : CSR_SVR64_ColdCC_RegMask)
++                         : (Subtarget.hasAltivec() ? CSR_SVR32_ColdCC_Altivec_RegMask
++-                                                  : CSR_SVR32_ColdCC_RegMask);
+++                                                  : (Subtarget.hasSPE()
+++                                                  ? CSR_SVR32_ColdCC_SPE_RegMask
+++                                                  : CSR_SVR32_ColdCC_RegMask));
++   }
++ 
++   return TM.isPPC64() ? (Subtarget.hasAltivec() ? CSR_SVR464_Altivec_RegMask
++                                                 : CSR_SVR464_RegMask)
++                       : (Subtarget.hasAltivec() ? CSR_SVR432_Altivec_RegMask
++-                                                : CSR_SVR432_RegMask);
+++                                                : (Subtarget.hasSPE()
+++                                                  ? CSR_SVR432_SPE_RegMask
+++                                                  : CSR_SVR432_RegMask));
++ }
++ 
++ const uint32_t*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6b43448b76bcedbbae82357fb561cabef48b50da
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++Author: Gianfranco Costamagna <locutusofborg@debian.org>
++Last-Update: 2020-01-21
++
++--- llvm-toolchain-snapshot-10~++20191229111838+6991d5728f1.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++++ llvm-toolchain-snapshot-10~++20191229111838+6991d5728f1/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
++@@ -353,6 +353,8 @@ void ScriptInterpreterPython::ComputePyt
++   // x86_64, or bin on Windows).
++   llvm::sys::path::remove_filename(path);
++   llvm::sys::path::append(path, LLDB_PYTHON_RELATIVE_LIBDIR);
+++  // remove double "lib/lib" statement
+++  std::replace(path.begin(), path.end(), '/lib/lib/', '/lib/');
++ 
++ #if defined(_WIN32)
++   // This will be injected directly through FileSpec.GetDirectory().SetString(),
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..03b066ada824c5beafbe10526d4642e4be30c94b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++---
++ clang/bindings/python/clang/cindex.py |    2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/bindings/python/clang/cindex.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/bindings/python/clang/cindex.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/bindings/python/clang/cindex.py
++@@ -4160,7 +4160,7 @@ class Config(object):
++         elif name == 'Windows':
++             file = 'libclang.dll'
++         else:
++-            file = 'libclang.so'
+++            file = 'libclang-10.so'
++ 
++         if Config.library_path:
++             file = Config.library_path + '/' + file
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..068234c8840b2975dcde3d0c8b64d8d5bee7c526
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1412 @@@
++Description: change all shebangs to Python3
++ find . -name "*.py" -exec sed "s|\!/usr/bin/env python$|\!/usr/bin/env python3|g" -i {} \;
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #=- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python  -*-=#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/add_new_check.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-tidy/add_new_check.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/add_new_check.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #===- add_new_check.py - clang-tidy check generator ----------*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/rename_check.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-tidy/rename_check.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/rename_check.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #===- rename_check.py - clang-tidy check renamer -------------*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #===- clang-tidy-diff.py - ClangTidy Diff Checker ------------*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #===- run-clang-tidy.py - Parallel clang-tidy runner ---------*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/cppreference_parser.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clangd/include-mapping/cppreference_parser.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/cppreference_parser.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===- cppreference_parser.py -  ------------------------------*- python -*--===#
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/gen_std.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clangd/include-mapping/gen_std.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/gen_std.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===- gen_std.py -  ------------------------------------------*- python -*--===#
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/test.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clangd/include-mapping/test.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/test.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===- test.py -  ---------------------------------------------*- python -*--===#
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/test/clang-tidy/check_clang_tidy.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/test/clang-tidy/check_clang_tidy.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/test/clang-tidy/check_clang_tidy.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #===- check_clang_tidy.py - ClangTidy Test Helper ------------*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/bindings/python/examples/cindex/cindex-dump.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/bindings/python/examples/cindex/cindex-dump.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/bindings/python/examples/cindex/cindex-dump.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ #===- cindex-dump.py - cindex/Python Source Dump -------------*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/bindings/python/examples/cindex/cindex-includes.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/bindings/python/examples/cindex/cindex-includes.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/bindings/python/examples/cindex/cindex-includes.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ #===- cindex-includes.py - cindex/Python Inclusion Graph -----*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/docs/tools/dump_ast_matchers.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/docs/tools/dump_ast_matchers.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/docs/tools/dump_ast_matchers.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # A tool to parse ASTMatchers.h and update the documentation in
++ # ../LibASTMatchersReference.html automatically. Run from the
++ # directory in which this file is located to update the docs.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/docs/tools/dump_format_style.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/docs/tools/dump_format_style.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/docs/tools/dump_format_style.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # A tool to parse the FormatStyle struct from Format.h and update the
++ # documentation in ../ClangFormatStyleOptions.rst automatically.
++ # Run from the directory in which this file is located to update the docs.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/test/AST/gen_ast_dump_json_test.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/test/AST/gen_ast_dump_json_test.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/test/AST/gen_ast_dump_json_test.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ from collections import OrderedDict
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/clang-format/clang-format-diff.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/clang-format/clang-format-diff.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/clang-format/clang-format-diff.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #===- clang-format-diff.py - ClangFormat Diff Reformatter ----*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/clang-format/git-clang-format
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/clang-format/git-clang-format
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/clang-format/git-clang-format
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #===- git-clang-format - ClangFormat Git Integration ---------*- python -*--===#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-build
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/analyze-build
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-build
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ # See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-c++
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/analyze-c++
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-c++
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ # See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-cc
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/analyze-cc
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-cc
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ # See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-build
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/intercept-build
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-build
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ # See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-c++
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/intercept-c++
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-c++
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ # See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-cc
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/intercept-cc
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-cc
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ # See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/scan-build
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/scan-build
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/scan-build
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ # See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/bin/scan-view
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-view/bin/scan-view
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/bin/scan-view
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/share/Reporter.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-view/share/Reporter.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/share/Reporter.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ 
++ """Methods for reporting bugs."""
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/share/startfile.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-view/share/startfile.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/share/startfile.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ 
++ """Utility for opening a file using the default application in a cross-platform
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/ABITest/ABITestGen.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/ABITest/ABITestGen.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/ABITest/ABITestGen.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import absolute_import, division, print_function
++ from pprint import pprint
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CIndex/completion_logger_server.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/CIndex/completion_logger_server.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CIndex/completion_logger_server.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ from __future__ import absolute_import, division, print_function
++ import sys
++ from socket import *
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CaptureCmd
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/CaptureCmd
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CaptureCmd
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """CaptureCmd - A generic tool for capturing information about the
++ invocations of another program.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CmpDriver
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/CmpDriver
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CmpDriver
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ A simple utility that compares tool invocations and exit codes issued by
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/FindSpecRefs
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/FindSpecRefs
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/FindSpecRefs
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import os
++ import re
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/FuzzTest
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/FuzzTest
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/FuzzTest
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ This is a generic fuzz testing tool, see --help for more information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/TestUtils/deep-stack.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/TestUtils/deep-stack.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/TestUtils/deep-stack.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import absolute_import, division, print_function
++ def pcall(f, N):
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/CmpRuns.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/CmpRuns.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/CmpRuns.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ CmpRuns - A simple tool for comparing two static analyzer runs to determine
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestAdd.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/SATestAdd.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestAdd.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Static Analyzer qualification infrastructure: adding a new project to
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestBuild.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/SATestBuild.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestBuild.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Static Analyzer qualification infrastructure.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestUpdateDiffs.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/SATestUpdateDiffs.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestUpdateDiffs.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Update reference results for static analyzer.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SumTimerInfo.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/SumTimerInfo.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SumTimerInfo.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Script to Summarize statistics in the scan-build output.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/exploded-graph-rewriter.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/exploded-graph-rewriter.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/exploded-graph-rewriter.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ #===- exploded-graph-rewriter.py - ExplodedGraph dump tool -----*- python -*--#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/check_cfc.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/check_cfc/check_cfc.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/check_cfc.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """Check CFC - Check Compile Flow Consistency
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/obj_diff.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/check_cfc/obj_diff.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/obj_diff.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import absolute_import, division, print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/test_check_cfc.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/check_cfc/test_check_cfc.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/test_check_cfc.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """Test internal functions within check_cfc.py."""
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/creduce-clang-crash.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/creduce-clang-crash.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/creduce-clang-crash.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """Calls C-Reduce to create a minimal reproducer for clang crashes.
++ 
++ Output files:
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/hmaptool/hmaptool
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/hmaptool/hmaptool
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/hmaptool/hmaptool
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ from __future__ import absolute_import, division, print_function
++ 
++ import json
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/modfuzz.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/modfuzz.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/modfuzz.py
++@@ -1,4 +1,4 @@
++-#! /usr/bin/env python
+++#! /usr/bin/env python3
++ 
++ # To use:
++ #  1) Update the 'decls' list below with your fuzzing configuration.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/token-delta.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/token-delta.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/token-delta.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import absolute_import, division, print_function
++ import os
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/asan/scripts/asan_symbolize.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/asan/scripts/asan_symbolize.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/asan/scripts/asan_symbolize.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===- lib/asan/scripts/asan_symbolize.py -----------------------------------===#
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/dfsan/scripts/build-libc-list.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/dfsan/scripts/build-libc-list.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/dfsan/scripts/build-libc-list.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===- lib/dfsan/scripts/build-libc-list.py ---------------------------------===#
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===- lib/fuzzer/scripts/unbalanced_allocs.py ------------------------------===#
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/cpplint.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/sanitizer_common/scripts/cpplint.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/cpplint.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ # Copyright (c) 2009 Google Inc. All rights reserved.
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===- lib/sanitizer_common/scripts/gen_dynamic_list.py ---------------------===#
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/litlint.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/sanitizer_common/scripts/litlint.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/litlint.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ # litlint
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/sancov.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/sanitizer_common/scripts/sancov.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/sancov.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # Merge or print the coverage data collected by asan's coverage.
++ # Input files are sequences of 4-byte integers.
++ # We need to merge these integers into a set and then
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/cat_files.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/cat_files.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/cat_files.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===----------------------------------------------------------------------===##
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/generate_feature_test_macro_components.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/generate_feature_test_macro_components.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/generate_feature_test_macro_components.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import os
++ import tempfile
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/mingw.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/google-benchmark/mingw.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/mingw.py
++@@ -1,4 +1,4 @@
++-#! /usr/bin/env python
+++#! /usr/bin/env python3
++ # encoding: utf-8
++ 
++ import argparse
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/tools/compare.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/google-benchmark/tools/compare.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/tools/compare.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import unittest
++ """
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/tools/strip_asm.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/google-benchmark/tools/strip_asm.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/tools/strip_asm.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ strip_asm.py - Cleanup ASM output for the specified file
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/merge_archives.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/merge_archives.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/merge_archives.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===----------------------------------------------------------------------===##
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_diff.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/sym_diff.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_diff.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===----------------------------------------------------------------------===##
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_extract.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/sym_extract.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_extract.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===----------------------------------------------------------------------===##
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_match.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/sym_match.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_match.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #===----------------------------------------------------------------------===##
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lld/utils/benchmark.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lld/utils/benchmark.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lld/utils/benchmark.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ # See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/examples/python/file_extract.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/examples/python/file_extract.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/examples/python/file_extract.py
++@@ -1,4 +1,4 @@
++-#! /usr/bin/env python
+++#! /usr/bin/env python3
++ 
++ import string
++ import struct
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/bench.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/bench.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/bench.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ A simple bench runner which delegates to the ./dotest.py test driver to run the
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/issue_verification/disable.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/issue_verification/disable.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/issue_verification/disable.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """Renames *.py files to *.py.park."""
++ import os
++ import sys
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/issue_verification/enable.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/issue_verification/enable.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/issue_verification/enable.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """Renames *.py.park files to *.py."""
++ import os
++ import sys
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/redo.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/redo.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/redo.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ A simple utility to redo the failed/errored tests.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/test_runner/test/inferior.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/test_runner/test/inferior.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/test_runner/test/inferior.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """Inferior program used by process control tests."""
++ 
++ from __future__ import print_function
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """
++ Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++ See https://llvm.org/LICENSE.txt for license information.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import binascii
++ import json
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/scripts/analyze-project-deps.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/scripts/analyze-project-deps.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/scripts/analyze-project-deps.py
++@@ -1,4 +1,4 @@
++-#! /usr/bin/env python
+++#! /usr/bin/env python3
++ 
++ import argparse
++ import itertools
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/scripts/verify_api.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/scripts/verify_api.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/scripts/verify_api.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import subprocess
++ import optparse
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ '''This module implements a Finite State Machine (FSM). In addition to state
++ this FSM also maintains a user defined "memory". So this FSM can be used as a
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lldb-dotest/lldb-dotest.in
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/lldb-dotest/lldb-dotest.in
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lldb-dotest/lldb-dotest.in
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ import subprocess
++ import sys
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lui/lui.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/lui/lui.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lui/lui.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ ##===-- lui.py -----------------------------------------------*- Python -*-===##
++ ##
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lui/sandbox.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/lui/sandbox.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lui/sandbox.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ ##===-- sandbox.py -------------------------------------------*- Python -*-===##
++ ##
++ # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/disasm.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/disasm.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/disasm.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Run gdb to disassemble a function, feed the bytes to 'llvm-mc -disassemble' command,
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/lldb-disasm.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/lldb-disasm.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/lldb-disasm.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Run lldb to disassemble all the available functions for an executable image.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/llvm-mc-shell.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/llvm-mc-shell.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/llvm-mc-shell.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Run llvm-mc interactively.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/ras.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/ras.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/ras.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Run the test suite and send the result as an email message.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/run-dis.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/run-dis.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/run-dis.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Run lldb disassembler on all the binaries specified by a combination of root dir
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/run-until-faulted.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/run-until-faulted.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/run-until-faulted.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ Run a program via lldb until it fails.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llgo/third_party/gofrontend/libffi/generate-darwin-source-and-headers.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llgo/third_party/gofrontend/libffi/generate-darwin-source-and-headers.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llgo/third_party/gofrontend/libffi/generate-darwin-source-and-headers.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ import subprocess
++ import os
++ import errno
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/runtimes/llvm-strip-link.in
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/runtimes/llvm-strip-link.in
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/runtimes/llvm-strip-link.in
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ 
++ import os
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/BugPoint/compile-custom.ll.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/test/BugPoint/compile-custom.ll.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/BugPoint/compile-custom.ll.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/Other/opt-bisect-helper.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/test/Other/opt-bisect-helper.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/Other/opt-bisect-helper.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/TableGen/JSON-check.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/test/TableGen/JSON-check.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/TableGen/JSON-check.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import sys
++ import subprocess
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-diff.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/tools/opt-viewer/opt-diff.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-diff.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-stats.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/tools/opt-viewer/opt-stats.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-stats.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-viewer.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/tools/opt-viewer/opt-viewer.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-viewer.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/optrecord.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/tools/opt-viewer/optrecord.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/optrecord.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/Misc/zkill
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/Misc/zkill
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/Misc/zkill
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import os
++ import re
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/abtest.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/abtest.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/abtest.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ # Given a previous good compile narrow down miscompiles.
++ # Expects two directories named "before" and "after" each containing a set of
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/mingw.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/benchmark/mingw.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/mingw.py
++@@ -1,4 +1,4 @@
++-#! /usr/bin/env python
+++#! /usr/bin/env python3
++ # encoding: utf-8
++ 
++ import argparse
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/tools/compare.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/benchmark/tools/compare.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/tools/compare.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ compare.py - versatile benchmark output compare tool
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/tools/strip_asm.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/benchmark/tools/strip_asm.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/tools/strip_asm.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ strip_asm.py - Cleanup ASM output for the specified file
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bisect
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/bisect
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bisect
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ # The way you use this is you create a script that takes in as its first
++ # argument a count. The script passes into LLVM the count via a command
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bisect-skip-count
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/bisect-skip-count
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bisect-skip-count
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # This script is used to bisect skip and count arguments for --debug-counter.
++ # It is similar to bisect, except it understands how to increase skip and decrease count
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bugpoint_gisel_reducer.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/bugpoint_gisel_reducer.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bugpoint_gisel_reducer.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """Reduces GlobalISel failures.
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/chunk-print-before-all.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/chunk-print-before-all.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/chunk-print-before-all.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # Given a -print-before-all -print-module-scope log from an opt invocation,
++ # chunk it into a series of individual IR files, one for each pass invocation.
++ # If the log ends with an obvious stack trace, try to split off a separate
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/clang-parse-diagnostics-file
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/clang-parse-diagnostics-file
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/clang-parse-diagnostics-file
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import os
++ import plistlib
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/create_ladder_graph.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/create_ladder_graph.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/create_ladder_graph.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """A ladder graph creation program.
++ 
++ This is a python program that creates c source code that will generate
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/extract_symbols.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/extract_symbols.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/extract_symbols.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """A tool for extracting a list of symbols to export
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/extract_vplan.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/extract_vplan.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/extract_vplan.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ # This script extracts the VPlan digraphs from the vectoriser debug messages
++ # and saves them in individual dot files (one for each plan). Optionally, and
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/git-svn/git-llvm
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/git-svn/git-llvm
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/git-svn/git-llvm
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ #
++ # ======- git-llvm - LLVM Git Help Integration ---------*- python -*--========#
++ #
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/run_tablegen.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/run_tablegen.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/run_tablegen.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """Runs tablegen."""
++ 
++ import subprocess
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/symlink_or_copy.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/symlink_or_copy.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/symlink_or_copy.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """Symlinks, or on Windows copies, an existing file to a second location.
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/sync_source_lists_from_cmake.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/sync_source_lists_from_cmake.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/sync_source_lists_from_cmake.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """Helps to keep BUILD.gn files in sync with the corresponding CMakeLists.txt.
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/write_cmake_config.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/write_cmake_config.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/write_cmake_config.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ r"""Emulates the bits of CMake's configure_file() function needed in LLVM.
++ 
++ The CMake build uses configure_file() for several things.  This emulates that
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/write_vcsrevision.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/write_vcsrevision.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/write_vcsrevision.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """Gets the current revision and writes it to VCSRevision.h."""
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/get.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/get.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/get.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """Downloads a prebuilt gn binary to a place where gn.py can find it."""
++ 
++ from __future__ import print_function
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/gn.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/gn.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/gn.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """Calls `gn` with the right --dotfile= and --root= arguments for LLVM."""
++ 
++ # GN normally expects a file called '.gn' at the root of the repository.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/indirect_calls.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/indirect_calls.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/indirect_calls.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """A tool for looking for indirect jumps and calls in x86 binaries.
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/lit.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/lit.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/lit.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from lit.main import main
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/lit/ProgressBar.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/lit/ProgressBar.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/lit/ProgressBar.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ # Source: http://code.activestate.com/recipes/475116/, with
++ # modifications by Daniel Dunbar.
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import sys
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import sys
++ import time
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import sys
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ import os
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import sys
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import argparse
++ import platform
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import sys
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import sys
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-build/llvm-build
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/llvm-build/llvm-build
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-build/llvm-build
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ import llvmbuild
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-gisel-cov.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/llvm-gisel-cov.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-gisel-cov.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """
++ Summarize the information in the given coverage files.
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-lit/llvm-lit.in
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/llvm-lit/llvm-lit.in
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-lit/llvm-lit.in
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ # -*- coding: utf-8 -*-
++ 
++ import os
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/prepare-code-coverage-artifact.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/prepare-code-coverage-artifact.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/prepare-code-coverage-artifact.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/release/findRegressions-nightly.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/release/findRegressions-nightly.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/release/findRegressions-nightly.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ from __future__ import print_function
++ 
++ import re, string, sys, os, time
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/release/findRegressions-simple.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/release/findRegressions-simple.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/release/findRegressions-simple.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ from __future__ import print_function
++ import re, string, sys, os, time, math
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/shuffle_fuzz.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/shuffle_fuzz.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/shuffle_fuzz.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """A shuffle vector fuzz tester.
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/shuffle_select_fuzz_tester.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/shuffle_select_fuzz_tester.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/shuffle_select_fuzz_tester.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """A shuffle-select vector fuzz tester.
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/sort_includes.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/sort_includes.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/sort_includes.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """Script to sort the top-most block of #include lines.
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/unicode-case-fold.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/unicode-case-fold.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/unicode-case-fold.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ """
++ Unicode case folding database conversion utility
++ 
++Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/wciia.py
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/wciia.py
+++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/wciia.py
++@@ -1,4 +1,4 @@
++-#!/usr/bin/env python
+++#!/usr/bin/env python3
++ 
++ """
++ wciia - Whose Code Is It Anyway
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..58f5e6ba758240632313f2e9e9146e97a4a2bac6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,38 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/CommandGuide/clang.rst
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/CommandGuide/clang.rst
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/CommandGuide/clang.rst
++@@ -310,20 +310,10 @@ Clang fully supports cross compilation a
++ Depending on how your version of Clang is configured, it may have support for a
++ number of cross compilers, or may only support a native target.
++ 
++-.. option:: -arch <architecture>
+++.. option:: -target <architecture>
++ 
++   Specify the architecture to build for.
++ 
++-.. option:: -mmacosx-version-min=<version>
++-
++-  When building for macOS, specify the minimum version supported by your
++-  application.
++-
++-.. option:: -miphoneos-version-min
++-
++-  When building for iPhone OS, specify the minimum version supported by your
++-  application.
++-
++ .. option:: --print-supported-cpus
++ 
++   Print out a list of supported processors for the given target (specified
++@@ -626,11 +616,6 @@ ENVIRONMENT
++   These environment variables specify additional paths, as for :envvar:`CPATH`, which are
++   only used when processing the appropriate language.
++ 
++-.. envvar:: MACOSX_DEPLOYMENT_TARGET
++-
++-  If :option:`-mmacosx-version-min` is unspecified, the default deployment
++-  target is read from this environment variable. This option only affects
++-  Darwin targets.
++ 
++ BUGS
++ ----
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ee7691b0f7fbbd9b72131492fa30d2b8de40bb97
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp
++@@ -1,29 +0,0 @@
++-// RUN: %clangxx -O2 %s -o %t && %run %t 2>&1 | FileCheck %s
++-
++-#include <stdio.h>
++-
++-#if !defined(__GLIBC_PREREQ)
++-#define __GLIBC_PREREQ(a, b) 0
++-#endif
++-
++-// getauxval() used instead of sysconf() in GetPageSize() is defined starting
++-// glbc version 2.16.
++-#if __GLIBC_PREREQ(2, 16)
++-extern "C" long sysconf(int name) {
++-  fprintf(stderr, "sysconf wrapper called\n");
++-  return 0;
++-}
++-#endif  // defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 16)
++-
++-int main() {
++-  // All we need to check is that the sysconf() interceptor defined above was
++-  // not called. Should it get called, it will crash right there, any
++-  // instrumented code executed before sanitizer init is finished will crash
++-  // accessing non-initialized sanitizer internals. Even if it will not crash
++-  // in some configuration, it should never be called anyway.
++-  fprintf(stderr, "Passed\n");
++-  // CHECK-NOT: sysconf wrapper called
++-  // CHECK: Passed
++-  // CHECK-NOT: sysconf wrapper called
++-  return 0;
++-}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fadcf7f737a2f935c16d021c4f39b70f2bd4ef9a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++Index: llvm-toolchain-10_10.0.1~+rc1/clang/lib/Basic/Version.cpp
++===================================================================
++--- llvm-toolchain-10_10.0.1~+rc1.orig/clang/lib/Basic/Version.cpp
+++++ llvm-toolchain-10_10.0.1~+rc1/clang/lib/Basic/Version.cpp
++@@ -125,8 +125,12 @@ std::string getClangToolFullVersion(Stri
++ #ifdef CLANG_VENDOR
++   OS << CLANG_VENDOR;
++ #endif
++-  OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION " "
++-     << getClangFullRepositoryVersion();
+++  OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION;
+++
+++  std::string repo = getClangFullRepositoryVersion();
+++  if (!repo.empty()) {
+++    OS << " " << repo;
+++  }
++ 
++   return OS.str();
++ }
++@@ -139,7 +143,13 @@ std::string getClangFullCPPVersion() {
++ #ifdef CLANG_VENDOR
++   OS << CLANG_VENDOR;
++ #endif
++-  OS << "Clang " CLANG_VERSION_STRING " " << getClangFullRepositoryVersion();
+++  OS << "Clang " CLANG_VERSION_STRING;
+++
+++  std::string repo = getClangFullRepositoryVersion();
+++  if (!repo.empty()) {
+++    OS << " " << repo;
+++  }
+++
++   return OS.str();
++ }
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e33aa732d017e01e5a74f9e487dfe6f66b13a75c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Linux.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp
++@@ -151,6 +151,10 @@ static std::string getMultiarchTriple(co
++     if (D.getVFS().exists(SysRoot + "/lib/powerpc64le-linux-gnu"))
++       return "powerpc64le-linux-gnu";
++     break;
+++  case llvm::Triple::riscv64:
+++    if (D.getVFS().exists(SysRoot + "/lib/riscv64-linux-gnu"))
+++      return "riscv64-linux-gnu";
+++    break;
++   case llvm::Triple::sparc:
++     if (D.getVFS().exists(SysRoot + "/lib/sparc-linux-gnu"))
++       return "sparc-linux-gnu";
++@@ -760,6 +764,8 @@ void Linux::AddClangSystemIncludeArgs(co
++       "/usr/include/powerpc64-linux-gnu"};
++   const StringRef PPC64LEMultiarchIncludeDirs[] = {
++       "/usr/include/powerpc64le-linux-gnu"};
+++  const StringRef RISCV64MultiarchIncludeDirs[] = {
+++      "/usr/include/riscv64-linux-gnu"};
++   const StringRef SparcMultiarchIncludeDirs[] = {
++       "/usr/include/sparc-linux-gnu"};
++   const StringRef Sparc64MultiarchIncludeDirs[] = {
++@@ -835,6 +841,9 @@ void Linux::AddClangSystemIncludeArgs(co
++   case llvm::Triple::ppc64le:
++     MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs;
++     break;
+++  case llvm::Triple::riscv64:
+++    MultiarchIncludeDirs = RISCV64MultiarchIncludeDirs;
+++    break;
++   case llvm::Triple::sparc:
++     MultiarchIncludeDirs = SparcMultiarchIncludeDirs;
++     break;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a9fdf76cbc851adbec12e6351c5e1b34e6ac05a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,57 @@@
++Index: llvm-toolchain-10-10.0.0/clang/lib/Driver/ToolChains/Gnu.cpp
++===================================================================
++--- llvm-toolchain-10-10.0.0.orig/clang/lib/Driver/ToolChains/Gnu.cpp
+++++ llvm-toolchain-10-10.0.0/clang/lib/Driver/ToolChains/Gnu.cpp
++@@ -1570,13 +1570,16 @@ static void findRISCVBareMetalMultilibs(
++     Result.Multilibs = RISCVMultilibs;
++ }
++ 
++-static void findRISCVMultilibs(const Driver &D,
+++static bool findRISCVMultilibs(const Driver &D,
++                                const llvm::Triple &TargetTriple, StringRef Path,
++                                const ArgList &Args, DetectedMultilibs &Result) {
++-  if (TargetTriple.getOS() == llvm::Triple::UnknownOS)
++-    return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result);
+++  if (TargetTriple.getOS() == llvm::Triple::UnknownOS) {
+++    findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result);
+++    return true;
+++  }
++ 
++   FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
+++  Multilib Default;
++   Multilib Ilp32 = makeMultilib("lib32/ilp32").flag("+m32").flag("+mabi=ilp32");
++   Multilib Ilp32f =
++       makeMultilib("lib32/ilp32f").flag("+m32").flag("+mabi=ilp32f");
++@@ -1587,7 +1590,7 @@ static void findRISCVMultilibs(const Dri
++   Multilib Lp64d = makeMultilib("lib64/lp64d").flag("+m64").flag("+mabi=lp64d");
++   MultilibSet RISCVMultilibs =
++       MultilibSet()
++-          .Either({Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d})
+++          .Either({Default, Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d})
++           .FilterOut(NonExistent);
++ 
++   Multilib::flags_list Flags;
++@@ -1603,8 +1606,11 @@ static void findRISCVMultilibs(const Dri
++   addMultilibFlag(ABIName == "lp64f", "mabi=lp64f", Flags);
++   addMultilibFlag(ABIName == "lp64d", "mabi=lp64d", Flags);
++ 
++-  if (RISCVMultilibs.select(Flags, Result.SelectedMultilib))
++-    Result.Multilibs = RISCVMultilibs;
+++  if (!RISCVMultilibs.select(Flags, Result.SelectedMultilib))
+++    return false;
+++
+++  Result.Multilibs = RISCVMultilibs;
+++  return true;
++ }
++ 
++ static bool findBiarchMultilibs(const Driver &D,
++@@ -2382,7 +2388,8 @@ bool Generic_GCC::GCCInstallationDetecto
++     if (!findMIPSMultilibs(D, TargetTriple, Path, Args, Detected))
++       return false;
++   } else if (TargetTriple.isRISCV()) {
++-    findRISCVMultilibs(D, TargetTriple, Path, Args, Detected);
+++    if (!findRISCVMultilibs(D, TargetTriple, Path, Args, Detected))
+++      return false;
++   } else if (isMSP430(TargetArch)) {
++     findMSP430Multilibs(D, TargetTriple, Path, Args, Detected);
++   } else if (TargetArch == llvm::Triple::avr) {
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..812db1612621b1746aa53d6adb6c5c1fdc06497c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++---
++ clang/tools/scan-build/bin/scan-build |    2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-build/bin/scan-build
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/scan-build/bin/scan-build
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-build/bin/scan-build
++@@ -1478,7 +1478,7 @@ sub FindClang {
++   if (!defined $Options{AnalyzerDiscoveryMethod}) {
++     $Clang = Cwd::realpath("$RealBin/bin/clang") if (-f "$RealBin/bin/clang");
++     if (!defined $Clang || ! -x $Clang) {
++-      $Clang = Cwd::realpath("$RealBin/clang") if (-f "$RealBin/clang");
+++      $Clang = Cwd::realpath("/usr/lib/llvm-10/bin/clang");
++       if (!defined $Clang || ! -x $Clang) {
++         # When an Xcode toolchain is present, look for a clang in the sibling bin
++         # of the parent of the bin directory. So if scan-build is at
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ca9b030b0822d339a0d93ce55d91e267eef5c33e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-view/bin/scan-view
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/scan-view/bin/scan-view
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-view/bin/scan-view
++@@ -65,7 +65,7 @@ def start_browser(port, options):
++ 
++ def run(port, options, root):
++     # Prefer to look relative to the installed binary
++-    share = os.path.dirname(__file__) + "/../share/scan-view"
+++    share = os.path.dirname(__file__) + "/../share/"
++     if not os.path.isdir(share):
++         # Otherwise look relative to the source
++         share = os.path.dirname(__file__) + "/../../scan-view/share"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..48789a1d5f1859ad6a8e023fa3223acd9d644b60
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,149 @@@
++# Debian versions
++19-clang_debian_version.patch
++0003-Debian-version-info-and-bugreport.patch
++clang-format-version.diff
++clang-analyzer-force-version.diff
++
++# Disabling features
++23-strlcpy_strlcat_warning_removed.diff
++
++declare_clear_cache.diff
++unwind-chain-inclusion.diff
++atomic_library_1.diff
++
++# Path updates
++python-clangpath.diff
++fix-clang-path-and-build.diff
++0048-Set-html_static_path-_static-everywhere.patch
++symbolizer-path.diff
++clang-tidy-run-bin.diff
++0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch
++debug-jit-path.diff
++
++# commented because of bug 903709
++#force-gcc-header-obj.diff
++
++do-not-fail-on-unexpected-pass.diff
++disable-display-PASS-UNSUPPORTED-XFAIL.diff
++
++# llvm-config
++fix-llvm-config-obj-src-root.patch
++0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch
++
++# Lib names
++0044-soname.diff
++lldb-soname.diff
++#lldb-libname.diff
++openmp-soname.diff
++
++# Disable some tests
++silent-gold-test.diff
++silent-more-tests.diff
++silent-MCJIIT-tests.diff
++silent-gold-utils.diff
++silent-test-failing-codeverage.diff
++silent-amd-tet.diff
++silent-test-macho.diff
++silent-llvm-isel-fuzzer.diff
++remove-test-freezing.diff
++disable-llvm-symbolizer-test.diff
++disable-path-test-failing.diff
++
++# Decrease the freq for the keep alive
++test-keep-alive.diff
++
++# scan-build
++scan-build-clang-path.diff
++install-scan-build-py.diff
++scan-view-fix-path.diff
++fix-scan-view-path.diff
++
++# lldb
++lldb/lldb-link-atomic-cmake.patch
++lldb/lldb-addversion-suffix-to-llvm-server-exec.patch
++lldb/lldb-missing-install.diff
++lldb/lldb-disable-swig-error.diff
++
++# Fix arch issue
++disable-error-xray.diff
++
++# OpenMP
++openmp/openmp-check-execstack.diff
++openmp/openmp-mips-affinity.patch
++openmp/bootstrap-with-openmp-version-export-missing.diff
++
++# libcxx
++libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch
++libcxx/libcxx-test-fix-lockfree-test-for-i386.patch
++libcxx/libcxxabi-arm-ehabi-fix.patch
++libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch
++libcxx/libcxx-silent-test-libcxx.diff
++libcxx/libcxx-silent-failure-ppc64el.diff
++libcxx/libcxx-silent-failure-arm64.diff
++
++# Change default optims
++mips-fpxx-enable.diff
++26-set-correct-float-abi.diff
++clang-baseline-fix-i386.patch
++disable-sse2-old-x86.diff
++clang-arm-default-vfp3-on-armv7a.patch
++
++# For the bootstrap
++clangd-atomic-cmake.patch
++
++# Fix docs
++#  https://reviews.llvm.org/D60380
++remove-apple-clang-manpage.diff
++0049-Use-Debian-provided-MathJax-everywhere.patch
++
++# Hurd port
++hurd/hurd-cxx-paths.diff
++hurd/hurd-pathmax.diff
++
++# powerpcspe
++#powerpcspe/D49754-powerpcspe-clang.diff
++#powerpcspe/D54583-powerpcspe-double-parameter.diff
++#powerpcspe/D56703-powerpcspe-register-spilling.diff
++
++# kfreebsd
++# kfreebsd/clang_lib_Basic_Targets.diff
++# kfreebsd/CMakeLists.txt.diff
++# kfreebsd/compiler-rt_lib.diff
++# kfreebsd/include_llvm_ADT_Triple.h.diff
++# kfreebsd/kfreebsd-libcxx-threads-detection.diff
++# kfreebsd/kfreebsd-openmp.diff
++# kfreebsd/kfreebsd-threads-build.diff
++# kfreebsd/kfreebsd-triple-clang.diff
++# kfreebsd/kfreebsd-triple.diff
++# kfreebsd/lib_Support.diff
++# kfreebsd/lib_Target_X86.diff
++# kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff
++# kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff
++# kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff
++
++930008-arm.diff
++bootstrap-fix-include-next.diff
++
++# riscv64
++risc/clang-riscv64-multiarch.diff
++risc/riscv64-multilib-empty.patch
++
++# Compiler-rt - workaround
++workaround-bug-42994-use-linker.diff
++
++# bug 939472
++#try-to-unbreak-thinlto.diff
++D67877.patch
++disable-fuzzer-compiler-rt-x86.diff
++no-z3.patch
++
++python3-shebang.patch
++print-lldb-path.patch
++no-cgi.patch
++
++0001-systemz-allow-configuring-default-SYSTEMZ_DEFAULT_AR.patch
++
++ubuntu-groovy.diff
++clang_vendor_pass_stage2.diff
++remove-trailing-space-version.diff
++mips-force-nomadd4.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a23f4781fdcf1300f8797af471bc2528bf1c6fe4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,190 @@@
++---
++ test/BugPoint/crash-narrowfunctiontest.ll                               |    1 -
++ test/BugPoint/remove_arguments_test.ll                                  |    1 -
++ test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll                     |    2 +-
++ test/ExecutionEngine/MCJIT/eh-lg-pic.ll                                 |    2 +-
++ test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll                     |    2 +-
++ test/ExecutionEngine/MCJIT/stubs-sm-pic.ll                              |    2 +-
++ test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll           |    2 +-
++ test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll                     |    2 +-
++ test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll                  |    2 +-
++ test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll                              |    2 +-
++ test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll                  |    2 +-
++ test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll |    2 +-
++ test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll           |    2 +-
++ test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll                           |    2 +-
++ test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll        |    2 +-
++ test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll                  |    2 +-
++ test/Feature/load_module.ll                                             |    1 -
++ 17 files changed, 14 insertions(+), 17 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null
++-; XFAIL: mips-, mipsel-, i686, i386
+++; XFAIL: *
++ 
++ declare i32 @FB()
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll
++@@ -1,6 +1,6 @@
++ ; REQUIRES: cxx-shared-library
++ ; RUN: %lli -relocation-model=pic -code-model=large %s
++-; XFAIL: cygwin, windows-msvc, windows-gnu, mips-, mipsel-, i686, i386, aarch64, arm
+++; XFAIL: *
++ declare i8* @__cxa_allocate_exception(i64)
++ declare void @__cxa_throw(i8*, i8*, i8*)
++ declare i32 @__gxx_personality_v0(...)
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic -code-model=small %s > /dev/null
++-; XFAIL: mips-, mipsel-, i686, i386
+++; XFAIL: *
++ 
++ declare i32 @FB()
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s
++-; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm
+++; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm, x86_64
++ 
++ define i32 @main() nounwind {
++ entry:
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -relocation-model=pic -code-model=small %s > /dev/null
++-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386
+++; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, x86_64
++ 
++ @count = global i32 1, align 4
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -O0 -relocation-model=pic -code-model=small %s
++-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386
+++; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, x86_64
++ 
++ @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
++ @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null
++-; XFAIL: mips-, mipsel-, i686, i386
+++; XFAIL: *
++ 
++ declare i32 @FB()
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll
++@@ -1,6 +1,6 @@
++ ; REQUIRES: cxx-shared-library
++ ; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=large %s
++-; XFAIL: cygwin, windows-msvc, windows-gnu, mips-, mipsel-, i686, i386, aarch64, arm
+++; XFAIL: *
++ declare i8* @__cxa_allocate_exception(i64)
++ declare void @__cxa_throw(i8*, i8*, i8*)
++ declare i32 @__gxx_personality_v0(...)
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic -code-model=small %s > /dev/null
++-; XFAIL: mips-, mipsel-, i686, i386
+++; XFAIL: *
++ 
++ declare i32 @FB()
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
++@@ -1,6 +1,6 @@
++ ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \
++ ; RUN:   -relocation-model=pic -code-model=small %s > /dev/null
++-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, windows-gnu, windows-msvc
+++; XFAIL: *
++ ; UNSUPPORTED: powerpc64-unknown-linux-gnu
++ ; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
++@@ -1,6 +1,6 @@
++ ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \
++ ; RUN:   -O0 -relocation-model=pic -code-model=small %s
++-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, windows-gnu, windows-msvc
+++; XFAIL: *
++ ; UNSUPPORTED: powerpc64-unknown-linux-gnu
++ ; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s
++-; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm
+++; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm, x86_64
++ 
++ define i32 @main() nounwind {
++ entry:
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s > /dev/null
++-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386
+++; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, x86_64
++ 
++ @count = global i32 1, align 4
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
++@@ -1,5 +1,5 @@
++ ; RUN: %lli -jit-kind=orc-mcjit -O0 -relocation-model=pic -code-model=small %s
++-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386
+++; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, x86_64
++ 
++ @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
++ @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/Feature/load_module.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/Feature/load_module.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/Feature/load_module.ll
++@@ -3,7 +3,6 @@
++ ; RUN:   -disable-output 2>&1 | grep Hello
++ ; REQUIRES: plugins
++ ; FIXME: On Cygming, it might fail without building LLVMHello manually.
++-; XFAIL: *
++ 
++ @junk = global i32 0
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9aa6858d1299dee7f01af8f3a9367d93ad706e69
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/MC/AMDGPU/hsa.s
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/MC/AMDGPU/hsa.s
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/MC/AMDGPU/hsa.s
++@@ -1,5 +1,6 @@
++ // RUN: llvm-mc -triple amdgcn--amdhsa -mcpu=kaveri -mattr=-code-object-v3 -show-encoding %s | FileCheck %s --check-prefix=ASM
++ // RUN: llvm-mc -filetype=obj -triple amdgcn--amdhsa -mcpu=kaveri -mattr=-code-object-v3 -show-encoding %s | llvm-readobj --symbols -S --sd | FileCheck %s --check-prefix=ELF
+++// XFAIL: *
++ 
++ // ELF: Section {
++ // ELF: Name: .text
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ea88a2112d4c6b0bc5c81fc5dba912fb51ba4df6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,38 @@@
++Description: fails on debian unstable amd64
++ Command Output (stderr):
++ --
++ /build/llvm-toolchain-snapshot-4.0~svn279916/llvm/test/tools/gold/X86/start-lib-common.ll:22:10: error: expected string not found in input
++ ; CHECK: @x = common global i32 0, align 8
++          ^
++ <stdin>:1:1: note: scanning from here
++ ; ModuleID = '/build/llvm-toolchain-snapshot-4.0~svn279916/build-llvm/llvm/test/tools/gold/X86/Output/start-lib-common.ll.tmp3.o'
++ ^
++ <stdin>:4:1: note: possible intended match here
++ @x = common global i32 0, align 4
++ ^
++
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/gold/X86/start-lib-common.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/gold/X86/start-lib-common.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/gold/X86/start-lib-common.ll
++@@ -9,6 +9,7 @@
++ ; RUN:    -shared %t1.o --start-lib %t2.o --end-lib -o %t3.o
++ ; RUN: llvm-dis %t3.o -o - | FileCheck %s
++ 
+++; XFAIL: *
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ @x = common global i32 0, align 4
++ 
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/gold/X86/comdat.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/gold/X86/comdat.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/gold/X86/comdat.ll
++@@ -5,6 +5,7 @@
++ ; RUN:  -plugin-opt=save-temps
++ ; RUN: FileCheck --check-prefix=RES %s < %t3.o.resolution.txt
++ ; RUN: llvm-readobj --symbols %t3.o | FileCheck --check-prefix=OBJ %s
+++; XFAIL: *
++ 
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..416f5d55b57597cb00608bbc6e5e329954ca3f50
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,190 @@@
++---
++ test/tools/gold/X86/common_thinlto.ll             |    1 +
++ test/tools/gold/X86/emit-llvm.ll                  |    2 ++
++ test/tools/gold/X86/parallel.ll                   |    1 +
++ test/tools/gold/X86/pr19901_thinlto.ll            |    1 +
++ test/tools/gold/X86/slp-vectorize.ll              |    1 +
++ test/tools/gold/X86/strip_names.ll                |    1 +
++ test/tools/gold/X86/thinlto.ll                    |    2 ++
++ test/tools/gold/X86/thinlto_archive.ll            |    1 +
++ test/tools/gold/X86/thinlto_internalize.ll        |    2 ++
++ test/tools/gold/X86/thinlto_linkonceresolution.ll |    2 ++
++ test/tools/gold/X86/thinlto_weak_resolution.ll    |    3 ++-
++ test/tools/gold/X86/type-merge2.ll                |    2 +-
++ test/tools/gold/X86/vectorize.ll                  |    1 +
++ test/tools/gold/X86/visibility.ll                 |    1 +
++ 14 files changed, 19 insertions(+), 2 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/common_thinlto.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/common_thinlto.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/common_thinlto.ll
++@@ -17,6 +17,7 @@
++ 
++ ; RUN: llvm-nm %t3 | FileCheck %s --check-prefix=NM
++ ; NM: bar
+++; XFAIL: *
++ 
++ source_filename = "common1.c"
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/emit-llvm.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/emit-llvm.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/emit-llvm.ll
++@@ -21,6 +21,8 @@
++ ; RUN: not test -a %t4.o
++ 
++ ; NM: T f3
+++; XFAIL: *
+++
++ 
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/parallel.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/parallel.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/parallel.ll
++@@ -5,6 +5,7 @@
++ ; RUN: llvm-dis %t.1.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-BC1 %s
++ ; RUN: llvm-nm %t.o | FileCheck --check-prefix=CHECK0 %s
++ ; RUN: llvm-nm %t.o1 | FileCheck --check-prefix=CHECK1 %s
+++; XFAIL: *
++ 
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/pr19901_thinlto.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/pr19901_thinlto.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/pr19901_thinlto.ll
++@@ -4,6 +4,7 @@
++ ; RUN:     --plugin-opt=thinlto \
++ ; RUN:     -shared -m elf_x86_64 -o %t.so %t2.o %t.o
++ ; RUN: llvm-readobj --symbols %t.so | FileCheck %s
+++; XFAIL: i686, i386
++ 
++ ; CHECK:       Symbol {
++ ; CHECK:         Name: f
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/slp-vectorize.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/slp-vectorize.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/slp-vectorize.ll
++@@ -7,6 +7,7 @@
++ 
++ ; test that the vectorizer is run.
++ ; CHECK: fadd <4 x float>
+++; XFAIL: *
++ 
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/strip_names.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/strip_names.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/strip_names.ll
++@@ -25,6 +25,7 @@
++ ; NONAME:  %2 = load i32, i32* @GlobalValueName
++ ; NONAME:  %3 = add i32 %0, %2
++ ; NONAME:  ret i32 %3
+++; XFAIL: *
++ 
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto.ll
++@@ -141,6 +141,8 @@
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++ 
+++; XFAIL: i686, i386
+++
++ declare void @g(...)
++ 
++ define void @f() {
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_archive.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto_archive.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_archive.ll
++@@ -15,6 +15,7 @@
++ ; RUN:    --plugin-opt=jobs=1 \
++ ; RUN:    -shared %t.o %t.a -o %t4 2>&1 | FileCheck %s
++ ; RUN: llvm-nm %t4 | FileCheck %s --check-prefix=NM
+++; XFAIL: i686, i386
++ 
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_internalize.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto_internalize.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_internalize.ll
++@@ -14,6 +14,8 @@
++ ; h() should be internalized after promotion, and eliminated after inlining
++ ; CHECK-NOT: @h.llvm.
++ 
+++; XFAIL: i686, i386
+++
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++ define i32 @g() {
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll
++@@ -23,6 +23,8 @@
++ ; OPT-NOT: @f()
++ ; OPT2: define weak_odr hidden void @f()
++ 
+++; XFAIL: i686, i386
+++
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++ define i32 @g() {
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
++@@ -9,6 +9,7 @@
++ ; RUN:     --plugin-opt=save-temps \
++ ; RUN:     -shared \
++ ; RUN:     -o %t3.o %t.o %t2.o
+++; XFAIL: i686, i386
++ 
++ ; RUN: llvm-nm %t3.o | FileCheck %s
++ ; CHECK: weakfunc
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/type-merge2.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/type-merge2.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/type-merge2.ll
++@@ -6,6 +6,8 @@
++ ; RUN:    -shared %t.o %t2.o -o %t3.o
++ ; RUN: llvm-dis %t3.o.0.2.internalize.bc -o - | FileCheck %s
++ 
+++; XFAIL: *
+++
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++ 
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/vectorize.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/vectorize.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/vectorize.ll
++@@ -7,6 +7,7 @@
++ 
++ ; test that the vectorizer is run.
++ ; CHECK: fadd <4 x float>
+++; XFAIL: *
++ 
++ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
++ target triple = "x86_64-unknown-linux-gnu"
++Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/visibility.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/visibility.ll
+++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/visibility.ll
++@@ -16,6 +16,7 @@
++ ; CHECK-NEXT: Other [
++ ; CHECK-NEXT:   STV_PROTECTED
++ ; CHECK-NEXT: ]
+++; XFAIL: *
++ 
++ ; IR: define dso_local void @foo
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2f1a12b83e6a8ad807791057248dce79b6bcc98a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll
++@@ -2,6 +2,7 @@
++ ; without copying the whole lib dir or polluting the build dir.
++ ; REQUIRES: static-libs
++ ; REQUIRES: aarch64-registered-target
+++: XFAIL: *
++ 
++ ; The above also applies if the binary is built with libc++.
++ ; UNSUPPORTED: libcxx-used
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll
++@@ -1,6 +1,7 @@
++ ; If the binary looks up libraries using an rpath, we can't test this
++ ; without copying the whole lib dir or polluting the build dir.
++ ; REQUIRES: static-libs
+++: XFAIL: *
++ 
++ ; The above also applies if the binary is built with libc++.
++ ; UNSUPPORTED: libcxx-used
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2af54f2eb22de49459965edd2fd5734c1bdd9191
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++# Comment the tests for the code coverage (fails otherwise)
++
++
++---
++ test/BugPoint/crash-narrowfunctiontest.ll |    1 +
++ test/BugPoint/metadata.ll                 |    3 ++-
++ test/BugPoint/remove_arguments_test.ll    |    1 +
++ test/Feature/load_module.ll               |    1 +
++ 4 files changed, 5 insertions(+), 1 deletion(-)
++
++Index: llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a/llvm/test/BugPoint/metadata.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a.orig/llvm/test/BugPoint/metadata.ll
+++++ llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a/llvm/test/BugPoint/metadata.ll
++@@ -18,6 +18,8 @@
++ ; NOTYPE: !DICompileUnit
++ ; NOTYPE-NOT: !DIBasicType
++ 
+++; XFAIL: *
+++
++ %rust_task = type {}
++ define void @test(i32* %a, i8* %b) !dbg !9 {
++     %s = mul i8 22, 9, !attach !0, !dbg !10
++Index: llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a/llvm/test/Feature/load_module.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a.orig/llvm/test/Feature/load_module.ll
+++++ llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a/llvm/test/Feature/load_module.ll
++@@ -3,6 +3,7 @@
++ ; RUN:   -disable-output 2>&1 | grep Hello
++ ; REQUIRES: plugins
++ ; FIXME: On Cygming, it might fail without building LLVMHello manually.
+++; XFAIL: *
++ 
++ @junk = global i32 0
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..12d922e359473a615924a84934c453cc5a33b456
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ThinLTO/X86/autoupgrade.ll
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ThinLTO/X86/autoupgrade.ll
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ThinLTO/X86/autoupgrade.ll
++@@ -3,6 +3,8 @@
++ ; RUN: opt -module-summary %s -o %t.bc
++ ; RUN: llvm-lto -thinlto-action=thinlink -o %t3.bc %t.bc %p/Inputs/autoupgrade.bc
++ 
+++; XFAIL: *
+++
++ ; We can't use llvm-dis here, because it would do the autoupgrade itself.
++ 
++ ; RUN: llvm-link  -summary-index=%t3.bc \
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7caae2110d65a3f542d420801203156b6fc69acf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/Object/macho-invalid.test
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/Object/macho-invalid.test
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/Object/macho-invalid.test
++@@ -284,9 +284,6 @@ INVALID-DYLIB-WRONG-FILETYPE: macho-inva
++ RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-dylib-no-id  2>&1 | FileCheck -check-prefix INVALID-DYLIB-NO-ID %s
++ INVALID-DYLIB-NO-ID: macho-invalid-dylib-no-id': truncated or malformed object (no LC_ID_DYLIB load command in dynamic library filetype)
++ 
++-RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-dylib-cmdsize-past-eof 2>&1 | FileCheck -check-prefix INVALID-DYLIB-CMDSIZE %s
++-INVALID-DYLIB-CMDSIZE: macho-invalid-dylib-cmdsize-past-eof': truncated or malformed object (load command 0 extends past end of file)
++-
++ RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-uuid-more-than-one  2>&1 | FileCheck -check-prefix INVALID-UUID-MORE-THAN-ONE %s
++ INVALID-UUID-MORE-THAN-ONE: macho-invalid-uuid-more-than-one': truncated or malformed object (more than one LC_UUID command)
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..317b5e53ffe212f62bfdafaf5b49ac52212cd258
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
++@@ -25,6 +25,10 @@
++ #include "sanitizer_symbolizer_internal.h"
++ #include "sanitizer_symbolizer_libbacktrace.h"
++ #include "sanitizer_symbolizer_mac.h"
+++#include "llvm/Config/llvm-config.h" // for LLVM_VERSION_MAJOR
+++
+++#define TOSTR2(X) #X
+++#define TOSTR(X) TOSTR2(X)
++ 
++ #include <dlfcn.h>   // for dlsym()
++ #include <errno.h>
++@@ -428,7 +432,7 @@ static SymbolizerTool *ChooseExternalSym
++     return new(*allocator) AtosSymbolizer(found_path, allocator);
++   }
++ #endif  // SANITIZER_MAC
++-  if (const char *found_path = FindPathToBinary("llvm-symbolizer")) {
+++  if (const char *found_path = "/usr/bin/llvm-symbolizer-" TOSTR(LLVM_VERSION_MAJOR)) {
++     VReport(2, "Using llvm-symbolizer found at: %s\n", found_path);
++     return new(*allocator) LLVMSymbolizer(found_path, allocator);
++   }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3d7d3a3d646b4b96aa3e5ae06fcb7f44a8b64c80
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/lit/lit/ProgressBar.py
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/utils/lit/lit/ProgressBar.py
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/lit/lit/ProgressBar.py
++@@ -189,15 +189,7 @@ class SimpleProgressBar:
++             return
++ 
++         for i in range(self.atIndex, next):
++-            idx = i % 5
++-            if idx == 0:
++-                sys.stdout.write('%2d' % (i*2))
++-            elif idx == 1:
++-                pass # Skip second char
++-            elif idx < 4:
++-                sys.stdout.write('.')
++-            else:
++-                sys.stdout.write(' ')
+++            sys.stdout.write('%-2d ' % (i*2))
++         sys.stdout.flush()
++         self.atIndex = next
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..800a70a874fa1e62f4616302179411c1eabdfe9f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++--- a/clang/include/clang/Driver/Distro.h
+++++ b/clang/include/clang/Driver/Distro.h
++@@ -67,6 +67,7 @@ public:
++     UbuntuDisco,
++     UbuntuEoan,
++     UbuntuFocal,
+++    UbuntuGroovy,
++     UnknownDistro
++   };
++ 
++@@ -120,7 +121,7 @@ public:
++   }
++ 
++   bool IsUbuntu() const {
++-    return DistroVal >= UbuntuHardy && DistroVal <= UbuntuFocal;
+++    return DistroVal >= UbuntuHardy && DistroVal <= UbuntuGroovy;
++   }
++ 
++   bool IsAlpineLinux() const {
++--- a/clang/lib/Driver/Distro.cpp
+++++ b/clang/lib/Driver/Distro.cpp
++@@ -70,6 +70,7 @@ static Distro::DistroType DetectDistro(l
++                       .Case("disco", Distro::UbuntuDisco)
++                       .Case("eoan", Distro::UbuntuEoan)
++                       .Case("focal", Distro::UbuntuFocal)
+++                      .Case("groovy", Distro::UbuntuGroovy)
++                       .Default(Distro::UnknownDistro);
++     if (Version != Distro::UnknownDistro)
++       return Version;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..51c01ec98badc773e1e6c97f261d02d96983b7b2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,43 @@@
++# Without this patch, the first local include of unwind.h might, with the 
++# __has_include_next, try to include the one from the system.
++# It might be /usr/include/clang/3.4/include/unwind.h
++# Because of the #ifndef __CLANG_UNWIND_H, it might never include any declaration
++# from the system. 
++
++---
++ clang/lib/Headers/unwind.h |    9 +++++----
++ 1 file changed, 5 insertions(+), 4 deletions(-)
++
++Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/unwind.h
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Headers/unwind.h
+++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/unwind.h
++@@ -9,9 +9,6 @@
++ 
++ /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/
++ 
++-#ifndef __CLANG_UNWIND_H
++-#define __CLANG_UNWIND_H
++-
++ #if defined(__APPLE__) && __has_include_next(<unwind.h>)
++ /* Darwin (from 11.x on) provide an unwind.h. If that's available,
++  * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE,
++@@ -39,6 +36,9 @@
++ # endif
++ #else
++ 
+++#ifndef __CLANG_UNWIND_H
+++#define __CLANG_UNWIND_H
+++
++ #include <stdint.h>
++ 
++ #ifdef __cplusplus
++@@ -322,6 +322,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struc
++ }
++ #endif
++ 
+++#endif /* __CLANG_UNWIND_H */
+++
++ #endif
++ 
++-#endif /* __CLANG_UNWIND_H */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b3da2417afd8aa8bbfc040b9d65f278804f7dd93
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++Index: llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9/compiler-rt/lib/hwasan/CMakeLists.txt
++===================================================================
++--- llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9.orig/compiler-rt/lib/hwasan/CMakeLists.txt
+++++ llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9/compiler-rt/lib/hwasan/CMakeLists.txt
++@@ -43,9 +43,9 @@ append_list_if(COMPILER_RT_HWASAN_WITH_I
++ 
++ set(HWASAN_RTL_CFLAGS ${SANITIZER_COMMON_CFLAGS})
++ append_rtti_flag(OFF HWASAN_RTL_CFLAGS)
++-append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC HWASAN_RTL_CFLAGS)
+++append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC -fuse-ld=gold HWASAN_RTL_CFLAGS)
++ # Prevent clang from generating libc calls.
++-append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding HWASAN_RTL_CFLAGS)
+++append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding -fuse-ld=gold HWASAN_RTL_CFLAGS)
++ 
++ set(HWASAN_DYNAMIC_LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS})
++ 
++@@ -57,7 +57,7 @@ if(ANDROID)
++   endif()
++ endif()
++ 
++-set(HWASAN_DYNAMIC_CFLAGS ${HWASAN_RTL_CFLAGS})
+++set(HWASAN_DYNAMIC_CFLAGS ${HWASAN_RTL_CFLAGS} -fuse-ld=gold)
++ append_list_if(COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC
++   -ftls-model=initial-exec HWASAN_DYNAMIC_CFLAGS)
++ append_list_if(MSVC /DEBUG HWASAN_DYNAMIC_LINK_FLAGS)
++@@ -132,7 +132,7 @@ foreach(arch ${HWASAN_SUPPORTED_ARCH})
++                                   LIBS clang_rt.hwasan-${arch} clang_rt.hwasan_cxx-${arch}
++                                   EXTRA hwasan.syms.extra)
++     set(VERSION_SCRIPT_FLAG
++-         -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/clang_rt.hwasan-dynamic-${arch}.vers)
+++         -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/clang_rt.hwasan-dynamic-${arch}.vers -fuse-ld=gold)
++     set_property(SOURCE
++       ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp
++       APPEND PROPERTY
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f0638180786337a8e23d6f32271a261909e27274
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++#!/bin/sh
++
++clang -Xclang -load -Xclang /usr/lib/llvm-@LLVM_VERSION@/lib/LLVMPolly.so $@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..811ca4f1fc2422f7f7034442da57b4659e4a73e3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++#!/bin/sh
++ORIG_VERSION=9
++TARGET_VERSION=10
++ORIG_VERSION_2=9_0
++TARGET_VERSION_2=10_0
++ORIG_VERSION_3=90
++TARGET_VERSION_3=100
++
++LIST=`ls debian/control debian/orig-tar.sh debian/rules debian/patches/clang-analyzer-force-version.diff debian/patches/clang-format-version.diff debian/patches/python-clangpath.diff debian/patches/scan-build-clang-path.diff debian/patches/lldb-libname.diff debian/patches/fix-scan-view-path.diff debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch debian/patches/clang-tidy-run-bin.diff debian/patches/fix-scan-view-path.diff debian/README debian/patches/clang-analyzer-force-version.diff debian/patches/clang-tidy-run-bin.diff debian/tests/control debian/unpack.sh`
++for F in $LIST; do
++    sed -i -e "s|$ORIG_VERSION_3|$TARGET_VERSION_3|g" $F
++    sed -i -e "s|$ORIG_VERSION_2|$TARGET_VERSION_2|g" $F
++    sed -i -e "s|$ORIG_VERSION|$TARGET_VERSION|g" $F
++done
++
++echo "once you copy the old version into a new branch"
++echo "edit debian/control, update the VCS links"
++echo "edit debian/control, update the source pkg name"
++echo "edit debian/changelog, update the source pkg name"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..796be86b94f3f698e95703a5bae23472ee605e60
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++clang/bindings/python/clang/ /usr/lib/python3/dist-packages/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ef37de7e36b496c8eeef0d4b1010ffbeaab37007
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/llvm-@LLVM_VERSION@/lib/python3*/*-packages/lldb/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2639ac09f79ea5f29dea16449efa8014ccaa4562
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/libLLVM-@LLVM_VERSION_FULL@.so.1
++usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/libLLVM-@LLVM_VERSION@.so.1
++usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1      usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/_lldb.so
++usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/ usr/lib/python3/dist-packages/lldb
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..85d4753fdc0eaf6e4f4d8e2009acac666ef2b0e6
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1343 @@@
++#!/bin/bash
++# Stop at the first error
++set -e
++if ! test -d debian/; then
++    echo "$0: Could not find the debian/ directory"
++    exit 1
++fi
++VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p")
++DETAILED_VERSION=$(dpkg-parsechangelog |  sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p")
++DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH)
++
++LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb  libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb  libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb  llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb  liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb  llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}-dev_${DETAILED_VERSION}_amd64.deb"
++echo "To install everything:"
++echo "sudo apt --purge remove 'libomp5-*' 'libc++*dev' 'libc++*' 'python3-lldb-*'"
++echo "sudo dpkg -i $LIST"
++L=""
++for f in $LIST; do
++    L="$L $(echo $f|cut -d_ -f1)"
++done
++echo "or"
++echo "apt-get install $L"
++
++if test ! -f /usr/bin/llvm-config-$VERSION; then
++    echo "Install llvm-$VERSION & llvm-$VERSION-dev"
++    exit 1
++fi
++if test ! -f /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so; then
++    echo "Install llvm-$VERSION-dev"
++    exit 1
++fi
++
++echo "Testing llvm-$VERSION and llvm-$VERSION-dev ..."
++llvm-config-$VERSION --link-shared --libs &> /dev/null
++
++if llvm-config-$VERSION --cxxflags | grep " \-W"; then
++    echo "llvm-config should not export -W warnings"
++    exit 1
++fi
++
++# Test https://bugs.llvm.org/show_bug.cgi?id=40059
++nm /usr/lib/llvm-$VERSION/lib/libLLVMBitWriter.a &> foo.log
++if grep "File format not recognized" foo.log; then
++    echo "nm libLLVMBitWriter.a contains 'File format not recognized'"
++    exit 1
++fi
++
++if test ! -f /usr/bin/scan-build-$VERSION; then
++    echo "Install clang-tools-$VERSION"
++    exit 1
++fi
++echo "Testing clang-tools-$VERSION ..."
++
++echo '
++void test() {
++  int x;
++  x = 1; // warn
++}
++'> foo.c
++
++# Ignore if gcc isn't available
++scan-build-$VERSION -o scan-build gcc -c foo.c &> /dev/null || true
++scan-build-$VERSION -o scan-build clang-$VERSION -c foo.c &> /dev/null
++scan-build-$VERSION --exclude non-existing/ --exclude /tmp/ -v clang-$VERSION -c foo.c &> /dev/null
++scan-build-$VERSION --exclude $(pwd) -v clang-$VERSION -c foo.c &> foo.log
++if ! grep -q -E "scan-build: 0 bugs found." foo.log; then
++    echo "scan-build --exclude didn't ignore the defect"
++    exit 42
++fi
++rm -rf scan-build
++
++echo 'namespace mozilla {
++namespace dom {
++void foo();
++}
++}
++' > foo.cpp
++clang-tidy-$VERSION -checks='modernize-concat-nested-namespaces' foo.cpp -extra-arg=-std=c++17 &> foo.log
++if ! grep -q "nested namespaces can " foo.log; then
++    echo "Clang-tidy didn't detect the issue"
++    cat foo.log
++    exit 1
++fi
++
++
++rm -rf cmaketest && mkdir cmaketest
++cat > cmaketest/CMakeLists.txt <<EOF
++cmake_minimum_required(VERSION 2.8.12)
++project(SanityCheck)
++add_library(MyLibrary foo.cpp)
++EOF
++mkdir cmaketest/standard
++cp foo.cpp cmaketest/
++cd cmaketest/standard
++# run with cmake
++CXX=clang-$VERSION cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. > /dev/null
++
++clang-tidy-$VERSION -checks='modernize-concat-nested-namespaces' ../foo.cpp -extra-arg=-std=c++17 -fix &> foo.log
++if ! grep -q "namespace mozilla::dom" ../foo.cpp; then
++    echo "clang-tidy autofix didn't work"
++    cat foo.log
++    exit 1
++fi
++cd - &> /dev/null
++rm -rf cmaketest
++
++echo "Testing clangd-$VERSION ..."
++
++echo '{
++  "jsonrpc": "2.0",
++  "id": 0,
++  "method": "initialize",
++  "params": {
++    "capabilities": {
++      "textDocument": {
++        "completion": {
++          "completionItem": {
++            "snippetSupport": true
++          }
++        }
++      }
++    },
++    "trace": "off"
++  }
++}
++---
++{
++    "jsonrpc": "2.0",
++    "method": "textDocument/didOpen",
++    "params": {
++        "textDocument": {
++            "uri": "test:///main.cpp",
++            "languageId": "cpp",
++            "version": 1,
++            "text": "int func_with_args(int a, int b);\nint main() {\nfunc_with\n}"
++        }
++    }
++}
++---
++{
++    "jsonrpc": "2.0",
++    "id": 1,
++    "method": "textDocument/completion",
++    "params": {
++        "textDocument": {
++            "uri": "test:///main.cpp"
++        },
++        "position": {
++            "line": 2,
++            "character": 7
++         }
++     }
++}
++---
++{
++    "jsonrpc": "2.0",
++    "id": 4,
++    "method": "shutdown"
++}
++---
++{
++    "jsonrpc": "2.0",
++    "method": "exit"
++}
++' > a.json
++
++clangd-$VERSION -lit-test -pch-storage=memory < a.json &> foo.log
++if ! grep -q '"insertText": "func_with_args(${1:int a}, ${2:int b})",' foo.log; then
++    echo "clangd didn't export what we were expecting"
++    cat foo.log
++    exit 1
++fi
++
++echo 'namespace mozilla {
++namespace dom {
++void foo();
++
++int fonction_avec_args(int a, float b);
++int main() {
++fonction_avec_args
++}
++
++}
++}
++' > foo.cpp
++content=$(sed ':a;N;$!ba;s/\n/\\n/g' foo.cpp)
++echo '{
++  "jsonrpc": "2.0",
++  "id": 0,
++  "method": "initialize",
++  "params": {
++    "capabilities": {
++      "textDocument": {
++        "completion": {
++          "completionItem": {
++            "snippetSupport": true
++          }
++        }
++      }
++    },
++    "trace": "off"
++  }
++}
++---
++{
++    "jsonrpc": "2.0",
++    "method": "textDocument/didOpen",
++    "params": {
++        "textDocument": {
++            "uri": "file:///'$(pwd)'/cmaketest/foo.cpp",
++            "languageId": "cpp",
++            "version": 1,
++            "text": "'$content'"
++        }
++    }
++}
++---
++{
++    "jsonrpc": "2.0",
++    "id": 1,
++    "method": "textDocument/completion",
++    "params": {
++        "textDocument": {
++             "uri": "file:///'$(pwd)'/cmaketest/foo.cpp"
++        },
++        "position": {
++             "line": 6,
++             "character": 18
++         }
++    }
++}
++---
++{
++    "jsonrpc": "2.0",
++    "id": 4,
++    "method": "shutdown"
++}
++---
++{
++    "jsonrpc": "2.0",
++    "method": "exit"
++}
++' > a.json
++
++rm -rf cmaketest && mkdir cmaketest
++cat > cmaketest/CMakeLists.txt <<EOF
++cmake_minimum_required(VERSION 2.8.12)
++project(SanityCheck)
++add_library(MyLibrary foo.cpp)
++EOF
++mkdir cmaketest/standard
++cp foo.cpp cmaketest/
++cp a.json cmaketest/standard
++cd cmaketest/standard
++
++# run with cmake
++
++CXX=clang-$VERSION cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. > /dev/null
++# TODO this test is useless as it doesn't leverage foo.cpp or the compiledb
++clangd-$VERSION -lit-test -pch-storage=memory < a.json &> foo.log
++if ! grep -q '"insertText": "fonction_avec_args(${1:int a}, ${2:float b})",' foo.log; then
++    echo "clangd didn't export what we were expecting"
++    cat foo.log
++    exit 1
++fi
++cd - &> /dev/null
++rm -rf cmaketest
++
++
++echo "Testing clang-$VERSION ..."
++
++rm -f foo.log
++echo 'int main() {return 0;}' > foo.c
++clang-$VERSION foo.c
++
++echo '#include <stdio.h>
++int main() {
++printf("lli foo");
++return 0;
++}' > foo.c
++clang-$VERSION -S -emit-llvm foo.c
++llc-$VERSION foo.ll
++if ! lli-$VERSION foo.ll|grep -q "lli foo"; then
++    echo "Not lli correct output"
++    lli-$VERSION foo.ll
++    exit 1
++fi
++opt-$VERSION -S -O3 foo.ll -o opt.ll
++if ! lli-$VERSION opt.ll|grep -q "lli foo"; then
++    echo "Not lli correct output after opt"
++    lli-$VERSION opt.ll
++    exit 1
++fi
++
++clang-$VERSION -O3 -emit-llvm foo.c -c -o foo.bc
++chmod +x foo.bc
++# only run if the binfmt is installed correctly
++/usr/sbin/update-binfmts --display llvm-$VERSION-runtime.binfmt &> foo.log || true
++if grep -q "interpreter = /usr/bin/lli-" foo.log; then
++    /usr/sbin/update-binfmts --enable llvm-$VERSION-runtime.binfmt || true
++    if ! ./foo.bc|grep -q "lli foo"; then
++        echo "executing ./foo.bc failed"
++        ./foo.bc || true
++        #exit 1
++    fi
++
++    clang-$VERSION -O3 -emit-llvm foo.c -c -o foo.bc
++    chmod +x foo.bc
++    if ! ./foo.bc|grep -q "lli foo"; then
++        echo "executing ./foo.bc failed"
++        ./foo.bc || true
++        #exit 1
++    fi
++fi # binfmt test
++
++if ! llvm-dis-$VERSION < foo.bc|grep -q "lli foo"; then
++    echo "llvm assembly code failed"
++    llvm-dis-$VERSION < foo.bc
++    exit 1
++fi
++
++echo '#include <stddef.h>' > foo.c
++clang-$VERSION -c foo.c
++
++# https://bugs.launchpad.net/bugs/1810860
++clang-$VERSION -dumpversion &> foo.log
++if grep -q 4.2.1 foo.log; then
++    echo "dumpversion still returns 4.2.1"
++    echo "it should return the clang version"
++    cat foo.log
++    exit 1
++fi
++
++# bug 903709
++echo '#include <stdatomic.h>
++void increment(atomic_size_t *arg) {
++    atomic_fetch_add(arg, 1);
++} ' > foo.c
++
++clang-$VERSION -v -c foo.c &> /dev/null
++
++echo "#include <fenv.h>" > foo.cc
++NBLINES=$(clang++-$VERSION -P -E foo.cc|wc -l)
++if test $NBLINES -lt 100; then
++    echo "Error: more than 100 lines should be returned"
++    exit 42
++fi
++
++if [ $DEB_HOST_ARCH != "arm64" -a $DEB_HOST_ARCH != "ppc64el" ]; then
++    # Fails on arm64 with
++    # /usr/lib/llvm-10/lib/clang/10.0.0/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
++    echo '#include <emmintrin.h>' > foo.cc
++    clang++-$VERSION -c foo.cc
++fi
++
++# Bug 913213
++echo '#include <limits.h>' | clang-$VERSION -E - > /dev/null
++
++# Bug launchpad #1488254
++echo '
++#include <string>
++std::string hello = "Hello, world!\n";
++' > foo.cc
++
++echo '
++#include <string>
++#include <iostream>
++extern std::string hello;
++int main() {
++    std::cout << hello;
++    return 0;
++} ' > bar.cc
++
++g++ -c foo.cc && g++ foo.o bar.cc && ./a.out  > /dev/null || true
++clang++-$VERSION -c foo.cc && clang++-$VERSION foo.o bar.cc && ./a.out  > /dev/null
++g++ -c foo.cc && clang++-$VERSION foo.o bar.cc && ./a.out  > /dev/null || true
++clang++-$VERSION -c foo.cc -fPIC && g++ foo.o bar.cc && ./a.out > /dev/null || true
++
++## test z3
++echo '
++void clang_analyzer_eval(int);
++void testBitwiseRules(unsigned int a, int b) {
++  clang_analyzer_eval((1 & a) <= 1); // expected-warning{{TRUE}}
++  // with -analyzer-constraints=z3, it can tell that it is FALSE
++  // without the option, it is unknown
++  clang_analyzer_eval((b | -2) >= 0); // expected-warning{{FALSE}}
++}
++' > foo.c
++if dpkg -l|grep -q libz3-dev; then
++   # Should work
++    clang-$VERSION -cc1  -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false -analyzer-constraints=z3 foo.c
++else
++    echo "z3 support not available"
++fi
++
++# Should fail
++clang-$VERSION -cc1  -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false foo.c &> foo.log || true
++if grep -q "File a.c Line 7: UNKNOWN" foo.log; then
++    echo "Should fail without -analyzer-constraints=z3"
++    exit 1
++fi
++
++if dpkg -l|grep -q libz3-dev; then
++    clang-$VERSION -cc1  -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 foo.c &> foo.log
++    if ! grep -q "2 warnings generated." foo.log; then
++        echo "Should find 2 warnings"
++        exit 1
++    fi
++else
++    echo "z3 support not available"
++fi
++
++clang-$VERSION -cc1  -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection foo.c &> foo.log
++if ! grep -q "3 warnings generated." foo.log; then
++    echo "Should find 3 warnings"
++    exit 1
++fi
++
++# bug 827866
++echo 'bool testAndSet(void *atomic) {
++    return __atomic_test_and_set(atomic, __ATOMIC_SEQ_CST);
++}'> foo.cpp
++clang++-$VERSION -c -target aarch64-linux-gnu foo.cpp
++if ! file foo.o 2>&1 | grep -i -q "aarch64"; then
++    echo "Could not find the string 'aarch64' in the output of file. Output:"
++    file foo.o
++    exit 42
++fi
++
++clang-$VERSION --target=arm-linux-gnueabihf -dM -E -xc - < /dev/null &> foo.log
++if ! grep -q "#define __ARM_ARCH 7" foo.log; then
++    # bug 930008
++    echo "The target arch for arm should be v7"
++    cat foo.log
++    exit 42
++fi
++
++echo '
++#include <string.h>
++int
++main ()
++{
++  (void) strcat;
++  return 0;
++}' > foo.c
++clang-$VERSION -c foo.c
++
++echo '#include <errno.h>
++int main() {} ' > foo.c
++clang-$VERSION foo.c
++
++echo '#include <chrono>
++int main() { }' > foo.cpp
++clang++-$VERSION -std=c++11 foo.cpp
++
++echo "Testing linking clang-cpp ..."
++
++clang-$VERSION -lclang-cpp$VERSION -v foo.cpp -o o &> /dev/null || true
++if ! ldd o 2>&1|grep -q  libclang-cpp; then
++      echo "Didn't link against libclang-cpp$VERSION"
++      exit 42
++fi
++./o > /dev/null
++
++# Check that the symlink is correct
++ls -al /usr/lib/llvm-$VERSION/lib/libclang-cpp.so.$VERSION > /dev/null
++
++echo "Testing code coverage ..."
++
++echo '#include <stdio.h>
++int main() {
++if (1==1) {
++      printf("true");
++}else{
++      printf("false");
++      return 42;
++}
++return 0;}' > foo.c
++clang-$VERSION --coverage foo.c -o foo
++./foo > /dev/null
++if test ! -f foo.gcno; then
++    echo "Coverage failed";
++fi
++
++echo "#include <iterator>" > foo.cpp
++clang++-$VERSION -c foo.cpp
++
++echo "Testing linking ..."
++if test ! -f /usr/lib/llvm-$VERSION/bin/../lib/LLVMgold.so; then
++    echo "Install llvm-$VERSION-dev"
++    exit 1
++fi
++
++echo '#include <stdio.h>
++int main() {
++if (1==1) {
++  printf("true");
++}else{
++  printf("false");
++  return 42;
++}
++return 0;}' > foo.c
++rm foo bar.cc
++
++clang-$VERSION -flto foo.c -o foo
++./foo > /dev/null
++
++clang-$VERSION -fuse-ld=gold foo.c -o foo
++./foo > /dev/null
++
++# test thinlto
++echo "int foo(void) { return 0; }"> foo.c
++echo "int foo(void); int main() {foo();       return 0;}">main.c
++clang-$VERSION -flto=thin -O2 foo.c main.c -o foo
++./foo > /dev/null
++clang-$VERSION -flto=thin -O2 foo.c main.c -c
++
++echo "Testing lld-$VERSION ..."
++
++if test ! -f /usr/bin/lld-$VERSION; then
++    echo "Install lld-$VERSION"
++    exit 1
++fi
++clang-$VERSION -fuse-ld=lld -O2 foo.c main.c -o foo
++./foo > /dev/null
++
++if ls -al1 /usr/bin/ld.lld|grep ld.lld-$VERSION; then
++# https://bugs.llvm.org/show_bug.cgi?id=40659
++# -fuse-ld=lld will call lld
++# Mismatch of version can fail the check
++# so, only run it when /usr/bin/lld == $VERSION
++    clang-$VERSION -fuse-ld=lld -flto -O2 foo.c main.c -o foo
++    ./foo > /dev/null
++fi
++
++clang-$VERSION -fuse-ld=lld-$VERSION -O2 foo.c main.c -o foo
++./foo > /dev/null
++
++# Bug 916975
++file foo &> foo.log
++if ! grep -q "BuildID" foo.log; then
++    echo "BuildID isn't part of the generated binary (lld generation)"
++    exit 1
++fi
++# Bug 916975
++clang-$VERSION -O2 foo.c main.c -o foo2
++file foo2 &> foo2.log
++if ! grep -q "BuildID" foo2.log; then
++    echo "BuildID isn't part of the generated binary (ld generation)"
++    exit 1
++fi
++
++strip foo2
++file foo2 &> foo2.log
++if ! grep -q "BuildID" foo2.log; then
++    echo "BuildID isn't part of the generated binary (stripped)"
++    exit 1
++fi
++rm foo2 foo2.log
++
++if test ! -f /usr/lib/llvm-$VERSION/bin/llvm-symbolizer; then
++    echo "Install llvm-$VERSION"
++    exit 1
++fi
++
++echo "vzeroupper" | llvm-exegesis-$VERSION -mode=uops -snippets-file=- &> foo.log || true
++if grep -q -E "(built without libpfm|cannot initialize libpfm)" foo.log; then
++    echo "could not run llvm-exegesis correctly"
++    cat foo.log|head
++    exit 42
++fi
++
++if test ! -f /usr/lib/llvm-$VERSION/lib/libFuzzer.a; then
++    echo "Install libfuzzer-$VERSION-dev";
++    exit -1;
++fi
++
++echo "Testing libfuzzer-$VERSION-dev ..."
++
++cat << EOF > test_fuzzer.cc
++#include <stdint.h>
++#include <stddef.h>
++extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
++  if (size > 0 && data[0] == 'H')
++    if (size > 1 && data[1] == 'I')
++       if (size > 2 && data[2] == '!')
++       __builtin_trap();
++  return 0;
++}
++
++EOF
++
++clang++-$VERSION -fsanitize=address -fsanitize-coverage=edge,trace-pc test_fuzzer.cc /usr/lib/llvm-$VERSION/lib/libFuzzer.a
++if ! ./a.out 2>&1 | grep -q -E "(Test unit written|PreferSmall)"; then
++    echo "fuzzer failed"
++    exit 42
++fi
++
++clang++-$VERSION -fsanitize=address,fuzzer test_fuzzer.cc
++if ! ./a.out 2>&1 | grep -q "libFuzzer: deadly signal"; then
++    echo "fuzzer failed"
++fi
++
++echo 'int main(int argc, char **argv) {
++  int *array = new int[100];
++  delete [] array;
++  return array[argc];  // BOOM
++}' > foo.cpp
++clang++-$VERSION -O1 -g -fsanitize=address -fno-omit-frame-pointer foo.cpp
++ASAN_OPTIONS=verbosity=1 ./a.out &> foo.log || true
++if ! grep -q "Init done" foo.log; then
++    echo "asan verbose mode failed"
++    cat foo.log
++    exit 42
++fi
++
++# See also https://bugs.llvm.org/show_bug.cgi?id=39514 why
++# /usr/bin/llvm-symbolizer-7 doesn't work
++ASAN_OPTIONS=verbosity=2:external_symbolizer_path=/usr/lib/llvm-$VERSION/bin/llvm-symbolizer ./a.out &> foo.log || true
++if ! grep -q "Using llvm-symbolizer" foo.log; then
++    echo "could not find llvm-symbolizer path"
++    cat foo.log
++    exit 42
++fi
++if ! grep -q "new\[\](unsigned" foo.log; then
++    echo "could not symbolize correctly"
++    cat foo.log
++    exit 42
++fi
++
++if ! grep -q "foo.cpp:3:3" foo.log; then
++    echo "could not symbolize correctly"
++    cat foo.log
++    exit 42
++fi
++./a.out &> foo.log || true
++if ! grep -q "new\[\](unsigned" foo.log; then
++    echo "could not symbolize correctly"
++    cat foo.log
++    exit 42
++fi
++
++if ! grep -q "foo.cpp:3:3" foo.log; then
++    echo "could not symbolize correctly"
++    cat foo.log
++    exit 42
++fi
++
++# Example from https://github.com/google/fuzzing/blob/master/tutorial/libFuzzerTutorial.md
++# coverage fuzzing
++cat << EOF > StandaloneFuzzTargetMain.c
++#include <assert.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size);
++__attribute__((weak)) extern int LLVMFuzzerInitialize(int *argc, char ***argv);
++int main(int argc, char **argv) {
++  fprintf(stderr, "StandaloneFuzzTargetMain: running %d inputs\n", argc - 1);
++  if (LLVMFuzzerInitialize)
++    LLVMFuzzerInitialize(&argc, &argv);
++  for (int i = 1; i < argc; i++) {
++    fprintf(stderr, "Running: %s\n", argv[i]);
++    FILE *f = fopen(argv[i], "r");
++    assert(f);
++    fseek(f, 0, SEEK_END);
++    size_t len = ftell(f);
++    fseek(f, 0, SEEK_SET);
++    unsigned char *buf = (unsigned char*)malloc(len);
++    size_t n_read = fread(buf, 1, len, f);
++    fclose(f);
++    assert(n_read == len);
++    LLVMFuzzerTestOneInput(buf, len);
++    free(buf);
++    fprintf(stderr, "Done:    %s: (%zd bytes)\n", argv[i], n_read);
++  }
++}
++EOF
++
++cat << EOF > fuzz_me.cc
++#include <stdint.h>
++#include <stddef.h>
++
++bool FuzzMe(const uint8_t *Data, size_t DataSize) {
++  return DataSize >= 3 &&
++      Data[0] == 'F' &&
++      Data[1] == 'U' &&
++      Data[2] == 'Z' &&
++      Data[3] == 'Z';
++}
++
++extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
++  FuzzMe(Data, Size);
++  return 0;
++}
++EOF
++clang-$VERSION -fprofile-instr-generate -fcoverage-mapping fuzz_me.cc StandaloneFuzzTargetMain.c
++
++rm -rf CORPUS
++mkdir -p CORPUS
++echo -n A > CORPUS/A
++./a.out CORPUS/* &> /dev/null
++if ! ./a.out CORPUS/* 2>&1 | grep -q "running 1 inputs"; then
++    echo "Coverage fuzzing failed"
++    exit 1
++fi
++llvm-profdata-$VERSION merge -sparse *.profraw -o default.profdata
++llvm-cov-$VERSION show a.out -instr-profile=default.profdata -name=FuzzMe &> foo.log
++if ! grep -q "return DataSize >= 3" foo.log; then
++    echo "llvm-cov didn't show the expected output in fuzzing"
++    exit 1
++fi
++echo -n FUZA > CORPUS/FUZA && ./a.out CORPUS/* &> /dev/null
++llvm-profdata-$VERSION merge -sparse *.profraw -o default.profdata
++llvm-cov-$VERSION show a.out -instr-profile=default.profdata -name=FuzzMe &> foo.log
++if ! grep -q "Data\[3\] == 'Z';" foo.log; then
++    echo "llvm-cov didn't show the expected output in fuzzing"
++    exit 1
++fi
++rm -rf CORPUS fuzz_me.cc StandaloneFuzzTargetMain.c
++
++echo "Testing sanitizers ..."
++
++echo '#include <stdlib.h>
++int main() {
++  char *x = (char*)malloc(10 * sizeof(char*));
++  free(x);
++  return x[5];
++}
++' > foo.c
++clang-$VERSION -o foo -fsanitize=address -O1 -fno-omit-frame-pointer -g  foo.c
++if ! ./foo 2>&1 | grep -q heap-use-after-free ; then
++    echo "sanitize=address is failing"
++    exit 42
++fi
++
++# Bug #876973
++echo '
++#include <stdio.h>
++int main(int argc, char **argv)
++{
++   printf("Hello world!\n");
++   return 0;
++}' > foo.c
++
++# segfaults on 32bit with "-lc" library (also 6.0 does segfault)
++clang-$VERSION -fsanitize=address foo.c -o foo -lc
++./foo &> /dev/null || true
++
++echo '
++#include <pthread.h>
++#include <stdio.h>
++
++int Global;
++
++void *Thread1(void *x) {
++  Global++;
++  return NULL;
++}
++
++void *Thread2(void *x) {
++  Global--;
++  return NULL;
++}
++
++int main() {
++  pthread_t t[2];
++  pthread_create(&t[0], NULL, Thread1, NULL);
++  pthread_create(&t[1], NULL, Thread2, NULL);
++  pthread_join(t[0], NULL);
++  pthread_join(t[1], NULL);
++} ' > foo.c
++
++clang-$VERSION -o foo -fsanitize=thread -g -O1 foo.c
++if ! strings ./foo 2>&1 | grep -q "tsan"; then
++    echo "binary doesn't contain tsan code"
++    strings foo
++    exit 42
++fi
++if ! ./foo 2>&1 | grep -q "data race"; then
++    echo "sanitize=address is failing"
++    exit 42
++fi
++
++echo '
++class a {
++public:
++  ~a();
++};
++template <typename, typename> using b = a;
++struct f {
++  template <typename d> using e = b<a, d>;
++};
++struct g {
++  typedef f::e<int> c;
++};
++class h {
++  struct : g::c { int i; };
++};
++struct m {
++  h i;
++};
++template <typename> void __attribute__((noreturn)) j();
++void k() {
++  m l;
++  j<int>();
++}' > foo.cpp
++clang++-$VERSION -std=c++14 -O3 -fsanitize=address -fsanitize=undefined -c foo.cpp -fno-crash-diagnostics
++
++
++# fails on 32 bit, seems a real BUG in the package, using 64bit static libs?
++LANG=C clang-$VERSION -fsanitize=fuzzer test_fuzzer.cc &> foo.log || true
++if ! grep "No such file or directory" foo.log; then
++    # This isn't failing on 64, so, look at the results
++    if ! ./a.out 2>&1 | grep -q -E "(Test unit written|PreferSmall)"; then
++        echo "fuzzer. Output:"
++        ./a.out || true
++        if [ $DEB_HOST_ARCH != "arm64" -a $DEB_HOST_ARCH != "ppc64el" ]; then
++            # Don't fail on arm64 and ppc64el
++            exit 42
++        fi
++    fi
++fi
++
++echo 'int main() {
++      int a=0;
++      return a;
++}
++' > foo.c
++clang-$VERSION -g -o bar foo.c
++
++# ABI issue between gcc & clang with clang 7
++# https://bugs.llvm.org/show_bug.cgi?id=39427
++# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913271
++if test $VERSION -eq 7; then
++echo '
++#include <llvm/ADT/ArrayRef.h>
++#include <llvm/ADT/Optional.h>
++namespace llvm { class Constant{}; class Type; class Value; }
++extern llvm::Constant* bar (llvm::Type*, llvm::Constant*, llvm::ArrayRef<llvm::Value*>, bool, llvm::Optional<unsigned> o, llvm::Type*);
++#ifdef PART2
++llvm::Constant* bar (llvm::Type*, llvm::Constant*, llvm::ArrayRef<llvm::Value*>, bool, llvm::Optional<unsigned> o, llvm::Type*)
++{
++   return o.hasValue()?static_cast<llvm::Constant*>(nullptr)+1:nullptr;
++}
++#endif
++#ifndef PART2
++static llvm::Constant* doConstantRef(llvm::Type* type, llvm::Constant* var, llvm::ArrayRef<llvm::Value*> steps)
++{
++   llvm::Optional<unsigned> inRangeIndex;
++   return bar(type, var, steps, false, inRangeIndex, nullptr);
++}
++bool foo()
++{
++   llvm::Constant* var = nullptr;
++   llvm::Value* zero = nullptr;
++   llvm::Value* indexes[2] = {zero, zero};
++   llvm::ArrayRef<llvm::Value*> steps(indexes, 2);
++   auto result = doConstantRef(nullptr, var, steps);
++   return result;
++}
++int main()
++{
++   return foo();
++}
++#endif
++' > foo.cpp
++FLAGS="-I/usr/lib/llvm-$VERSION/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wdelete-non-virtual-dtor -Wno-comment -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -ffunction-sections -fdata-sections -O2 -DNDEBUG  -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
++
++clang++-$VERSION -c -o part1.o foo.cpp $FLAGS
++if test -f /usr/bin/g++; then
++    g++ -c -o part2.o -DPART2 foo.cpp $FLAGS
++    clang++-$VERSION -o foo part1.o part2.o $FLAGS
++    ./foo
++fi
++rm part1.o part2.o
++fi
++
++if test ! -f /usr/lib/llvm-$VERSION/lib/libomp.so; then
++    echo "Install libomp-$VERSION-dev";
++    exit -1;
++fi
++
++# OpenMP
++cat <<EOF > foo.c
++//test.c
++#include "omp.h"
++#include <stdio.h>
++
++int main(void) {
++  #pragma omp parallel
++  printf("thread %d\n", omp_get_thread_num());
++}
++EOF
++clang-$VERSION foo.c -fopenmp -o o
++./o > /dev/null
++
++if test ! -f /usr/lib/llvm-$VERSION/include/c++/v1/vector; then
++    echo "Install libc++-$VERSION-dev";
++    exit -1;
++fi
++
++if test ! -f /usr/lib/llvm-$VERSION/lib/libc++abi.so; then
++    echo "Install libc++abi-$VERSION-dev";
++    exit -1;
++fi
++
++
++# libc++
++echo '
++#include <vector>
++#include <string>
++#include <iostream>
++using namespace std;
++int main(void) {
++    vector<string> tab;
++    tab.push_back("the");
++    tab.push_back("world");
++    tab.insert(tab.begin(), "Hello");
++
++    for(vector<string>::iterator it=tab.begin(); it!=tab.end(); ++it)
++    {
++        cout << *it << " ";
++    }
++    return 0;
++}' > foo.cpp
++clang++-$VERSION -stdlib=libc++ foo.cpp -o o
++if ! ldd o 2>&1|grep -q  libc++.so.1; then
++    echo "not linked against libc++.so.1"
++    exit -1
++fi
++if ! ldd o 2>&1|grep -q  libc++abi.so.1; then
++    echo "not linked against libc++abi.so.1"
++    exit -1
++fi
++
++./o > /dev/null
++clang++-$VERSION -std=c++11 -stdlib=libc++ foo.cpp -o o
++./o > /dev/null
++
++# Bug 889832
++echo '#include <iostream>
++int main() {}'  | clang++-$VERSION -std=c++1z  -x c++ -stdlib=libc++ -
++
++if test ! -f /usr/lib/llvm-$VERSION/include/cxxabi.h; then
++    echo "Install libc++abi-$VERSION-dev";
++    exit -1;
++fi
++
++# Force the usage of libc++abi
++clang++-$VERSION -stdlib=libc++ -lc++abi foo.cpp -o o
++./o > /dev/null
++if ! ldd o 2>&1|grep -q  libc++abi.so.1; then
++    echo "not linked against libc++abi.so.1"
++    exit -1
++fi
++
++# Use the libc++abi and uses the libstc++ headers
++clang++-$VERSION -lc++abi foo.cpp -o o
++./o > /dev/null
++if ! ldd o 2>&1|grep -q libstdc++.so.; then
++    echo "not linked against libstdc++"
++    exit -1
++fi
++
++# fs from C++17
++echo '
++#include <filesystem>
++#include <type_traits>
++using namespace std::filesystem;
++int main() {
++  static_assert(std::is_same<
++          path,
++          std::filesystem::path
++      >::value, "");
++}' > foo.cpp
++clang++-$VERSION -std=c++17 -stdlib=libc++ foo.cpp -o o
++./o > /dev/null
++
++# Bug LP#1586215
++echo '
++#include <string>
++#include <iostream>
++
++int main()
++{
++    try
++    {
++        std::string x;
++        char z = x.at(2);
++        std::cout << z << std::endl;
++    }
++    catch (...)
++    {
++    }
++
++    return 0;
++}' > foo.cpp
++clang++-$VERSION -stdlib=libc++ -Wall -Werror foo.cpp -o foo
++./foo
++
++# Bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=914201
++echo '
++#include <math.h>
++int main(void)
++{
++    double f = 2.0;
++    if (isnan(f))
++      return 1;
++    return 0;
++}' > foo.c
++clang-$VERSION -Wconversion -Werror foo.c &> /dev/null || true
++
++if test -f /usr/bin/g++; then
++g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -L/usr/lib/llvm-$VERSION/lib/ \
++    foo.cpp -nodefaultlibs -std=c++17 -lc++ -lc++abi -lm -lc -lgcc_s -lgcc|| true
++./o > /dev/null
++fi
++
++
++if test ! -f /usr/lib/llvm-$VERSION/include/polly/LinkAllPasses.h; then
++    echo "Install libclang-common-$VERSION-dev for polly";
++    exit -1;
++fi
++
++echo "Testing polly (libclang-common-$VERSION-dev) ..."
++
++# Polly
++echo "
++#define N 1536
++float A[N][N];
++float B[N][N];
++float C[N][N];
++
++void init_array()
++{
++    int i, j;
++    for (i = 0; i < N; i++) {
++        for (j = 0; j < N; j++) {
++            A[i][j] = (1+(i*j)%1024)/2.0;
++            B[i][j] = (1+(i*j)%1024)/2.0;
++        }
++    }
++}
++
++int main()
++{
++    int i, j, k;
++    double t_start, t_end;
++    init_array();
++    for (i = 0; i < N; i++) {
++        for (j = 0; j < N; j++) {
++            C[i][j] = 0;
++            for (k = 0; k < N; k++)
++                C[i][j] = C[i][j] + A[i][k] * B[k][j];
++        }
++    }
++    return 0;
++}
++" > foo.c
++clang-$VERSION -O3 -mllvm -polly -mllvm -polly-parallel -lgomp  foo.c
++# Comment because of https://bugs.llvm.org/show_bug.cgi?id=43164
++#clang-$VERSION -O3 -mllvm -polly -mllvm -lgomp -polly-parallel foo.c
++clang-$VERSION -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine foo.c
++clang-$VERSION -S -fsave-optimization-record -emit-llvm foo.c -o matmul.s
++opt-$VERSION -S -polly-canonicalize matmul.s > matmul.preopt.ll > /dev/null
++opt-$VERSION -basicaa -polly-ast -analyze -q matmul.preopt.ll -polly-process-unprofitable > /dev/null
++if test ! -f /usr/lib/llvm-$VERSION/share/opt-viewer/opt-viewer.py; then
++    echo "Install llvm-$VERSION-tools"
++    exit 42
++fi
++/usr/lib/llvm-$VERSION/share/opt-viewer/opt-viewer.py -source-dir .  matmul.opt.yaml -o ./output > /dev/null
++
++if ! grep -q "not inlined into" output/foo.c.html 2>&1; then
++    echo "Could not find the output from polly"
++    exit -1
++fi
++
++echo "
++int foo(int x, int y) __attribute__((always_inline));
++int foo(int x, int y) { return x + y; }
++int bar(int j) { return foo(j, j - 2); }" > foo.cc
++clang-$VERSION -O2 -Rpass=inline foo.cc -c &> foo.log
++if ! grep -q "cost=always" foo.log; then
++    echo "-Rpass fails"
++    cat foo.log
++    exit 1
++fi
++echo "
++int X = 0;
++
++int main() {
++  int i;
++  for (i = 0; i < 100; i++)
++    X += i;
++  return 0;
++}"> foo.cc
++clang++-$VERSION -O2 -fprofile-instr-generate foo.cc -o foo
++LLVM_PROFILE_FILE="foo-%p.profraw" ./foo
++llvm-profdata-$VERSION merge -output=foo.profdata foo-*.profraw
++clang++-$VERSION -O2 -fprofile-instr-use=foo.profdata foo.cc -o foo
++
++# https://bugs.llvm.org/show_bug.cgi?id=44870
++cat <<EOF > foo.cpp
++#include <clang/CodeGen/BackendUtil.h>
++
++using namespace clang;
++
++int main() {
++  DiagnosticsEngine* diags;
++  HeaderSearchOptions* hsOpts;
++  CodeGenOptions* cgOpts;
++  TargetOptions* tOpts;
++  LangOptions* lOpts;
++  llvm::DataLayout* tDesc;
++  llvm::Module* m;
++  BackendAction* action;
++  std::unique_ptr<raw_pwrite_stream> AsmOutStream;
++
++  EmitBackendOutput(*diags, *hsOpts, *cgOpts, *tOpts, *lOpts, *tDesc, m, *action, std::move(AsmOutStream));
++}
++EOF
++clang++-$VERSION foo.cpp -o test -lclangBasic -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangCodeGen -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangFrontend -lclangDriver -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -lclangBasic -ldl  /usr/lib/llvm-10/lib/libLLVM-10.so -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -ldl  -I /usr/lib/llvm-$VERSION/include/ -L/usr/lib/llvm-$VERSION/lib/ -lPolly -lPollyPPCG -lPollyISL
++
++
++if test ! -f /usr/bin/lldb-$VERSION; then
++    echo "Install lldb-$VERSION";
++    exit -1;
++fi
++
++echo "b main
++run
++bt
++quit" > lldb-cmd.txt
++
++echo "Testing lldb-$VERSION ..."
++# bug 913946
++lldb-$VERSION -s lldb-cmd.txt bar &> foo.log
++
++if dpkg -l|grep -q clang-$VERSION-dbgsym; then
++    # Testing if clang dbg symbol are here
++    lldb-$VERSION -s lldb-cmd.txt clang-$VERSION &> foo.log
++    if ! grep "main at driver.cpp" foo.log; then
++        echo "Could not find the debug info"
++        echo "Or the main() of clang isn't in driver.cpp anymore"
++        exit -1
++    fi
++else
++    echo "clang-$VERSION-dbgsym isn't installed"
++fi
++
++echo '
++#include <vector>
++int main (void)
++{  std::vector<int> a;
++  a.push_back (0);
++}
++' > foo.cpp
++clang++-$VERSION -g -o foo foo.cpp
++echo 'target create "./foo"
++b main
++r
++n
++p a
++quit' > lldb-cmd.txt
++lldb-$VERSION -s lldb-cmd.txt ./foo &> foo.log
++if ! grep -q "stop reason = step over" foo.log; then
++    echo "Could not find the lldb expected output"
++    cat foo.log
++    # do not fail on i386, never worked here
++    if [ $DEB_HOST_ARCH != "i386" ]; then
++        exit 42
++    fi
++fi
++
++if test ! -f /usr/lib/llvm-$VERSION/lib/libclangToolingInclusions.a; then
++    echo "Install libclang-$VERSION-dev";
++    exit -1;
++fi
++
++# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623
++rm *.o
++/usr/bin/ar x /usr/lib/llvm-$VERSION/lib/libclangIndex.a &> /dev/null
++file *.o a> foo.log
++rm *.o
++if grep "LLVM IR bitcode" foo.log; then
++    echo "found LLVM IR bitcode in the libclangIndex.a file"
++    echo "Should be elf"
++    exit -2
++fi
++
++echo "Testing cmake build ..."
++
++if grep -q lit-cpuid /usr/lib/llvm-$VERSION/lib/cmake/llvm/LLVMExports*.cmake; then
++    echo "LLVMExports*.cmake should not have lit-cpuid"
++    echo "it introduces a dependency between llvm-9 => lldb"
++    exit -1
++fi
++
++rm -rf cmaketest && mkdir cmaketest
++cat > cmaketest/CMakeLists.txt <<EOF
++cmake_minimum_required(VERSION 2.8.12)
++project(SanityCheck)
++find_package(LLVM $VERSION REQUIRED CONFIG)
++message(STATUS "LLVM_CMAKE_DIR: \${LLVM_CMAKE_DIR}")
++if(NOT EXISTS "\${LLVM_TOOLS_BINARY_DIR}/clang")
++message(FATAL_ERROR "Invalid LLVM_TOOLS_BINARY_DIR: \${LLVM_TOOLS_BINARY_DIR}")
++endif()
++# TODO add version to ClangConfig.cmake and use $VERSION below
++find_package(Clang REQUIRED CONFIG)
++find_file(H clang/AST/ASTConsumer.h PATHS \${CLANG_INCLUDE_DIRS} NO_DEFAULT_PATH)
++message(STATUS "CLANG_INCLUDE_DIRS: \${CLANG_INCLUDE_DIRS}")
++if(NOT H)
++message(FATAL_ERROR "Invalid Clang header path: \${CLANG_INCLUDE_DIRS}")
++endif()
++EOF
++mkdir cmaketest/standard cmaketest/explicit
++# "Test: CMake find LLVM and Clang in default path"
++(cd cmaketest/standard && CC=clang-$VERSION CXX=clang++-$VERSION cmake .. > /dev/null)
++# "Test: CMake find LLVM and Clang in explicit prefix path"
++(cd cmaketest/explicit && CC=clang-$VERSION CXX=clang++-$VERSION CMAKE_PREFIX_PATH=/usr/lib/llvm-$VERSION cmake .. > /dev/null)
++rm -rf cmaketest
++
++# Test case for bug #900440
++rm -rf cmaketest && mkdir cmaketest
++cat > cmaketest/CMakeLists.txt <<EOF
++cmake_minimum_required(VERSION 2.8.12)
++project(testllvm)
++
++find_package(LLVM CONFIG REQUIRED)
++find_package(Clang CONFIG REQUIRED)
++
++if(NOT LLVM_VERSION STREQUAL Clang_VERSION)
++    #message(FATAL_ERROR "LLVM ${LLVM_VERSION} not matching to Clang ${Clang_VERSION}")
++endif()
++EOF
++mkdir cmaketest/foo/
++(cd cmaketest/foo && cmake .. > /dev/null)
++rm -rf cmaketest
++
++
++
++
++CLANG=clang-$VERSION
++#command -v "$CLANG" 1>/dev/null 2>/dev/null || { printf "Usage:\n%s CLANGEXE [ARGS]\n" "$0" 1>&2; exit 1; }
++#shift
++
++TEMPDIR=$(mktemp -d); trap "rm -rf \"$TEMPDIR\"" 0
++
++echo "Testing all other sanitizers ..."
++
++echo "int main() { return 1; }" > foo.c
++# fails to run on i386 with the following error:
++#clang: error: unsupported option '-fsanitize=efficiency-working-set' for target 'i686-pc-linux-gnu'
++clang-$VERSION -fsanitize=efficiency-working-set -o foo foo.c || true
++./foo &> /dev/null || true
++
++cat > "$TEMPDIR/test.c" <<EOF
++#include <stdlib.h>
++#include <stdio.h>
++int main ()
++{
++#if __has_feature(address_sanitizer)
++  puts("address_sanitizer");
++#endif
++#if __has_feature(thread_sanitizer)
++  puts("thread_sanitizer");
++#endif
++#if __has_feature(memory_sanitizer)
++  puts("memory_sanitizer");
++#endif
++#if __has_feature(undefined_sanitizer)
++  puts("undefined_sanitizer");
++#endif
++#if __has_feature(dataflow_sanitizer)
++  puts("dataflow_sanitizer");
++#endif
++#if __has_feature(efficiency_sanitizer)
++  puts("efficiency_sanitizer");
++#endif
++  printf("Ok\n");
++  return EXIT_SUCCESS;
++}
++EOF
++
++F=$(clang-$VERSION --target=x86_64-unknown-linux-gnu --rtlib=compiler-rt --print-libgcc-file-name)
++if test ! $F; then
++      echo "Cannot find $F"
++    echo "TODO check if the exit1 can be put back"
++#     exit 1
++else
++    echo "$F is one of the compiler-rt file"
++fi
++
++# only for AMD64 for now
++# many sanitizers only work on AMD64
++# x32 programs need to be enabled in the kernel bootparams for debian
++# (https://wiki.debian.org/X32Port)
++#
++# SYSTEM should iterate multiple targets (eg. x86_64-unknown-none-gnu for embedded)
++# MARCH should iterate the library architectures via flags
++# LIB should iterate the different libraries
++echo "if it fails, please run"
++echo "apt-get install libc6-dev:i386 libgcc-5-dev:i386 libc6-dev-x32 libx32gcc-5-dev libx32gcc-9-dev"
++for SYSTEM in ""; do
++    for MARCH in -m64 -m32 -mx32 "-m32 -march=i686"; do
++        for LIB in --rtlib=compiler-rt -fsanitize=address -fsanitize=thread -fsanitize=memory -fsanitize=undefined -fsanitize=dataflow; do # -fsanitize=efficiency-working-set; do
++            if test "$MARCH" == "-m32" -o "$MARCH" == "-mx32"; then
++                if test $LIB == "-fsanitize=thread" -o $LIB == "-fsanitize=memory" -o $LIB == "-fsanitize=dataflow" -o $LIB == "-fsanitize=address" -o $LIB == "-fsanitize=undefined"; then
++                    echo "Skip $MARCH / $LIB";
++                    continue
++                fi
++            fi
++            if test "$MARCH" == "-m32 -march=i686"; then
++                if test $LIB == "-fsanitize=memory" -o $LIB == "-fsanitize=thread" -o $LIB == "-fsanitize=dataflow"; then
++                     echo "Skip $MARCH / $LIB";
++                     continue
++                fi
++            fi
++            XARGS="$SYSTEM $MARCH $LIB"
++            printf "\nTest: clang %s\n" "$XARGS"
++            rm -f "$TEMPDIR/test"
++            "$CLANG" $XARGS -o "$TEMPDIR/test" "$@" "$TEMPDIR/test.c" || true
++            [ ! -e "$TEMPDIR/test" ] || { "$TEMPDIR/test" || printf 'Error\n'; }
++        done
++    done
++done
++
++echo "If the following fails, try setting an environment variable such as:"
++echo "OBJC_INCLUDE_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/include"
++echo "libobjc-9-dev should be also installed"
++echo "#include <objc/objc.h>" > foo.m
++#clang-$VERSION -c foo.m
++
++if test ! -f /usr/lib/llvm-$VERSION/lib/libclangBasic.a; then
++    echo "Install libclang-$VERSION-dev"
++    exit 1
++fi
++
++#clean up
++rm -f a.out bar crash-* foo foo.* lldb-cmd.txt main.* test_fuzzer.cc foo.* o
++rm -rf output matmul.* *profraw opt.ll
++
++echo "Completed"
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..71f554bf1b5290849fd285c910c9d66ade097b49
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,883 @@@
++#!/usr/bin/make -f
++
++# polly, openmp & lldb aren't enabled for every platform
++PROJECTS = clang;clang-tools-extra;libcxx;libcxxabi;compiler-rt;lld;debuginfo-tests
++#;mlir
++
++TARGET_BUILD  := build-llvm
++TARGET_BUILD_STAGE2    := $(TARGET_BUILD)/tools/clang/stage2-bins
++DEB_INST              := $(CURDIR)/debian/tmp/
++
++# Disable to move the previous method
++BUILD_METHOD := stage2
++
++GXX_VERSIONED_PACKAGE    := $(shell dpkg-query -W -f '$${Depends}' g++ | grep -o 'g++-[0-9][0-9.]*' | tail -n1 )
++GXX_VERSIONED_EXECUTABLE := $(shell dpkg -L $(GXX_VERSIONED_PACKAGE) | grep '/usr/bin/g++-[0-9][0-9.]*' | xargs ls -d | tail -n1 )
++GCC_VERSION              := $(subst /usr/bin/g++-,,$(GXX_VERSIONED_EXECUTABLE))
++
++LLVM_VERSION   := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p")
++LLVM_VERSION_FULL := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p")
++ifeq ($(LLVM_VERSION),$(LLVM_VERSION_FULL))
++      LLVM_VERSION_FULL := $(LLVM_VERSION).0.0
++endif
++
++SONAME_EXT      := 1
++SONAME_OPENMP := 5
++# Manage the case when the version is 3.5~svn213052-1~exp1 or 3.4.2-1
++DEBIAN_REVISION := $(shell dpkg-parsechangelog |  sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\3,p")
++ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
++  NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
++endif
++
++VENDOR=$(shell lsb_release -is)
++DISTRO=$(shell lsb_release -sc)
++
++DH_VERSION := $(shell dpkg -s debhelper | grep '^Version' | awk '{print $$2}')
++
++include /usr/share/dpkg/architecture.mk
++
++LDFLAGS_EXTRA =
++CXXFLAGS_EXTRA =
++CFLAGS_EXTRA =
++CONFIGURE_EXTRA =
++CMAKE_EXTRA = -DPYTHON_EXECUTABLE=/usr/bin/python3
++
++BASE_PATH     := $(CURDIR)
++LIBCXX_EXCEPTIONS :=ON
++
++ifneq (,$(filter $(DEB_HOST_ARCH),s390x))
++      LIBCXX_EXCEPTIONS :=OFF
++endif
++
++ifneq (,$(filter $(DEB_HOST_ARCH),i386 armel mips mipsel powerpc powerpcspe riscv64))
++CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-latomic" -DCMAKE_SHARED_LINKER_FLAGS="-latomic"
++endif
++
++ifneq (,$(filter $(DEB_HOST_ARCH),armel riscv64))
++# For some reason, in the stage2 build, when clang is used to compile
++# itself. The atomic detection is failing on armel and riscv64. Forcing the inclusion everywhere.
++LDFLAGS_EXTRA += -latomic
++endif
++
++# Cxx flags for building libcxx and libcxxabi
++LIBCXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)
++
++ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) lt 4.9-20140411-1~ ; echo $$?),0)
++# Too old version of gcc. Force 4.9
++      GCC_VERSION := 4.9
++endif
++
++Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=OFF
++ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libz3-dev) gt 4.7.0; echo $$?),0)
++# no ocaml support in main for Ubuntu
++ifneq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
++      Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=ON
++endif
++endif
++
++# Change the default CPU for s390x
++ZARCH=z196
++ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
++ZARCH=z13
++endif
++CMAKE_EXTRA += -DCLANG_SYSTEMZ_DEFAULT_ARCH=$(ZARCH)
++
++export CC=gcc-$(GCC_VERSION)
++export CXX=g++-$(GCC_VERSION)
++
++opt_flags = -O2 -DNDEBUG -g1
++
++ifneq (,$(findstring $(DEB_HOST_ARCH),armel))
++  opt_flags += -marm
++  # 3.8 fails to build, disable the compiler_rt builtins
++  # See http://lists.llvm.org/pipermail/llvm-dev/2016-May/099761.html
++  CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF
++  # Check for ancient libstdc++ fails due to atomics usage
++  CMAKE_EXTRA_LIBCXX += -DLLVM_COMPILER_CHECKED=ON
++  # Prevent clang from getting a > v4t default
++  # See bug #868779
++  CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabi
++endif
++
++
++ifneq (,$(findstring $(DEB_HOST_ARCH),armhf))
++# avoid an issue with openmp on armhf
++  CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=armv7l-unknown-linux-gnueabihf
++endif
++
++ifneq (,$(filter $(DEB_HOST_ARCH),mips64el))
++# avoid an issue with search path on mips64el
++# https://bugs.llvm.org/show_bug.cgi?id=41204
++  CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=mips64el-linux-gnuabi64
++endif
++
++
++ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.8-20121128-1~ ; echo $$?),0)
++      control_vars = '-Vdep:devlibs=libstdc++-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \
++              '-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev'
++else ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.7.2-10~ ; echo $$?),0)
++      control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \
++              '-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev'
++else
++      control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
++endif
++
++# Disabled:
++#  Host compiler does not support '-fuse-ld=lld'
++# USE_LLD_ARCHS := amd64
++# ifneq (,$(filter $(DEB_HOST_ARCH),$(USE_LLD_ARCHS)))
++#     CMAKE_EXTRA += -DLLVM_ENABLE_LLD=ON
++# endif
++
++BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 kfreebsd-amd64 kfreebsd-i386
++ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0)
++ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
++# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro)
++      LDFLAGS_EXTRA += -fuse-ld=gold
++#--no-keep-files-mapped --no-map-whole-files
++      CXXFLAGS_EXTRA += -fuse-ld=gold
++      CFLAGS_EXTRA += -fuse-ld=gold
++#-Wl,--no-keep-files-mapped -Wl,--no-map-whole-files
++      CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/
++endif
++endif
++
++CODECOVERAGE=no
++ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
++# enable the code coverage
++      CODECOVERAGE=yes
++# for -fvisibility-inlines-hidden see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130729/183016.html
++      CXXFLAGS_EXTRA += -fprofile-arcs -ftest-coverage
++      LDFLAGS_EXTRA += -coverage -lgcov
++      RUN_TEST=yes
++    # OpenMP doesn't respect LDFLAGS
++    CMAKE_EXTRA+= -DLIBOMP_LDFLAGS="-coverage -lgcov" # don't pass LDFLAGS_EXTRA because it expects gcc arg
++endif
++
++# Enable for bootstrap
++LDFLAGS_EXTRA            += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wl,--build-id
++CXXFLAGS_EXTRA           += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option
++BOOTSTRAP_CXXFLAGS_EXTRA  = $(CXXFLAGS_EXTRA) # Nothing for now. Keeping in case we need it
++CFLAGS_EXTRA             += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option
++BOOTSTRAP_CFLAGS_EXTRA    = $(CFLAGS_EXTRA) # Nothing for now. Keeping in case we need it
++
++# Enable polly (or not)
++POLLY_ENABLE=yes
++ifneq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe))
++  POLLY_ENABLE=no
++else
++  PROJECTS+=;polly
++endif
++
++# Enable openmp (or not)
++OPENMP_ENABLE=yes
++ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel powerpc powerpcspe riscv64 sparc64 s390x x32))
++  OPENMP_ENABLE=no
++else
++  PROJECTS+=;openmp
++endif
++
++RUN_TEST=yes
++ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
++      RUN_TEST=no
++endif
++ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
++ifeq (riscv64,$(DEB_HOST_ARCH))
++      RUN_TEST=no
++endif
++endif
++
++ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS)))
++# enable the build using scan-build
++# The package are installed through the variable declarations:
++# OTHERMIRROR="deb http://llvm.org/apt/unstable/ llvm-toolchain main"
++# EXTRAPACKAGES="clang-X"
++      PRE_PROCESS=scan-build-$(LLVM_VERSION) --show-description -analyzer-config stable-report-filename=true
++# -enable-checker optin.performance.Padding
++      PRE_PROCESS_CONF=scan-build-$(LLVM_VERSION)
++# no need to run tests in this case
++      RUN_TEST=no
++      CONFIGURE_EXTRA += --enable-assertions
++      CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON
++endif
++
++ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS)))
++# enable the build using coverity
++# pbuilder contains BINDMOUNTS="/opt/cov-analysis/"
++# And we have some pbuilder hooks to configure and pack the result
++# Where the binaries are installed on the jenkins instance
++      PRE_PROCESS=PATH=$$PATH:/opt/cov-analysis/bin/ cov-build --dir cov-int
++# We don't want to check the temporary files produced by the configure
++      PRE_PROCESS_CONF=
++      COVERITY_ENABLE=1
++      CONFIGURE_EXTRA += --enable-assertions
++      CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON
++# no need to run tests in this case
++      RUN_TEST=no
++else
++      COVERITY_ENABLE=0
++endif
++
++LLDB_ENABLE=yes
++LLDB_DISABLE_ARCHS := hurd-i386 ia64 powerpc powerpcspe ppc64 riscv64 sparc64
++# hurd has threading issues
++ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH)))
++# Disable LLDB for this arch.
++      LLDB_ENABLE=no
++else
++# See https://llvm.org/bugs/show_bug.cgi?id=28898
++# Enable it again as it seems it is fixed upstream https://bugs.llvm.org/show_bug.cgi?id=35291
++#     CMAKE_EXTRA += -DLLDB_DISABLE_LIBEDIT=ON
++      PROJECTS+=;lldb
++endif
++
++LLD_ENABLE=yes
++
++ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux))
++# only for linux
++      CMAKE_EXTRA += -DLLVM_USE_PERF=yes -DLLVM_ENABLE_LIBPFM=ON
++endif
++
++# Use thinlto for the link phase
++THIN_UNSUPPORTED_DISTRO := stretch xenial trusty
++# Don't enable for old distros
++ifeq (,$(filter $(DISTRO), $(THIN_UNSUPPORTED_DISTRO)))
++# Only enable it for archs supporting gold
++ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
++# armhf is not yet quite ready for Thin, it FTBFS
++# see https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-8&arch=armhf&ver=1%3A8.0.1%7E%2Brc2-1%7Eexp1&stamp=1560334266&raw=0
++ifeq (,$(filter $(DEB_HOST_ARCH), armhf))
++# Use BOOTSTRAP_LLVM_ENABLE_LTO to make sure that it isn't used
++# when running stage1 with gcc
++# For now, disable ThinLTO usage because:
++# * LLVM_ENABLE_LTO doesn't work with gcc >= 9 (option not accepted)
++# * BOOTSTRAP_LLVM_ENABLE_LTO is producing some large binary
++#   See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623
++#     CMAKE_EXTRA += -DBOOTSTRAP_LLVM_ENABLE_LTO="Thin"
++endif
++endif
++endif
++
++DH_OPTIONS=
++OCAML_ENABLE= no
++OCAML_ARCHS := amd64 arm64 armhf ppc64el s390x
++ifneq (,$(filter $(DEB_HOST_ARCH),$(OCAML_ARCHS)))
++# Enable OCAML for this arch.
++      OCAML_ENABLE=yes
++      OCAML_STDLIB_DIR    ?= $(shell ocamlc -where)
++      DH_OPTIONS=--with ocaml
++endif
++
++LIBFUZZER_ENABLE=yes
++ifeq (,$(filter $(DEB_HOST_ARCH_OS),linux))
++      LIBFUZZER_ENABLE=no
++endif
++
++ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel))
++      LIBOMP_ARCH = mips
++endif
++
++ifneq (,$(filter $(DEB_HOST_ARCH), mips64 mips64el))
++      LIBOMP_ARCH = mips64
++endif
++
++
++%:
++      dh $@ $(DH_OPTIONS)
++
++# For some reasons, some spaces are added, removing them
++PROJECTS_LIST := $(shell echo "$(PROJECTS)"|sed -e "s| ||g")
++
++preconfigure:
++      @echo "DEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH)"
++      @echo "DEB_HOST_GNU_TYPE=$(DEB_HOST_GNU_TYPE)"
++      @echo "DEB_HOST_ARCH_BITS=$(DEB_HOST_ARCH_BITS)"
++      @echo "DEB_HOST_ARCH=$(DEB_HOST_ARCH)"
++      @echo "DEB_HOST_ARCH_OS=$(DEB_HOST_ARCH_OS)"
++      @echo "DISTRO=$(DISTRO)"
++      @echo "GCC_VERSION=$(GCC_VERSION)"
++      @echo 'PROJECTS=$(PROJECTS_LIST)'
++
++      for f in debian/*.in; do \
++              f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \
++              echo "$$f => $$f2"; \
++              sed -e 's|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|g' \
++                      -e "s|@OCAML_STDLIB_DIR@|$(OCAML_STDLIB_DIR)|g" \
++                      -e "s|@LLVM_VERSION_FULL@|$(LLVM_VERSION_FULL)|g" \
++                      -e "s|@LLVM_VERSION@|$(LLVM_VERSION)|g" $$f > $$f2; \
++      done
++
++      # Make install file executable for dh-exec
++      chmod +x debian/llvm-$(LLVM_VERSION)-dev.install debian/libclang-common-$(LLVM_VERSION)-dev.install debian/clang-tools-$(LLVM_VERSION).install debian/libomp-$(LLVM_VERSION)-dev.install
++
++      # DH doesn't support the [power ...] in install on Ubuntu trusty
++      # fails with cp: cannot stat 'debian/tmp/[!powerpc': No such file or directory
++      if test "$(DISTRO)" = "trusty"; then \
++              sed -i -e "s|\[\!powerpc \!powerpcspe\] ||g" debian/llvm-$(LLVM_VERSION)-dev.install; \
++      fi
++
++# Override this two targets. They are trying to manage the .in conversion for me
++override_dh_ocamlinit:
++override_dh_ocamlclean:
++
++override_dh_auto_configure: preconfigure
++      echo "Using gcc: "
++      $(CC) -v
++      mkdir -p $(TARGET_BUILD)
++      mkdir -p clang/include/clang/Debian
++      sed -e "s|@DEB_PATCHSETVERSION@|$(DEBIAN_REVISION)|" \
++              debian/debian_path.h > clang/include/clang/Debian/debian_path.h
++
++      # Configure coverity (we need the compilers) + work around perf issues
++      -(if test $(COVERITY_ENABLE) -eq 1; then \
++              export PATH=$$PATH:/opt/cov-analysis/bin/; \
++              cov-configure --compiler clang --comptype clang; \
++              cov-configure --compiler gcc-$(GCC_VERSION) --comptype gcc; \
++              cov-configure --compiler g++-$(GCC_VERSION) --comptype gcc; \
++              cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc -- -fPIC -std=c++11; \
++              cov-configure -co /usr/bin/gcc-$(GCC_VERSION) --comptype gcc -- -fPIC; \
++              cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc -- -fPIC -std=c++11 -fno-exceptions; \
++              cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc --template \
++                      --xml-option append_arg:"--ppp_translator" \
++                      --xml-option append_arg:"replace/llvm::AlignOf<PrevTy>::Alignment/(llvm::AlignOf<PrevTy>::Alignment)" \
++                      --xml-option append_arg:"--ppp_translator" \
++                      --xml-option append_arg:"replace/llvm::AlignOf<NextTy>::Alignment/(llvm::AlignOf<NextTy>::Alignment)"; \
++              cov-configure --compiler c++ --comptype g++ --template \
++                      --xml-option append_arg:"--ppp_translator" \
++                      --xml-option append_arg:"replace/llvm::AlignOf<PrevTy>::Alignment/(llvm::AlignOf<PrevTy>::Alignment)" \
++                      --xml-option append_arg:"--ppp_translator" \
++                      --xml-option append_arg:"replace/llvm::AlignOf<NextTy>::Alignment/(llvm::AlignOf<NextTy>::Alignment)"; \
++      fi)
++
++      echo "Running tests: $(RUN_TEST)"
++
++      # if cmake is installed in /tmp/cmake/ uses it
++      # Used to build llvm on old ubuntu (precise) on the llvm.org/apt/ ci
++      CMAKE_BIN=cmake; \
++      if test -f /tmp/cmake/bin/cmake; then \
++              CMAKE_BIN=/tmp/cmake/bin/cmake; \
++      fi; \
++      echo "Using cmake: $$CMAKE_BIN"; \
++      cd $(TARGET_BUILD) && \
++      $(PRE_PROCESS_CONF) $$CMAKE_BIN ../llvm/ \
++      -DLLVM_ENABLE_PROJECTS="$(PROJECTS_LIST)" \
++      -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \
++      -DCMAKE_VERBOSE_MAKEFILE=ON \
++      -DCMAKE_BUILD_TYPE=RelWithDebInfo \
++      -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \
++      -DLLVM_LINK_LLVM_DYLIB=ON \
++      -DLLVM_INSTALL_UTILS=ON \
++      -DLLVM_VERSION_SUFFIX= \
++      -DLLVM_ENABLE_SPHINX=ON \
++      -DSPHINX_WARNINGS_AS_ERRORS=OFF \
++      -DLLVM_BUILD_LLVM_DYLIB=ON \
++      -DLLVM_ENABLE_RTTI=ON \
++      -DLLVM_ENABLE_FFI=ON \
++      -DLLVM_ENABLE_DUMP=ON \
++      $(CMAKE_EXTRA) \
++      -DLIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \
++      -DCLANG_LINK_CLANG_DYLIB=ON \
++      -DENABLE_LINKER_BUILD_ID=ON \
++      -DPOLLY_BUNDLED_JSONCPP=OFF \
++      -DCOMPILER_RT_USE_LIBCXX=NO \
++      $(Z3_FLAG) \
++      -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="AVR" \
++      -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
++      -DCLANG_VENDOR=$(VENDOR) \
++      -DCLANG_ENABLE_BOOTSTRAP=ON \
++      -DCLANG_BUILD_EXAMPLES=OFF \
++      -DBOOTSTRAP_CMAKE_CXX_FLAGS='$(BOOTSTRAP_CXXFLAGS_EXTRA)' \
++      -DBOOTSTRAP_CMAKE_C_FLAGS='$(BOOTSTRAP_CFLAGS_EXTRA)' \
++      -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_VERBOSE_MAKEFILE;CMAKE_BUILD_TYPE;CMAKE_CXX_FLAGS_RELWITHDEBINFO;LLVM_LINK_LLVM_DYLIB;LLVM_INSTALL_UTILS;LLVM_VERSION_SUFFIX;LLVM_ENABLE_SPHINX;SPHINX_WARNINGS_AS_ERRORS;LLVM_BUILD_LLVM_DYLIB;LLVM_ENABLE_RTTI;LLVM_ENABLE_FFI;LIBCLANG_LIBRARY_VERSION;ENABLE_LINKER_BUILD_ID;POLLY_BUNDLED_JSONCPP;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;LLVM_USE_PERF;LLVM_ENABLE_ASSERTIONS;LLVM_BINUTILS_INCDIR;LLVM_HOST_TRIPLE;LLVM_COMPILER_CHECKED;COMPILER_RT_BUILD_BUILTINS;LIBOMP_LIBFLAGS;CMAKE_SHARED_LINKER_FLAGS;PYTHON_EXECUTABLE;LLVM_ENABLE_Z3_SOLVER;CLANG_VENDOR"
++      FOUND_VERSION=`grep LLVM_VERSION_STRING build-llvm/include/llvm/Config/llvm-config.h|cut -d\" -f2`; \
++      if ! echo "$(LLVM_VERSION_FULL)"|grep "$$FOUND_VERSION"; then \
++              echo "mistmatch of version. Found: $$FOUND_VERSION / Expected: $(LLVM_VERSION_FULL)"; \
++      fi
++
++# make
++VERBOSE=VERBOSE=1
++# ninja
++#VERBOSE=-v
++
++debian-full-build:
++      $(PRE_PROCESS) make $(NJOBS) -C $(TARGET_BUILD) $(VERBOSE) CFLAGS="$(CFLAGS_EXTRA)" CXXFLAGS="$(CXXFLAGS_EXTRA)"  LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1 $(BUILD_METHOD)
++
++# Check the stage 2 build worked
++      if test "$(BUILD_METHOD)" = "stage2"; then \
++      if ! readelf --string-dump .comment  $(TARGET_BUILD_STAGE2)/bin/clang 2>&1|grep -q "clang version"; then \
++              echo "clang hasn't been built using clang. Bye bye. Check that the stage2 build has been done."; \
++              exit 2; \
++      fi; \
++      fi
++      if ldd $(TARGET_BUILD_STAGE2)/lib/libclang-$(LLVM_VERSION).so.1|grep -q libclang-cpp-$(LLVM_VERSION); then \
++              echo "libclang-$(LLVM_VERSION).so.1 depends on libclang-cpp. Should not be the case"; \
++              exit 2; \
++      fi
++      touch $@
++
++debian-libfuzzer-build:
++ifeq (${LIBFUZZER_ENABLE},yes)
++      cd $(TARGET_BUILD); \
++      CFLAGS=`dpkg-buildflags --get CFLAGS`; \
++      CFLAGS="$$CFLAGS `dpkg-buildflags --get CPPFLAGS`"; \
++      echo $$CFLAGS; \
++      $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/bin/clang++ -c $$CFLAGS -std=c++11 $(BASE_PATH)/compiler-rt/lib/fuzzer/*.cpp -IFuzzer; \
++      ar ruv libFuzzer.a Fuzzer*.o
++endif
++      touch $@
++
++
++LIBCXX_CMAKE_OPTIONS := \
++      -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \
++      -DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/llvm-config \
++      -DCMAKE_BUILD_TYPE=RelWithDebInfo \
++      -DCMAKE_CXX_COMPILER=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/clang++ \
++      -DCMAKE_C_COMPILER=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/clang \
++      -DCMAKE_CXX_FLAGS="$(LIBCXXFLAGS)" \
++      -DCMAKE_EXE_LINKER_FLAGS="" \
++      -DCMAKE_SHARED_LINKER_FLAGS="" \
++      -DCMAKE_MODULE_LINKER_FLAGS="" \
++      -DCMAKE_AR=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/llvm-ar \
++      -DCMAKE_RANLIB=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/llvm-ranlib \
++      -DLLVM_EXTERNAL_LIT=$(BASE_PATH)/llvm/utils/lit/lit.py \
++      -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
++      -DLIBCXX_USE_COMPILER_RT=YES \
++      -DLIBCXXABI_USE_COMPILER_RT=YES \
++      $(CMAKE_EXTRA) \
++      $(CMAKE_EXTRA_LIBCXX)
++
++debian-libcxx-build:
++# Builds libcxx
++
++      mkdir -p libcxx/build
++      mkdir -p libcxxabi/build
++
++      CMAKE_BIN=cmake; \
++      if test -f /tmp/cmake/bin/cmake; then \
++              CMAKE_BIN=/tmp/cmake/bin/cmake; \
++      fi; \
++      echo "Using cmake: $$CMAKE_BIN"; \
++      cd libcxxabi/build && \
++      $(PRE_PROCESS_CONF) $$CMAKE_BIN ../ \
++      $(LIBCXX_CMAKE_OPTIONS) \
++      -DLIBCXXABI_LIBCXX_PATH=$(BASE_PATH)/libcxx \
++      -DLIBCXXABI_LIBCXX_LIBRARY_PATH=$(BASE_PATH)/libcxx/build/lib \
++      -DLIBCXXABI_LIBCXX_INCLUDES=$(BASE_PATH)/libcxx/include \
++      -DLIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
++      -DLLVM_ENABLE_RTTI=ON && \
++      $(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)"
++      touch $@
++
++debian-libcxxabi-build:
++# Builds libcxxabi
++
++      mkdir -p libcxxabi/build
++
++      CMAKE_BIN=cmake; \
++      if test -f /tmp/cmake/bin/cmake; then \
++              CMAKE_BIN=/tmp/cmake/bin/cmake; \
++      fi; \
++      echo "Using cmake: $$CMAKE_BIN"; \
++      cd libcxx/build && \
++      $(PRE_PROCESS_CONF) $$CMAKE_BIN ../ \
++      $(LIBCXX_CMAKE_OPTIONS) \
++      -DLIBCXX_CXX_ABI=libcxxabi \
++      -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$(BASE_PATH)/libcxxabi/include \
++      -DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \
++      -DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
++      -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON && \
++      $(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)"
++      touch $@
++
++override_dh_auto_build: debian-full-build debian-libfuzzer-build debian-libcxx-build debian-libcxxabi-build
++
++override_dh_prep: build_doc
++      dh_prep
++
++build_doc:
++      cd $(CURDIR)/llvm/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man
++      cd $(CURDIR)/clang/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man
++      -(if test "$(OCAML_ENABLE)" = yes; then \
++      make $(NJOBS) -C "$(TARGET_BUILD_STAGE2)/docs" ocaml_doc; \
++      fi)
++
++      make $(NJOBS) -C $(TARGET_BUILD_STAGE2) docs-llvm-html docs-clang-html docs-clang-tools-html docs-clang-tools-man docs-clang-man docs-llvm-man
++
++ifeq (${POLLY_ENABLE},yes)
++      make $(NJOBS) -C $(TARGET_BUILD_STAGE2) docs-polly-html docs-polly-man
++endif
++
++# Rename manpages
++      d=$(CURDIR)/docs/_build/man/; \
++      if test -d $$d; then \
++              cd $$d; \
++              for f in *.1; do \
++                      echo "$$f"|grep $(LLVM_VERSION) || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \
++              done; \
++      else \
++              echo "could not find $$d"; \
++      fi
++# the clang doc generation only generates clang manpage
++# When it will do more, we should move that in the loop above
++      cd $(CURDIR)/clang/docs/_build/man/; mv clang.1 clang-$(LLVM_VERSION).1
++
++# Remove the copy of jquery. See bug #701087
++      for d in $(TARGET_BUILD_STAGE2)/docs/html/_static/ $(TARGET_BUILD_STAGE2)/tools/clang/docs/html/_static/ $(TARGET_BUILD_STAGE2)/tools/clang/tools/extra/docs/html/_static/; do \
++              cd $$d && rm -f jquery.js && ln -s /usr/share/javascript/jquery/jquery.js && cd -; \
++              cd $$d && rm -f underscore.js && ln -s /usr/share/javascript/underscore/underscore.js && cd -; \
++      done
++
++      mkdir -p debian/man/
++      ls -al clang/tools/scan-view/bin/scan-view
++      clang/tools/scan-view/bin/scan-view --help || true
++      help2man --no-info --version-string=$(LLVM_VERSION) clang/tools/scan-view/bin/scan-view > debian/man/scan-view-$(LLVM_VERSION).1 || true
++      help2man --no-info --version-string=$(LLVM_VERSION) clang/tools/clang-format/clang-format-diff.py > debian/man/clang-format-diff-$(LLVM_VERSION).1 || true
++
++      CMDS="llvm-dwarfdump llvm-mc llvm-mcmarkup llvm-objdump llvm-rtdyld llvm-size llvm-ranlib lldb lldb-mi clang-format clang clang++ clang-tblgen clang-check clang-cpp clang-import-test clang-tidy clang-apply-replacements clang-rename clang-query pp-trace sancov lli modularize clang-include-fixer find-all-symbols clang-reorder-fields ld.lld llvm-tblgen clang-change-namespace clang-offload-bundler clangd"; \
++      for f in $$CMDS; do \
++              echo "Generating manpage of $$f"; \
++              LD_LIBRARY_PATH=$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/:/usr/lib/*/libfakeroot help2man --no-info --version-string=$(LLVM_VERSION) $(TARGET_BUILD_STAGE2)/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1 || true; \
++      done
++      if test "$(OPENMP_ENABLE)" = yes; then \
++              cd openmp/runtime && doxygen doc/doxygen/config; cd -; \
++              cd openmp/runtime/doc/doxygen/generated/html/ && rm jquery.js && ln -s /usr/share/javascript/jquery/jquery.js; \
++      fi
++
++override_dh_auto_install:
++      # Clean up temporary files to make sure the install works
++      rm -rf $(find $(TARGET_BUILD) -wholename '*CMakeFiles*' -not -name CMakeLists.txt -a -name "*.dir" -type d)
++      # install/fast enables a make install without recompiling temporary files
++      if test "$(BUILD_METHOD)" = "stage2"; then \
++              $(MAKE) -C $(TARGET_BUILD) $(VERBOSE) stage2-install DESTDIR=$(DEB_INST)/; \
++      else \
++              $(MAKE) -C $(TARGET_BUILD) $(VERBOSE) install DESTDIR=$(DEB_INST)/; \
++      fi
++      # Not used on Linux.
++      rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/argdumper
++      rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang/clang-format-bbedit.applescript
++      # Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
++      rm -f $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/libexec/*.bat $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/bin/*.bat
++
++      rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libExampleIRTransforms.a
++      # Remove an example - introduced in https://reviews.llvm.org/D61446
++      rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libBye.a
++
++      cp $(TARGET_BUILD_STAGE2)/bin/clang-query $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin
++
++      # Only run on executable, not script
++      chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary'|cut -d: -f1`
++      chrpath -d libcxxabi/build/lib/libc++abi.so.1.0
++      chrpath -d libcxx/build/lib/libc++.so.1.0
++
++      : # libclang
++      cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && rm -f libclang.so.$(SONAME_EXT) libclang-$(LLVM_VERSION).so; \
++      ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT)
++
++      : # libomp
++      cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && rm -f libomp.so; \
++      ln -s libomp.so.$(SONAME_OPENMP) libomp.so
++
++      if test "$(OPENMP_ENABLE)" = yes; then \
++              mkdir -p debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/openmp; \
++              cp -f openmp/runtime/exports/common*/include/* debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/openmp; \
++              cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && cp libomp.so.$(SONAME_OPENMP) libomp-$(LLVM_VERSION).so.$(SONAME_OPENMP); \
++      fi
++
++# Remove artifact (where compiler-rt is built)
++#     if test -d $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux; then \
++#     cd $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux && rm -rf $$(find . -mindepth 2 -maxdepth 2 -type d) && rm -rf $$(find -empty) && rm -rf */.dir; \
++#     fi
++
++      mkdir -p $(CURDIR)/debian/clang-$(LLVM_VERSION)/usr/bin/
++      cp compiler-rt/lib/asan/scripts/asan_symbolize.py $(CURDIR)/debian/clang-$(LLVM_VERSION)/usr/bin/asan_symbolize-$(LLVM_VERSION)
++
++ifeq (${LIBFUZZER_ENABLE},yes)
++      mkdir -p $(CURDIR)/debian/libfuzzer-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/
++      cp -v $(TARGET_BUILD)/libFuzzer.a $(CURDIR)/debian/libfuzzer-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/
++endif
++
++# Create this fake directory to make the install libclang-common-dev happy
++# under the unsupported archs of compiler-rt
++      mkdir -p $(DEB_INST)/usr/lib/clang/$(LLVM_VERSION)/lib
++      mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/lib/
++      mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/clang_linux/
++      mkdir -p $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux/
++      mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/share/
++# On some archs, the sanatizers are not built. As we explicitly includes some txt files, create
++# a fake txt to make sure it doesn't fail
++      echo "The *.txt files, if available, contain helper to override some of the errors messages." > $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/README.txt
++      echo "Please visit https://github.com/google/sanitizers/wiki/AddressSanitizer for help" >> $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/README.txt
++# Path changed. Make a copy of it
++      cp $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/README.txt $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/share/README.txt
++
++# Remove things that CMake  install but which aren't packaged yet,
++# or are packaged from the source or build tree.
++      mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang-$(LLVM_VERSION) \
++         $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang
++
++# Probably useless
++      rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/six.py
++      rm -rf $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/__pycache__/ \
++      $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/*/__pycache__/
++
++
++      $(MAKE) -C libcxxabi/build install DESTDIR=$(DEB_INST)
++      $(MAKE) -C libcxx/build install DESTDIR=$(DEB_INST)
++
++# Rename binaries
++      mkdir -p $(DEB_INST)/usr/bin/
++      cd $(DEB_INST)/usr/bin/; \
++      rm -f *; \
++      for f in ../lib/llvm-$(LLVM_VERSION)/bin/*; do \
++              ln -s $$f `basename $$f`-$(LLVM_VERSION); \
++              echo "Link $$f to `basename $$f`-$(LLVM_VERSION)"; \
++      done
++
++# Rename some stuff with the version name
++      cp $(CURDIR)/clang/tools/scan-build/man/scan-build.1 $(CURDIR)/clang/tools/scan-build/man/scan-build-$(LLVM_VERSION).1
++
++      # copy the vim files (except that tablegen does not exist for indent
++      VIM_DIRS="ftdetect ftplugin syntax indent"; \
++      for dir in $$VIM_DIRS; do \
++              cp -f $(CURDIR)/llvm/utils/vim/$$dir/llvm.vim $(CURDIR)/llvm/utils/vim/$$dir/llvm-$(LLVM_VERSION).vim; \
++              if test -f $(CURDIR)/llvm/utils/vim/$$dir/tablegen.vim; then \
++                      cp -f $(CURDIR)/llvm/utils/vim/$$dir/tablegen.vim $(CURDIR)/llvm/utils/vim/$$dir/tablegen-$(LLVM_VERSION).vim; \
++              fi; \
++      done
++      cp -f $(CURDIR)/llvm/utils/vim/vimrc $(CURDIR)/llvm/utils/vim/llvm-$(LLVM_VERSION)-vimrc
++
++      cp -f $(CURDIR)/clang/tools/clang-format/clang-format-diff.py $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION)
++
++      cp -f $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py
++
++      rm -rf clang/tools/scan-build-$(LLVM_VERSION)
++      cp -fR $(CURDIR)/clang/tools/scan-build clang/tools/scan-build-$(LLVM_VERSION)
++
++      rm -rf clang/tools/scan-build-py-$(LLVM_VERSION)
++      cp -fR $(CURDIR)/clang/tools/scan-build-py clang/tools/scan-build-py-$(LLVM_VERSION)
++      chmod +x clang/tools/scan-build-py-$(LLVM_VERSION)/bin/*
++
++      rm -rf clang/tools/scan-view-$(LLVM_VERSION)
++      cp -fR $(CURDIR)/clang/tools/scan-view clang/tools/scan-view-$(LLVM_VERSION)
++
++# Remove some license files
++      rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT
++
++# Disable CMake's package validation checks for target files that we may remove.
++      sed -i '/_IMPORT_CHECK_TARGETS \(Polly\|sancov\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake
++
++# Disable CMake's package validation checks for binaries that may not be installed
++      sed -i 's|.*_IMPORT_CHECK_FILES_FOR_.*/bin/.*)|#&|' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake
++
++# Managed in python*-lldb-X.Y.links.in
++      rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/_lldb.so
++
++# Manage the polly files. Sometimes, we build them. Sometimes not.
++      if test "$(POLLY_ENABLE)" = yes; then \
++              mkdir -p $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/ $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly/; \
++              mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libpolly* \
++              $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/; \
++              rm -rf $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly; \
++              mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/polly/ \
++              $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/; \
++      fi
++
++      mkdir -p $(CURDIR)/debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/ $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/
++      cp -R $(TARGET_BUILD_STAGE2)/docs/html $(CURDIR)/debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/
++      cp -R $(TARGET_BUILD_STAGE2)/tools/clang/docs/html $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/
++      cp -R $(TARGET_BUILD_STAGE2)/tools/clang/tools/extra/docs/html $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/clang-extra
++
++# Rename OCaml bindings
++      if test "$(OCAML_ENABLE)" = yes; then \
++              mkdir -p "$(DEB_INST)$(OCAML_STDLIB_DIR)"; \
++              mkdir -p "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/docs/ocaml/html/html"; \
++              mkdir -p "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/share/doc/llvm/ocaml-html/"; \
++              if test -d "$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ocaml"; then \
++                      mv -f "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/lib/ocaml" \
++                      "$(DEB_INST)$(OCAML_STDLIB_DIR)/llvm-$(LLVM_VERSION)"; \
++              fi; \
++      fi
++
++# Delete the target build directory to save some space on the build systems
++# All the files have been installed in $(CURDIR)/debian/tmp/ already
++      rm -rf $(TARGET_BUILD)
++
++
++override_dh_makeshlibs:
++      dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION) -V"libclang$(SONAME_EXT)-$(LLVM_VERSION) (>= 1:9~svn298832-1~)" -- -c4
++      dh_makeshlibs -pliblldb-$(LLVM_VERSION) -V"liblldb-$(LLVM_VERSION) (>= 1:9~svn298832-1~)"
++      dh_makeshlibs -plibllvm$(LLVM_VERSION) -V"libllvm$(LLVM_VERSION) (>= 1:9~svn298832-1~)"
++      dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION) -V"libomp$(SONAME_OPENMP)-$(LLVM_VERSION) (>= 1:9~svn298832-1~)"
++      dh_makeshlibs --remaining-packages
++
++override_dh_shlibdeps:
++# Ignore asan libraries. They would trigger dependencies to multiarch libraries
++      dh_shlibdeps -l$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ -Xlibclang_rt.asan -Xlibclang_rt.asan -Xlibclang_rt.asan-*.so -Xlibclang_rt.asan-*.so
++
++override_dh_installman:
++      if test -f lld/docs/ld.lld.1; then \
++      mv lld/docs/ld.lld.1 lld/docs/ld.lld-$(LLVM_VERSION).1; \
++      fi
++      dh_installman
++# Make sure that lli manpage is only in llvm-3.2-runtime (See #697117)
++      rm -f $(CURDIR)/debian/llvm-$(LLVM_VERSION)/usr/share/man/man1/lli*
++
++
++override_dh_strip:
++      : # running out of diskspace on the buildds
++      find $(TARGET_BUILD) -name '*.o' -o -name '*.a' -type f | xargs -r rm -f
++ifeq (0, $(strip $(shell dpkg --compare-versions $(DH_VERSION) ge 9.20160114; echo $$?)))
++      : # If we don't have the right version of debhelper, don't run the option
++      dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION) --dbgsym-migration='libclang$(SONAME_EXT)-$(LLVM_VERSION)-dbg (<< 1:9~svn327768-1~)'
++      dh_strip -p libllvm$(LLVM_VERSION) --dbgsym-migration='libllvm$(LLVM_VERSION)-dbg (<< 1:9~svn327768-1~)'
++      dh_strip -p liblldb-$(LLVM_VERSION) --dbgsym-migration='liblldb-$(LLVM_VERSION)-dbg (<< 1:9~svn327768-1~)'
++      dh_strip -p libomp$(SONAME_OPENMP)-$(LLVM_VERSION) --dbgsym-migration='libomp$(SONAME_OPENMP)-$(LLVM_VERSION)-dbg (<< 1:9~svn327768-1~)'
++endif
++# ifeq (${LLD_ENABLE},yes)
++#     PATH=$(CURDIR)/:$$PATH dh_strip -p liblld-$(LLVM_VERSION) --dbg-package=liblld-$(LLVM_VERSION)-dbg
++# endif
++ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) lt 2.31.1-11 ; echo $$?),0)
++      : # building with clang, binutils/strip has hard time stripping some libs because of
++      : # https://sourceware.org/bugzilla/show_bug.cgi?id=23788
++      : # use llvm-strip instead
++      : # Workaround some issues with stripping by using llvm's
++      if test ! -f $(CURDIR)/strip; then \
++              ln -s $(CURDIR)/debian/llvm-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/bin/llvm-strip $(CURDIR)/strip; \
++      fi
++      ls -al $(CURDIR)/debian/.debhelper/*/dbgsym-root/usr/lib/debug/.build-id/*/*|| true
++      : # On some old version of Debian (stretch) and Ubuntu, Rules-Requires-Root isn't supported
++      : # Sometime, it fails because of chown: changing ownership of 'debian/.debhelper/clang-7/dbgsym-root/usr/lib/debug/.build-id/37/ba506ae9d2f82219bf5c552f7c09853052b2b0.debug': Operation not permitted
++      : # Therefore, continue when we encounter an error
++      PATH=$(CURDIR)/:$$PATH LD_LIBRARY_PATH=$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/:/usr/lib/*/libfakeroot dh_strip -a -v || true
++      : # Remove the workaround
++      rm $(CURDIR)/strip
++      : # for some reasons, the +x might be removed
++      chmod -f +x $(CURDIR)/debian/*/usr/lib/llvm-$(LLVM_VERSION)/bin/* || true
++else
++      dh_strip -a -v
++endif
++
++override_dh_install:
++#     cp $(TARGET_BUILD)/lib/libLLVM-$(LLVM_VERSION).so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT)
++ifeq (${POLLY_ENABLE},yes)
++# only for arch:any builds
++ifneq (,$(filter libclang-common-$(LLVM_VERSION)-dev, $(shell dh_listpackages)))
++      dh_install -p libclang-common-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly
++# On old Debian & Ubuntu, removing the files is necessary
++      rm -rf debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake
++else
++      rm -rf $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake
++endif
++endif
++      dh_install --fail-missing
++
++override_dh_installdeb:
++# Managed by the package
++      dh_installdeb -a
++
++      rm -f $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc $(CURDIR)/debian/python*-lldb-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc
++      rm -f $(CURDIR)/debian/clang-$(LLVM_VERSION)-examples/usr/share/doc/clang-$(LLVM_VERSION)-examples/examples/*Make*
++
++# Remove auto generated python pyc
++      find $(CURDIR)/debian/llvm-$(LLVM_VERSION)-tools/usr/lib/llvm-$(LLVM_VERSION)/ -name '*.pyc' | xargs -r rm -f
++
++ifeq (${RUN_TEST},yes)
++# List of the archs we know we have 100 % tests working
++ARCH_LLVM_TEST_OK := i386 amd64
++
++override_dh_auto_test:
++
++# LLVM tests
++ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK)))
++# logs the output to check-llvm_build_log.txt for validation through autopkgtest
++      $(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-llvm | tee check-llvm_build_log.txt
++else
++      $(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-llvm || true
++endif
++
++# Clang tests
++      $(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-clang || true
++
++# Clang extra tests (ex: clang-tidy)
++      $(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-clang-tools || true
++
++# LLD tests
++ifeq (${LLD_ENABLE},yes)
++      $(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-lld || true
++endif
++
++# Sanitizer
++      $(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-sanitizer || true
++
++# Libcxx
++      $(MAKE) $(NJOBS) -C libcxx/build check-libcxx || true
++
++# Libcxxabi
++      $(MAKE) $(MAKE) -C libcxxabi/build check-libcxxabi || true
++
++# LLDB tests
++ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel))
++ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
++# Create a symlink to run the testsuite: see https://bugs.archlinux.org/task/50759
++      cd $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/; \
++              if test ! -e _lldb.so; then \
++                      ln -s lldb/_lldb.so; \
++              fi
++      if test "$(CODECOVERAGE)" = "no"; then \
++      LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/$(TARGET_BUILD)/lib/ $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-lldb || true; \
++      fi
++      # remove the workaround
++      rm $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/_lldb.so
++endif
++endif
++
++# Polly tests
++#ifeq (${POLLY_ENABLE},yes)
++#     $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-polly || true
++#endif
++
++# Managed by debian build system
++      rm -f $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/lldb/_lldb.so
++
++# The compression of the code coverage report is done in the
++# hook B21GetCoverageResults on the server
++      if test "$(CODECOVERAGE)" = "yes"; then \
++              REPORT=reports/llvm-toolchain.info; \
++              mkdir -p reports/; \
++              lcov --directory $(TARGET_BUILD)/ --capture --ignore-errors source --output-file $$REPORT; \
++              lcov --remove $$REPORT "/usr*" -o $$REPORT; \
++              genhtml -o reports/coverage --show-details --highlight --legend $$REPORT; \
++              chmod 0755 `find reports/coverage -type d`; \
++              chmod 0644 `find reports/coverage -type f`; \
++      fi
++else
++override_dh_auto_test:
++      @echo "Skipping tests"
++endif
++
++
++override_dh_gencontrol:
++      dh_gencontrol -- $(control_vars)
++
++
++override_dh_auto_clean:
++      rm -rf $(TARGET_BUILD) tools/clang/include/clang/Debian/debian_path.h docs/_build/ clang/docs/_build tools/clang/docs/_html/
++# QA tools
++      rm -rf cov-int/ reports/
++      rm -f `ls debian/*.in|sed -e "s|.in$$||g"`
++      find utils -name '*.pyc' | xargs -r rm -f
++      # Use -I because a test has a space in its name
++      find lldb/test -iname '*.pyc' | xargs -I{} -r rm -f {}
++      find test -name '*.pyc' -o -name '*.cm[ix]' | xargs -r rm -f
++      find test/Bindings -name '*.o' | xargs -r rm -f
++      rm -f tools/clang tools/polly tools/lld tools/lldb projects/compiler-rt
++      rm -rf tools/clang/tools/extra clang/tools/extra/
++      rm -f $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim
++      rm -f $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION)
++      rm -f $(CURDIR)/clang/tools/clang-format/clang-format-$(LLVM_VERSION).py
++      rm -rf libcxx/build libcxxabi/build
++      if test -f lld/docs/ld.lld-$(LLVM_VERSION).1; then \
++              mv lld/docs/ld.lld-$(LLVM_VERSION).1 lld/docs/ld.lld.1; \
++      fi
++
++.PHONY: override_dh_strip preconfigure debian-full-build debian-libfuzzer-build debian-libcxx-build debian-libcxxabi-build
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a356a3fe4feecbc370adaf9d0d4d48578e2eeae2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++# Removed by patch remove-dbtree.diff
++source: source-is-missing clang/www/analyzer/scripts/dbtree.js
++# No longer used (we are using cmake now)
++source: outdated-autotools-helper-file autoconf/config.guess 2011-08-20
++source: outdated-autotools-helper-file autoconf/config.sub 2011-11-02
++# Reported here https://bugs.llvm.org/show_bug.cgi?id=32962
++# No activity, silent it to avoid false positive in automation
++source: license-problem-convert-utf-code llvm/lib/Support/ConvertUTF.cpp
++# A unit test. No big deal
++source: source-is-missing lldb/unittests/ObjectFile/ELF/Inputs/early-section-headers.so
++# Generated See https://github.com/llvm-mirror/lldb/commit/7aee683f410ffc27b61a8e9779b9df9a7c0fff7d#diff-dcfea8d8a36846a00781105f8618e06d
++source: source-is-missing lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf
++
++# Makes sense for the testsuites
++source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/DWARF/Inputs/test-dwarf.exe
++source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/PDB/Inputs/test-pdb-types.exe
++source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/PDB/Inputs/test-pdb.exe
++source: source-is-missing lldb/lit/Modules/ELF/Inputs/netbsd-amd64.core
++source: source-is-missing llgo/third_party/gofrontend/libgo/go/debug/dwarf/testdata/*.elf*
++source: source-is-missing llgo/third_party/gofrontend/libgo/go/debug/elf/testdata/gcc-*-exec
++source: source-is-missing llgo/third_party/gofrontend/libgo/go/debug/elf/testdata/*.obj
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..97f8bb2c98172d09106c2ae4dfe45aeeb34df72a
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++#!/bin/sh
++
++set -e
++
++# this is taken from libjsoncpp package
++# Presence of $ADTTMP implies that someone will handle cleanup for us, so we
++# can avoid duplicating the effort (signal handling, etc.) here.
++if [ -z "$ADTTMP" ]
++then
++      echo "Required envvar ADTTMP \"$ADTTMP\" is not set" >&2
++      exit 1
++fi
++
++
++# the idea was taken from spirv-llvm-translator package
++
++cd "$ADTTMP"
++cat <<EOF > CMakeLists.txt
++cmake_minimum_required(VERSION 2.6.2)
++project(cmake-test)
++find_package(LLVM 10.0.0 REQUIRED
++  COMPONENTS
++    Analysis
++    BitReader
++    BitWriter
++    Core
++    Support
++    TransformUtils
++    llvm-as
++    llvm-dis
++)
++
++EOF
++
++
++mkdir build && cd build
++cmake ..
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fd7e80d7edab19c6bf02e04233dad8ee2e91fa08
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++Test-Command: bash -v ./debian/qualify-clang.sh
++Depends: @, cmake, g++, file, dpkg-dev, binfmt-support
++# Comment the dbgsym package because of bug #917528
++# dbgsym packages not being available in testing
++# clang-10-dbgsym, libclang1-10-dbgsym
++Restrictions: allow-stderr
++
++Tests: integration-test-suite-test
++Depends: @, cmake, libstdc++-9-dev, g++
++Restrictions: allow-stderr
++
++Tests: cmake-test
++Depends: gcc, build-essential, cmake, llvm-10-dev, libclang-common-10-dev
++
++Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)"
++Depends: python3-lldb-10
++
++Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)"
++Depends: python3-clang-10
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..328c0edc6db508148b0413e3c8e4b48f39ed5e53
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++#!/bin/sh
++
++set -e
++
++LLVM_VERSION=10
++
++# this is taken from libjsoncpp package
++# Presence of $ADTTMP implies that someone will handle cleanup for us, so we
++# can avoid duplicating the effort (signal handling, etc.) here.
++if [ -z "$ADTTMP" ]
++then
++      echo "Required envvar ADTTMP \"$ADTTMP\" is not set" >&2
++      exit 1
++fi
++
++# Copy the integration repo to the temp dir
++cp -Rv integration-test-suite/* "$ADTTMP"/
++cd "$ADTTMP"
++
++mkdir build
++cd build
++cmake -DLIT=/usr/lib/llvm-$LLVM_VERSION/build/utils/lit/lit.py \
++        -DCLANG_BINARY=/usr/bin/clang-$LLVM_VERSION \
++        -DCLANGXX_BINARY=/usr/bin/clang++-$LLVM_VERSION \
++        -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \
++        -DCLANG_FORMAT_BINARY=/usr/bin/clang-format-$LLVM_VERSION \
++        -DLLD_BINARY=/usr/bin/lld-$LLVM_VERSION \
++        -DLLDB_BINARY=/usr/bin/lldb-$LLVM_VERSION \
++        -DLLVMCONFIG_BINARY=/usr/bin/llvm-config-$LLVM_VERSION \
++        -DOPT_BINARY=/usr/bin/opt-$LLVM_VERSION \
++        -DSCANBUILD=/usr/bin/scan-build-$LLVM_VERSION \
++        -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \
++        -DSCANVIEW=/usr/bin/scan-view-$LLVM_VERSION \
++        -DLLVMNM=/usr/bin/llvm-nm-$LLVM_VERSION \
++        -DLLVMPROFDATA=/usr/bin/llvm-profdata-$LLVM_VERSION \
++        -DENABLE_COMPILER_RT=OFF \
++        -DENABLE_LIBCXX=ON \
++        -DLLVM_CMAKE_PREFIX_PATH=/usr/lib/llvm-$LLVM_VERSION/lib/cmake/ ../
++make check
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4604a6dc933a17975bd847a0afb201772bcbc3f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++set -e
++ORIG_VERSION=10
++MAJOR_VERSION=10.0.1
++REV=`ls -1 *$ORIG_VERSION_$MAJOR_VERSION*~+*xz | tail -1|perl -ne 'print "$1\n" if /~\+(.*)\.orig/;'  | sort -ru`
++
++VERSION=$REV
++
++if test -z "$VERSION"; then
++      echo "Could not find the version"
++      exit 0
++fi
++LLVM_ARCHIVE=llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION.orig.tar.xz
++echo "unpack of $LLVM_ARCHIVE"
++tar Jxf $LLVM_ARCHIVE
++cd llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION/
++
++VER_FOUND=$(grep "PACKAGE_VERSION " libcxx/CMakeLists.txt|awk '{print $2}'|cut -d\) -f1)
++if test "${MAJOR_VERSION}.0.0" != "$VER_FOUND" -a "${MAJOR_VERSION}" != "$VER_FOUND"; then
++    echo "Mismatch of version"
++    echo "Expected $MAJOR_VERSION / Found $VER_FOUND"
++    echo "Update unpack.sh"
++    exit 1
++fi
++
++cp -R ../$ORIG_VERSION/debian .
++QUILT_PATCHES=debian/patches/ quilt push -a --fuzz=0
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a6d1751fcbc8be3c8f3535e16f3137c711b343ea
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++version=3
++https://llvm.org/releases/download.html .*/llvm-([\d\.\-]+).src.tar.xz
++