From 7b194fe7dfbfec0d196175e11a7db0a6df4a0b83 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 18 Jun 2017 18:12:15 +0100 Subject: [PATCH] Import llvm-toolchain-3.9_3.9.1-10.debian.tar.xz [dgit import tarball llvm-toolchain-3.9 1:3.9.1-10 llvm-toolchain-3.9_3.9.1-10.debian.tar.xz] --- NEWS | 5 + README.source | 5 + TODO | 6 + changelog | 1605 +++++++++++++++++ clang-X.Y-doc.docs.in | 2 + clang-X.Y-examples.examples.in | 1 + clang-X.Y.install.in | 42 + clang-X.Y.links.in | 4 + clang-X.Y.lintian-overrides.in | 9 + clang-X.Y.manpages.in | 11 + clang-format-X.Y.install.in | 10 + clang-format-X.Y.lintian-overrides.in | 4 + clang-format-X.Y.manpages.in | 3 + clang-tidy-X.Y.install.in | 5 + clang-tidy-X.Y.links.in | 3 + clang-tidy-X.Y.lintian-overrides.in | 3 + clang-tidy-X.Y.manpages.in | 1 + compat | 1 + control | 525 ++++++ copyright | 428 +++++ debian_path.h | 16 + libclang-X.Y-dev.install.in | 10 + libclang-X.Y-dev.links.in | 3 + libclang-common-X.Y-dev.install.in | 14 + libclang-common-X.Y-dev.links.in | 7 + libclang1-X.Y.install.in | 2 + libclang1-X.Y.links.in | 3 + libclang1-X.Y.lintian-overrides.in | 5 + libclang1-X.Y.symbols.in | 341 ++++ liblld-X.Y-dev.install.in | 3 + liblld-X.Y.install.in | 1 + liblld-X.Y.links.in | 3 + liblldb-X.Y-dev.install.in | 3 + liblldb-X.Y-dev.links.in | 2 + liblldb-X.Y.install.in | 2 + liblldb-X.Y.links.in | 4 + liblldb-X.Y.lintian-overrides.in | 5 + libllvm-X.Y-ocaml-dev.META.in | 63 + libllvm-X.Y-ocaml-dev.dirs.in | 2 + libllvm-X.Y-ocaml-dev.install.in | 2 + libllvm-X.Y-ocaml-dev.lintian-overrides.in | 2 + libllvmX.Y.install.in | 1 + libllvmX.Y.links.in | 4 + libllvmX.Y.lintian-overrides.in | 2 + lld-X.Y.install.in | 6 + lldb-X.Y.install.in | 9 + lldb-X.Y.lintian-overrides.in | 3 + lldb-X.Y.manpages.in | 2 + lldb-X.Y.postinst.in | 8 + llvm-X.Y-dev.dirs.in | 5 + llvm-X.Y-dev.install.in | 31 + llvm-X.Y-dev.links.in | 19 + llvm-X.Y-doc.dirs.in | 1 + llvm-X.Y-doc.install.in | 6 + llvm-X.Y-examples.dirs.in | 1 + llvm-X.Y-examples.examples.in | 1 + llvm-X.Y-examples.links.in | 3 + llvm-X.Y-runtime.binfmt.in | 3 + llvm-X.Y-runtime.install.in | 8 + llvm-X.Y-runtime.lintian-overrides.in | 1 + llvm-X.Y-runtime.manpages.in | 1 + llvm-X.Y-runtime.postinst.in | 11 + llvm-X.Y-runtime.prerm.in | 18 + llvm-X.Y-tools.dirs.in | 2 + llvm-X.Y-tools.install.in | 9 + llvm-X.Y.dirs.in | 3 + llvm-X.Y.install.in | 16 + llvm-X.Y.lintian-overrides.in | 12 + llvm-X.Y.manpages.in | 8 + llvm-priv-dev.dirs | 1 + orig-tar.sh | 193 ++ ...03-Debian-version-info-and-bugreport.patch | 15 + patches/0021-shared-lib-debian.patch | 26 + patches/0023-link-libopagent.patch | 33 + patches/0044-soname.diff | 25 + patches/19-clang_debian_version.patch | 21 + .../23-strlcpy_strlcat_warning_removed.diff | 198 ++ patches/26-set-correct-float-abi.diff | 33 + patches/27-fix_clang_stdint.diff | 29 + patches/31-powerpcspe.diff | 15 + patches/34-powerpc-no-altivec.diff | 24 + .../857623-allow-opencl-pointer-to-bool.diff | 20 + ...Sema-part-of-attrbute-abi_tag-support.diff | 322 ++++ ...gler-part-of-attrbute-abi_tag-support.diff | 1234 +++++++++++++ patches/add_symbols_versioning.patch | 41 + patches/amdgpu-regression.diff | 104 ++ patches/atomic_library_1.diff | 45 + patches/atomic_library_2.diff | 42 + patches/clang-analyzer-force-version.diff | 25 + patches/clang-apply-replacements.diff | 35 + .../clang-arm-default-vfp3-on-armv7a.patch | 13 + ...default-to-i686-on-32bit-x86-targets.patch | 15 + ...clang-fix-cmpxchg8-detection-on-i386.patch | 67 + patches/clang-format-version.diff | 39 + patches/clang-tidy-run-bin.diff | 17 + patches/compiler-rt-i586.diff | 34 + patches/compiler-rt-path.diff | 13 + patches/declare_clear_cache.diff | 13 + ...isable-display-PASS-UNSUPPORTED-XFAIL.diff | 17 + patches/disable-execinfo-usage.diff | 13 + patches/disable-llvm-symbolizer-test.diff | 13 + patches/disable-test-failing-sparc-i386.diff | 10 + patches/do-not-fail-on-unexpected-pass.diff | 13 + patches/drop-wrong-hack-arm64.patch | 25 + ...x-ESan-test-failure-on-Debian-Sid-bot.diff | 103 ++ ...-ESan-test-failure-on-Debian-Sid-bot2.diff | 31 + ...ix-R_AARCH64_MOVW_UABS_G3-relocation.patch | 16 + patches/fix-clang-path-and-build.diff | 13 + patches/fix-cmake-config-prefix.diff | 24 + patches/fix-llvm-config-obj-src-root.patch | 19 + patches/fix-scan-view-path.diff | 21 + patches/follow-parallel-var.diff | 16 + patches/force-gcc-header-obj.diff | 16 + patches/force-link-pass.o.diff | 28 + patches/hurd-EIEIO-undef.diff | 14 + patches/hurd-pathmax.diff | 98 + patches/install-scan-build-py.diff | 12 + patches/kfreebsd-support.diff | 84 + patches/lit-force-lang.diff | 13 + ...ddversion-suffix-to-llvm-server-exec.patch | 13 + patches/lldb-libname.diff | 11 + patches/lldb-link-atomic-cmake.patch | 21 + patches/lldb-link-atomic.diff | 15 + patches/lldb-server-link.diff | 36 + patches/lldb-soname.diff | 37 + patches/llvm26003-sanitizer-check-env.diff | 11 + patches/mips-fpxx-enable.diff | 16 + patches/python-clangpath.diff | 13 + patches/removeduplicatedeclaration.diff | 38 + ...Fix-computeKnownBits-for-ARMISD-CMOV.patch | 70 + patches/scan-build-clang-path.diff | 13 + patches/scan-build-py-default.diff | 518 ++++++ patches/scan-view-fix-path.diff | 11 + patches/series | 53 + patches/silent-MCJIIT-tests.diff | 226 +++ patches/silent-more-tests.diff | 51 + patches/strip-svn.diff | 0 patches/ubuntu-precise-compiler-rt.diff | 23 + patches/unwind-chain-inclusion.diff | 39 + ...ream-asan-msan-fix-reallocation-logic.diff | 54 + patches/upstream-fix-asan-initialization.diff | 102 ++ ...m-msan-prevent-initialization-failure.diff | 124 ++ patches/use-deb-json.diff | 57 + pollycc.in | 3 + prepare-new-release.sh | 17 + python-clang-X.Y.install.in | 1 + python-lldb-X.Y.install.in | 1 + python-lldb-X.Y.links.in | 6 + rules | 552 ++++++ source.lintian-overrides | 6 + source/format | 1 + watch | 4 + 152 files changed, 8794 insertions(+) create mode 100644 NEWS create mode 100644 README.source create mode 100644 TODO create mode 100644 changelog create mode 100644 clang-X.Y-doc.docs.in create mode 100644 clang-X.Y-examples.examples.in create mode 100644 clang-X.Y.install.in create mode 100644 clang-X.Y.links.in create mode 100644 clang-X.Y.lintian-overrides.in create mode 100644 clang-X.Y.manpages.in create mode 100644 clang-format-X.Y.install.in create mode 100644 clang-format-X.Y.lintian-overrides.in create mode 100644 clang-format-X.Y.manpages.in create mode 100644 clang-tidy-X.Y.install.in create mode 100644 clang-tidy-X.Y.links.in create mode 100644 clang-tidy-X.Y.lintian-overrides.in create mode 100644 clang-tidy-X.Y.manpages.in create mode 100644 compat create mode 100644 control create mode 100644 copyright create mode 100644 debian_path.h create mode 100644 libclang-X.Y-dev.install.in create mode 100644 libclang-X.Y-dev.links.in create mode 100644 libclang-common-X.Y-dev.install.in create mode 100644 libclang-common-X.Y-dev.links.in create mode 100644 libclang1-X.Y.install.in create mode 100644 libclang1-X.Y.links.in create mode 100644 libclang1-X.Y.lintian-overrides.in create mode 100644 libclang1-X.Y.symbols.in create mode 100644 liblld-X.Y-dev.install.in create mode 100644 liblld-X.Y.install.in create mode 100644 liblld-X.Y.links.in create mode 100644 liblldb-X.Y-dev.install.in create mode 100644 liblldb-X.Y-dev.links.in create mode 100644 liblldb-X.Y.install.in create mode 100644 liblldb-X.Y.links.in create mode 100644 liblldb-X.Y.lintian-overrides.in create mode 100644 libllvm-X.Y-ocaml-dev.META.in create mode 100644 libllvm-X.Y-ocaml-dev.dirs.in create mode 100644 libllvm-X.Y-ocaml-dev.install.in create mode 100644 libllvm-X.Y-ocaml-dev.lintian-overrides.in create mode 100644 libllvmX.Y.install.in create mode 100644 libllvmX.Y.links.in create mode 100644 libllvmX.Y.lintian-overrides.in create mode 100644 lld-X.Y.install.in create mode 100644 lldb-X.Y.install.in create mode 100644 lldb-X.Y.lintian-overrides.in create mode 100644 lldb-X.Y.manpages.in create mode 100644 lldb-X.Y.postinst.in create mode 100644 llvm-X.Y-dev.dirs.in create mode 100644 llvm-X.Y-dev.install.in create mode 100644 llvm-X.Y-dev.links.in create mode 100644 llvm-X.Y-doc.dirs.in create mode 100644 llvm-X.Y-doc.install.in create mode 100644 llvm-X.Y-examples.dirs.in create mode 100644 llvm-X.Y-examples.examples.in create mode 100644 llvm-X.Y-examples.links.in create mode 100644 llvm-X.Y-runtime.binfmt.in create mode 100644 llvm-X.Y-runtime.install.in create mode 100644 llvm-X.Y-runtime.lintian-overrides.in create mode 100644 llvm-X.Y-runtime.manpages.in create mode 100644 llvm-X.Y-runtime.postinst.in create mode 100644 llvm-X.Y-runtime.prerm.in create mode 100644 llvm-X.Y-tools.dirs.in create mode 100644 llvm-X.Y-tools.install.in create mode 100644 llvm-X.Y.dirs.in create mode 100644 llvm-X.Y.install.in create mode 100644 llvm-X.Y.lintian-overrides.in create mode 100644 llvm-X.Y.manpages.in create mode 100644 llvm-priv-dev.dirs create mode 100755 orig-tar.sh create mode 100644 patches/0003-Debian-version-info-and-bugreport.patch create mode 100644 patches/0021-shared-lib-debian.patch create mode 100644 patches/0023-link-libopagent.patch create mode 100644 patches/0044-soname.diff create mode 100644 patches/19-clang_debian_version.patch create mode 100644 patches/23-strlcpy_strlcat_warning_removed.diff create mode 100644 patches/26-set-correct-float-abi.diff create mode 100644 patches/27-fix_clang_stdint.diff create mode 100644 patches/31-powerpcspe.diff create mode 100644 patches/34-powerpc-no-altivec.diff create mode 100644 patches/857623-allow-opencl-pointer-to-bool.diff create mode 100644 patches/D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff create mode 100644 patches/D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff create mode 100644 patches/add_symbols_versioning.patch create mode 100644 patches/amdgpu-regression.diff create mode 100644 patches/atomic_library_1.diff create mode 100644 patches/atomic_library_2.diff create mode 100644 patches/clang-analyzer-force-version.diff create mode 100644 patches/clang-apply-replacements.diff create mode 100644 patches/clang-arm-default-vfp3-on-armv7a.patch create mode 100644 patches/clang-default-to-i686-on-32bit-x86-targets.patch create mode 100644 patches/clang-fix-cmpxchg8-detection-on-i386.patch create mode 100644 patches/clang-format-version.diff create mode 100644 patches/clang-tidy-run-bin.diff create mode 100644 patches/compiler-rt-i586.diff create mode 100644 patches/compiler-rt-path.diff create mode 100644 patches/declare_clear_cache.diff create mode 100644 patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff create mode 100644 patches/disable-execinfo-usage.diff create mode 100644 patches/disable-llvm-symbolizer-test.diff create mode 100644 patches/disable-test-failing-sparc-i386.diff create mode 100644 patches/do-not-fail-on-unexpected-pass.diff create mode 100644 patches/drop-wrong-hack-arm64.patch create mode 100644 patches/esan-Fix-ESan-test-failure-on-Debian-Sid-bot.diff create mode 100644 patches/esan-Fix-ESan-test-failure-on-Debian-Sid-bot2.diff create mode 100644 patches/fix-R_AARCH64_MOVW_UABS_G3-relocation.patch create mode 100644 patches/fix-clang-path-and-build.diff create mode 100644 patches/fix-cmake-config-prefix.diff create mode 100644 patches/fix-llvm-config-obj-src-root.patch create mode 100644 patches/fix-scan-view-path.diff create mode 100644 patches/follow-parallel-var.diff create mode 100644 patches/force-gcc-header-obj.diff create mode 100644 patches/force-link-pass.o.diff create mode 100644 patches/hurd-EIEIO-undef.diff create mode 100644 patches/hurd-pathmax.diff create mode 100644 patches/install-scan-build-py.diff create mode 100644 patches/kfreebsd-support.diff create mode 100644 patches/lit-force-lang.diff create mode 100644 patches/lldb-addversion-suffix-to-llvm-server-exec.patch create mode 100644 patches/lldb-libname.diff create mode 100644 patches/lldb-link-atomic-cmake.patch create mode 100644 patches/lldb-link-atomic.diff create mode 100644 patches/lldb-server-link.diff create mode 100644 patches/lldb-soname.diff create mode 100644 patches/llvm26003-sanitizer-check-env.diff create mode 100644 patches/mips-fpxx-enable.diff create mode 100644 patches/python-clangpath.diff create mode 100644 patches/removeduplicatedeclaration.diff create mode 100644 patches/rust-0032-Fix-computeKnownBits-for-ARMISD-CMOV.patch create mode 100644 patches/scan-build-clang-path.diff create mode 100644 patches/scan-build-py-default.diff create mode 100644 patches/scan-view-fix-path.diff create mode 100644 patches/series create mode 100644 patches/silent-MCJIIT-tests.diff create mode 100644 patches/silent-more-tests.diff create mode 100644 patches/strip-svn.diff create mode 100644 patches/ubuntu-precise-compiler-rt.diff create mode 100644 patches/unwind-chain-inclusion.diff create mode 100644 patches/upstream-asan-msan-fix-reallocation-logic.diff create mode 100644 patches/upstream-fix-asan-initialization.diff create mode 100644 patches/upstream-msan-prevent-initialization-failure.diff create mode 100644 patches/use-deb-json.diff create mode 100755 pollycc.in create mode 100644 prepare-new-release.sh create mode 100644 python-clang-X.Y.install.in create mode 100644 python-lldb-X.Y.install.in create mode 100644 python-lldb-X.Y.links.in create mode 100755 rules create mode 100644 source.lintian-overrides create mode 100644 source/format create mode 100644 watch diff --git a/NEWS b/NEWS new file mode 100644 index 000000000..91160e68b --- /dev/null +++ b/NEWS @@ -0,0 +1,5 @@ +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 Sat, 02 Aug 2014 12:57:41 +0200 diff --git a/README.source b/README.source new file mode 100644 index 000000000..deeb3f285 --- /dev/null +++ b/README.source @@ -0,0 +1,5 @@ + +Repack of the snapshot release are done with orig-tar.sh which will checkout the sources. + + -- Sylvestre Ledru , Tue, 26 Feb 2013 14:57:56 +0100 + diff --git a/TODO b/TODO new file mode 100644 index 000000000..0ce53dbd8 --- /dev/null +++ b/TODO @@ -0,0 +1,6 @@ +* 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 + +* bootstrap of clang with itself diff --git a/changelog b/changelog new file mode 100644 index 000000000..2bab5c94e --- /dev/null +++ b/changelog @@ -0,0 +1,1605 @@ +llvm-toolchain-3.9 (1:3.9.1-10) unstable; urgency=medium + + * Now that strech has been released, upload in unstable! + This is necessary for rust in unstable + * Try to fix some PATH_MAX on hurd + * Enable the verbose mode when trying to build libfuzzer + to detect potential issues in the path search + + -- Sylvestre Ledru Sun, 18 Jun 2017 19:12:15 +0200 + +llvm-toolchain-3.9 (1:3.9.1-10~exp1) experimental; urgency=medium + + [ Ximin Luo ] + * Fix a rustc armhf SIGILL by backporting upstream D31265. + + -- Sylvestre Ledru Mon, 12 Jun 2017 17:38:06 +0200 + +llvm-toolchain-3.9 (1:3.9.1-9) unstable; urgency=medium + + * debian/patches/fix-R_AARCH64_MOVW_UABS_G3-relocation.patch: + fix relocation issue, preventing Julia from working correctly on + arm64 (Closes: #862535) + * Fix doc generation (Closes: #862597) + - there was a missing install file + + -- Gianfranco Costamagna Fri, 02 Jun 2017 15:14:18 +0200 + +llvm-toolchain-3.9 (1:3.9.1-8) unstable; urgency=medium + + * Really fix "use versioned symbols" for llvm + Thanks to Julien Cristau for the patch (Closes: #849098) + + -- Sylvestre Ledru Tue, 25 Apr 2017 15:10:10 +0200 + +llvm-toolchain-3.9 (1:3.9.1-7) unstable; urgency=medium + + * Limit the archs where the ocaml binding is built + Should fix the FTBFS + Currently amd64 arm64 armel armhf i386 + + -- Sylvestre Ledru Sat, 15 Apr 2017 12:03:30 +0200 + +llvm-toolchain-3.9 (1:3.9.1-6) unstable; urgency=medium + + * Upload in unstable + * Bring back ocaml. Thanks to Cyril Soldani (Closes: #858626) + + -- Sylvestre Ledru Fri, 14 Apr 2017 10:02:03 +0200 + +llvm-toolchain-3.9 (1:3.9.1-6~exp2) experimental; urgency=medium + + * 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:3.9.1-6~ + * Fix the symlink on scan-build-py + + -- Sylvestre Ledru Tue, 28 Mar 2017 06:32:40 +0200 + +llvm-toolchain-3.9 (1:3.9.1-6~exp1) experimental; urgency=medium + + [ Rebecca N. Palmer ] + * Allow '!pointer' in OpenCL (Closes: #857623) + * Add missing liblldb symlink (Closes: #857683) + * Use versioned symbols (Closes: #848368) + + -- Sylvestre Ledru Sun, 19 Mar 2017 10:12:03 +0100 + +llvm-toolchain-3.9 (1:3.9.1-5) unstable; urgency=medium + + * Fix the incorrect symlink to scan-build-py (Closes: #856869) + + -- Sylvestre Ledru Sun, 12 Mar 2017 10:01:10 +0100 + +llvm-toolchain-3.9 (1:3.9.1-4) unstable; urgency=medium + + * d/p/amdgpu-regression.diff Fix a regression impacting mesa + (Closes: #852616) + * d/p/esan-Fix-ESan-test-failure-on-Debian-Sid-bot*.diff: + cherry-pick upsream patch to make esan work with the new glibc + Thanks to Nobert Lange for investigating (Closes: #844092) + + -- Sylvestre Ledru Fri, 27 Jan 2017 11:02:15 +0100 + +llvm-toolchain-3.9 (1:3.9.1-3) unstable; urgency=medium + + * Also install python-lldb-3.9 when installing lldb-3.9 (Closes: #851171) + * Bring back the content of llvm-3.9-doc (Closes: #844616) + + -- Sylvestre Ledru Sat, 14 Jan 2017 11:46:16 +0100 + +llvm-toolchain-3.9 (1:3.9.1-2) unstable; urgency=medium + + * debian/orig-tar.sh: less verbose + * Remove the info section from the generated manpages (Closes: #846269) + * Disable libedit usage in lldb because of garbage (Closes: #846616) + * Fix the path to lldb-server (to lldb-server-3.9) (Closes: #846638) + * d/p/lldb-server-link.diff Fix the lldb hang. It was due to a linking issue. + Thanks to Pavel Labath (Closes: #846640) + + -- Sylvestre Ledru Sat, 17 Dec 2016 17:55:44 +0100 + +llvm-toolchain-3.9 (1:3.9.1-1) unstable; urgency=medium + + * New stable release + + -- Sylvestre Ledru Wed, 14 Dec 2016 09:22:02 +0100 + +llvm-toolchain-3.9 (1:3.9.1~+rc3-1~exp1) experimental; urgency=medium + + * rc 3 of a new release (3.9.1) + + -- Sylvestre Ledru Sat, 10 Dec 2016 03:17:38 +0100 + +llvm-toolchain-3.9 (1:3.9.1~+rc2-1~exp1) experimental; urgency=medium + + * rc 2 of a new release (3.9.1) + * Disable NEON generation on armhf (Closes: #841474, #842142) + Thanks to Pauli for the fix + * patches/bug-30342.diff 0011-SimplifyCFG-Hoisting-invalidates-metadata.patch removed. Applied upstream (3.9.1) + + -- Sylvestre Ledru Fri, 02 Dec 2016 16:19:14 +0100 + +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 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-3.9-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 Fri, 04 Nov 2016 17:18:07 +0100 + +llvm-toolchain-3.9 (1:3.9-4) unstable; urgency=medium + + * d/p/bug-30342.diff: + Backport upstream bug 30342 to fix an infinity loop in rust testsuite + * 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 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 Thu, 27 Oct 2016 11:45:28 +0200 + +llvm-toolchain-3.9 (1:3.9-2) unstable; urgency=medium + + * Merge clang-include-fixer-3.9 into clang-3.9. Don't think + it deserves it own package + * python-lldb-3.9 archs "any" to a list like others pkg + Should fix the transition issue + * Fix a version issue with run-clang-tidy-4.0.py + * Fix the VCS-* fields (Closes: #839095) + + -- Sylvestre Ledru 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) + * Build lldb on arm64. Hopefully, works. + + -- Sylvestre Ledru Thu, 01 Sep 2016 12:05:33 +0200 + +llvm-toolchain-3.9 (1:3.9~+rc3-1) unstable; urgency=medium + + * Upload in unstable + * 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 + * Fix a crash with clang-tidy (Closes: #833802) + Fixed in 1:3.9~+rc1-1~exp1 + + -- Sylvestre Ledru Fri, 26 Aug 2016 23:34:16 +0200 + +llvm-toolchain-3.9 (1:3.9~+rc3-1~exp1) experimental; urgency=medium + + * new RC release + + -- Sylvestre Ledru Thu, 25 Aug 2016 16:54:25 +0200 + +llvm-toolchain-3.9 (1:3.9~+rc2-1~exp1) experimental; urgency=medium + + * New RC release + * Introduce clang-include-fixer-3.9 + * 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) + + -- Sylvestre Ledru Fri, 19 Aug 2016 09:57:21 +0200 + +llvm-toolchain-3.9 (1:3.9~+rc1-1~exp1) experimental; urgency=medium + + * new testing version + * Sync the 3.8 changes into 3.9 + * amd64 llvm testsuite is green, bring back the failure in case of error + * Bring back the lto (gone with the cmake migration) + (Closes: #819333) (upstream: #27223) + * Fix the cmake paths in llvm-3.9-dev deb package. Thanks to Brad King + for the patch (Closes: #819072) + * LLVMConfig.cmake is now installed to /lib/cmake/llvm instead of + /share/llvm/cmake + Thanks to Brad King of the fix + * Disable lldb on sparc64 (Closes: #832371) + * 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) + + -- Sylvestre Ledru 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 + * 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 missleading + * Standards-Version updated to 3.9.5 + * kfreebsd.diff remove (applied upstream) + + -- Sylvestre Ledru 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 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 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 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 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 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 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 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 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 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 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 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 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 missleading + * Branch from llvm-toolchain-snapshot + * Standards-Version updated to 3.9.5 + + -- Sylvestre Ledru 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sat, 09 Feb 2013 12:14:10 +0100 diff --git a/clang-X.Y-doc.docs.in b/clang-X.Y-doc.docs.in new file mode 100644 index 000000000..b3cc6a07c --- /dev/null +++ b/clang-X.Y-doc.docs.in @@ -0,0 +1,2 @@ +tools/clang/docs/_build/html/ + diff --git a/clang-X.Y-examples.examples.in b/clang-X.Y-examples.examples.in new file mode 100644 index 000000000..49cbc5fef --- /dev/null +++ b/clang-X.Y-examples.examples.in @@ -0,0 +1 @@ +clang/examples/* diff --git a/clang-X.Y.install.in b/clang-X.Y.install.in new file mode 100644 index 000000000..5ed3ee9db --- /dev/null +++ b/clang-X.Y.install.in @@ -0,0 +1,42 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/clang +usr/lib/llvm-@LLVM_VERSION@/bin/clang++ +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@/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/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 + +tools/clang/tools/scan-build-@LLVM_VERSION@ usr/share/clang/ +tools/clang/tools/scan-build-py-@LLVM_VERSION@ usr/share/clang/ +tools/clang/tools/scan-view-@LLVM_VERSION@ usr/share/clang/ +#usr/share/man/man1/clang.1 usr/share/man/man1/ +usr/lib/llvm-@LLVM_VERSION@/lib/cmake/clang/*.cmake usr/share/llvm-@LLVM_VERSION@/cmake/ +usr/lib/llvm-@LLVM_VERSION@/share/clang/run-find-all-symbols.py +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-include-fixer.py + +usr/bin/clang-@LLVM_VERSION@ +usr/bin/clang++-@LLVM_VERSION@ +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/find-all-symbols-@LLVM_VERSION@ +usr/bin/clang-include-fixer-@LLVM_VERSION@ diff --git a/clang-X.Y.links.in b/clang-X.Y.links.in new file mode 100644 index 000000000..8880fe629 --- /dev/null +++ b/clang-X.Y.links.in @@ -0,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@ + diff --git a/clang-X.Y.lintian-overrides.in b/clang-X.Y.lintian-overrides.in new file mode 100644 index 000000000..ab2dbaedd --- /dev/null +++ b/clang-X.Y.lintian-overrides.in @@ -0,0 +1,9 @@ +# I know but well... +clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-check.1.gz +clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/scan-view.1.gz +clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-apply-replacements-@LLVM_VERSION@.1.gz +clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-check-@LLVM_VERSION@.1.gz +clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-tblgen-@LLVM_VERSION@.1.gz +clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/scan-view-@LLVM_VERSION@.1.gz +# Does not link otherwise +clang-@LLVM_VERSION@: embedded-library usr/lib/llvm-@LLVM_VERSION@/bin/clang: libjsoncpp diff --git a/clang-X.Y.manpages.in b/clang-X.Y.manpages.in new file mode 100644 index 000000000..5e6881ff9 --- /dev/null +++ b/clang-X.Y.manpages.in @@ -0,0 +1,11 @@ +clang/docs/_build/man/clang-@LLVM_VERSION@.1 +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 diff --git a/clang-format-X.Y.install.in b/clang-format-X.Y.install.in new file mode 100644 index 000000000..d3a18a58b --- /dev/null +++ b/clang-format-X.Y.install.in @@ -0,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@/ diff --git a/clang-format-X.Y.lintian-overrides.in b/clang-format-X.Y.lintian-overrides.in new file mode 100644 index 000000000..aa7867993 --- /dev/null +++ b/clang-format-X.Y.lintian-overrides.in @@ -0,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 + diff --git a/clang-format-X.Y.manpages.in b/clang-format-X.Y.manpages.in new file mode 100644 index 000000000..db4dd8f72 --- /dev/null +++ b/clang-format-X.Y.manpages.in @@ -0,0 +1,3 @@ +debian/man/clang-format-diff-@LLVM_VERSION@.1 +debian/man/clang-format-@LLVM_VERSION@.1 + diff --git a/clang-tidy-X.Y.install.in b/clang-tidy-X.Y.install.in new file mode 100644 index 000000000..ef992c58d --- /dev/null +++ b/clang-tidy-X.Y.install.in @@ -0,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@ diff --git a/clang-tidy-X.Y.links.in b/clang-tidy-X.Y.links.in new file mode 100644 index 000000000..5d959f497 --- /dev/null +++ b/clang-tidy-X.Y.links.in @@ -0,0 +1,3 @@ +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/clang-tidy-diff.py usr/bin/clang-tidy-diff-@LLVM_VERSION@.py + diff --git a/clang-tidy-X.Y.lintian-overrides.in b/clang-tidy-X.Y.lintian-overrides.in new file mode 100644 index 000000000..c915da605 --- /dev/null +++ b/clang-tidy-X.Y.lintian-overrides.in @@ -0,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 + diff --git a/clang-tidy-X.Y.manpages.in b/clang-tidy-X.Y.manpages.in new file mode 100644 index 000000000..fa4a8146f --- /dev/null +++ b/clang-tidy-X.Y.manpages.in @@ -0,0 +1 @@ +debian/man/clang-tidy-@LLVM_VERSION@.1 diff --git a/compat b/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/control b/control new file mode 100644 index 000000000..fd2578a5d --- /dev/null +++ b/control @@ -0,0 +1,525 @@ +Source: llvm-toolchain-3.9 +Section: devel +Priority: optional +Maintainer: LLVM Packaging Team +Uploaders: Sylvestre Ledru +Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, + cmake, perl, libtool, chrpath, texinfo, sharutils, libffi-dev (>= 3.0.9), + lsb-release, patchutils, diffstat, xz-utils, python-dev, + libedit-dev, swig, python-six, python-sphinx, binutils-dev, + libjsoncpp-dev, + lcov, procps, help2man, zlib1g-dev, + ocaml-nox [amd64 arm64 armel armhf i386], + ocaml-findlib [amd64 arm64 armel armhf i386], + libctypes-ocaml-dev [amd64 arm64 armel armhf i386], + dh-ocaml [amd64 arm64 armel armhf i386], + g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32] +Build-Conflicts: oprofile, ocaml, libllvm-3.4-ocaml-dev, libllvm-3.5-ocaml-dev, + libllvm-3.8-ocaml-dev, libllvm-3.9-ocaml-dev +Standards-Version: 3.9.8 +Homepage: http://www.llvm.org/ +Vcs-Svn: svn://anonscm.debian.org/svn/pkg-llvm/llvm-toolchain/branches/3.9/ +Vcs-Browser: https://svn.debian.org/viewsvn/pkg-llvm/llvm-toolchain/branches/3.9/ + +# ------------- clang ------------- + +Package: clang-3.9 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + ${dep:devlibs-objc}, libclang-common-3.9-dev (= ${binary:Version}), + libclang1-3.9 (= ${binary:Version}), libc6-dev, binutils +Provides: c-compiler, objc-compiler, c++-compiler +Recommends: llvm-3.9-dev, python +Suggests: gnustep, gnustep-devel, clang-3.9-doc +Replaces: clang-3.1, clang-3.2, clang-3.3, + clang-3.4 (<< 1:3.4.2-7~exp1), clang-3.5 (<< 1:3.5~+rc1-3~exp1), compiler-rt, + clang-include-fixer-3.9 +Breaks: clang-3.1, clang-3.2, clang-3.3, + clang-3.4 (<< 1:3.4.2-7~exp1), clang-3.5 (<< 1:3.5~+rc1-3~exp1), compiler-rt, + clang-include-fixer-3.9 +Description: C, C++ and Objective-C compiler (LLVM based) + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + +Package: clang-format-3.9 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python +Replaces: clang-format-3.3 +Breaks: clang-format-3.3 +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-3.9 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python +Replaces: clang-modernize-3.9, clang-3.9 (<< 1:3.9~svn250696-1) +Breaks: clang-modernize-3.9, clang-3.9 (<< 1:3.9~svn250696-1) +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: clang-3.9-doc +Architecture: all +Section: doc +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: C, C++ and Objective-C compiler (LLVM based) - Documentation + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + . + This package contains the documentation. + +Package: libclang1-3.9 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: C interface to the clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + . + 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: libclang1-3.9-dbg +Architecture: any +Multi-Arch: same +Section: debug +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libclang1-3.9 (= ${binary:Version}) +Description: clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + . + This package contains the debugging symbols. + +Package: libclang-3.9-dev +Architecture: any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + ${dep:devlibs-objc}, libclang1-3.9 (= ${binary:Version}), + libclang-common-3.9-dev (= ${binary:Version}) +Description: clang library - Development package + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + . + This package contains the clang headers to develop extensions over + libclang1-3.9. + +Package: libclang-common-3.9-dev +Architecture: any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}) +Description: clang library - Common development package + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + . + This package contains the clang generic headers and some libraries + (profiling, etc). + + +Package: libfuzzer-3.9-dev +Architecture: any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-3.9 (= ${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: python-clang-3.9 +Section: python +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python +Replaces: python-clang-3.3, python-clang-3.4, python-clang-3.5, python-clang-3.6, python-clang-3.7, python-clang-3.8 +Breaks: python-clang-3.3, python-clang-3.4, python-clang-3.5, python-clang-3.6, python-clang-3.7, python-clang-3.8 +Description: Clang Python Bindings + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + . + This binding package provides access to the Clang compiler and libraries. + + +Package: clang-3.9-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 + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + . + This package contains the clang examples. + +# ------------- LLVM ------------- + +Package: libllvm3.9 +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: libllvm3.9-dbg +Architecture: any +Section: debug +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Modular compiler and toolchain technologies, debugging libraries + 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 debug symbols. + +Package: llvm-3.9 +Architecture: any +Suggests: llvm-3.9-doc +Depends: llvm-3.9-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Recommends: llvm-3.9-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 X86, SparcV9, PowerPC or many other architectures. + +Package: llvm-3.9-runtime +Architecture: any +Depends: binfmt-support, ${shlibs:Depends}, ${misc:Depends} +Conflicts: llvm (<< 2.7-1) +Replaces: llvm (<< 2.7-1) +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-3.9-dev +Architecture: any +Depends: ${shlibs:Depends}, libffi-dev (>= 3.0.9), ${misc:Depends}, + llvm-3.9 (= ${binary:Version}), libllvm3.9 (= ${binary:Version}), libtinfo-dev +Replaces: llvm (<< 2.2-3) +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-3.9-tools +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python, + llvm-3.9-dev (= ${binary:Version}) +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-3.9-ocaml-dev +Section: ocaml +Architecture: amd64 arm64 armel armhf i386 +Suggests: llvm-3.9-doc +Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-3.9-dev (= ${binary:Version}) +Provides: ${ocaml:Provides} +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-3.9-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-3.9-examples +Section: doc +Architecture: all +Depends: ${misc:Depends}, llvm-3.9-dev (>= ${source:Version}), llvm-3.9-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-3.9 +# Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel +# # ia64 mips mipsel hurd powerpc ppc64el have been removed +# Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}), llvm-3.9-dev +# 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-3.9 +# Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel +# # ia64 mips mipsel hurd powerpc ppc64el have been removed +# Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${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-3.9-dbg +# Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel +# # ia64 mips mipsel hurd ppc64el alpha s390x powerpc have been removed +# Depends: ${shlibs:Depends}, ${misc:Depends}, liblld-3.9 (= ${binary:Version}) +# Pre-Depends: ${misc:Pre-Depends} +# Section: debug +# Priority: extra +# Description: LLVM-based linker, debugging libraries +# 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 debug symbols. + + +# Package: liblld-3.9-dev +# Section: libdevel +# Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel +# # ia64 mips mipsel hurd powerpc ppc64el have been removed +# Depends: ${shlibs:Depends}, ${misc:Depends}, lld-3.9 (= ${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-3.9 +Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe sh4 x32 mips mipsel arm64 +# ia64 mips mipsel hurd powerpc ppc64 ppc64el sparc64 s390x have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}), llvm-3.9-dev, + python-lldb-3.9 +Conflicts: lldb-3.4, lldb-3.5 +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-3.9 +Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe sh4 x32 mips mipsel arm64 +# ia64 mips mipsel hurd powerpc ppc64 ppc64el sparc64 have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: libs +Replaces: lldb-3.9 (<= 1:3.9~svn215195-2) +Breaks: lldb-3.9 (<< 1:3.9~svn215195-2) +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: liblldb-3.9-dbg +Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k powerpcspe sh4 x32 mips mipsel arm64 +# ia64 mips mipsel hurd ppc64 ppc64el alpha s390x powerpc sparc64 have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-3.9 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: debug +Priority: extra +Description: Next generation, high-performance debugger, debugging libraries + 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 debug symbols. + + +Package: python-lldb-3.9 +Section: python +Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k powerpcspe sh4 x32 mips mipsel arm64 +# ia64 mips mipsel hurd ppc64 ppc64el alpha s390x powerpc sparc64 have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-3.9-dev, python, python-six +Conflicts: python-lldb-3.4, python-lldb-3.5, python-lldb-3.6, python-lldb-3.7, python-lldb-3.8 +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger, python 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-3.9-dev +Section: libdevel +Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe sh4 x32 mips mipsel arm64 +# ia64 mips mipsel hurd powerpc ppc64 ppc64el sparc64 have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-3.9 (= ${binary:Version}) +Replaces: lldb-3.9-dev (<= 1:3.9~svn215195-2) +Breaks: lldb-3.9-dev (<< 1:3.9~svn215195-2) +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. diff --git a/copyright b/copyright new file mode 100644 index 000000000..a50dd550b --- /dev/null +++ b/copyright @@ -0,0 +1,428 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: LLVM/Clang +Source: http://llvm.org/releases/download.html + +Files: * +Copyright: 2003-2007 University of Illinois at Urbana-Champaign. +License: U-OF-I-BSD-LIKE + +Files: */install-sh +Copyright: 1994 X Consortium +License: LLVM + This script is licensed under the LLVM license, with the following + additional copyrights and restrictions: + . + Copyright 1991 by the Massachusetts Institute of Technology + . + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of M.I.T. not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. M.I.T. makes no representations about the + suitability of this software for any purpose. It is provided "as is" + without express or implied warranty. + . + ============================================================================== + LLVM Release License + ============================================================================== + University of Illinois/NCSA + Open Source License + . + Copyright (c) 2003-2013 University of Illinois at Urbana-Champaign. + All rights reserved. + . + Developed by: + . + LLVM Team + . + University of Illinois at Urbana-Champaign + . + http://llvm.org + . + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal with + 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: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + . + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + . + 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 + CONTRIBUTORS 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 WITH THE + SOFTWARE. + +Files: clang/lib/Headers/* +Copyright: 2003-2007 University of Illinois at Urbana-Champaign +License: Expat + +Files: clang/lib/Headers/iso646.h +Copyright: 2008 Eli Friedman +License: Expat + +Files: clang/lib/Headers/limits.h +Copyright: 2009 Chris Lattner +License: Expat + +Files: clang/lib/Headers/stdarg.h +Copyright: 2008 Eli Friedman +License: Expat + +Files: clang/lib/Headers/stdbool.h +Copyright: 2008 Eli Friedman +License: Expat + +Files: clang/lib/Headers/stddef.h +Copyright: 2008 Eli Friedman +License: Expat + +Files: clang/lib/Headers/stdint.h +Copyright: 2009 Chris Lattner +License: Expat + +Files: clang/lib/Headers/tgmath.h +Copyright: 2009 Howard Hinnant +License: Expat + +Files: compiler-rt/* +Copyright: 2009-2013 Craig van Vliet + 2009-2013 Edward O'Callaghan + 2009-2013 Howard Hinnant +License: U-OF-I-BSD-LIKE or MIT + +Files: compiler-rt/lib/BlocksRuntime/Block.h +Copyright: 2008-2010 Apple, Inc. +License: MIT + +Files: compiler-rt/lib/BlocksRuntime/Block_private.h +Copyright: 2008-2010 Apple, Inc. +License: MIT + +Files: compiler-rt/lib/BlocksRuntime/data.c +Copyright: 2008-2010 Apple, Inc. +License: MIT + +Files: compiler-rt/lib/BlocksRuntime/runtime.c +Copyright: 2008-2010 Apple, Inc. +License: MIT + +Files: include/llvm/Support/* +Copyright: 2003-2013 University of Illinois at Urbana-Champaign. + Copyright (C) 2004 eXtensible Systems, Inc. +License: U-OF-I-BSD-LIKE + +Files: lib/Support/reg* +Copyright: 1992, 1993, 1994 Henry Spencer + 1992, 1993, 1994 The Regents of the University of California +License: BSD-3-clause + +Files: lib/Target/ARM/* +Copyright: ARM Limited +License: ARM + ARM Limited + . + Software Grant License Agreement ("Agreement") + . + Except for the license granted herein to you, ARM Limited ("ARM") reserves all + right, title, and interest in and to the Software (defined below). + . + Definition + . + "Software" means the code and documentation as well as any original work of + authorship, including any modifications or additions to an existing work, that + is intentionally submitted by ARM to llvm.org (http://llvm.org) ("LLVM") for + inclusion in, or documentation of, any of the products owned or managed by LLVM + (the "Work"). For the purposes of this definition, "submitted" means any form of + electronic, verbal, or written communication sent to LLVM or its + representatives, including but not limited to communication on electronic + mailing lists, source code control systems, and issue tracking systems that are + managed by, or on behalf of, LLVM for the purpose of discussing and improving + the Work, but excluding communication that is conspicuously marked otherwise. + . + 1. Grant of Copyright License. Subject to the terms and conditions of this + Agreement, ARM hereby grants to you and to recipients of the Software + distributed by LLVM a perpetual, worldwide, non-exclusive, no-charge, + royalty-free, irrevocable copyright license to reproduce, prepare derivative + works of, publicly display, publicly perform, sublicense, and distribute the + Software and such derivative works. + . + 2. Grant of Patent License. Subject to the terms and conditions of this + Agreement, ARM hereby grants you and to recipients of the Software + distributed by LLVM a perpetual, worldwide, non-exclusive, no-charge, + royalty-free, irrevocable (except as stated in this section) patent license + to make, have made, use, offer to sell, sell, import, and otherwise transfer + the Work, where such license applies only to those patent claims licensable + by ARM that are necessarily infringed by ARM's Software alone or by + combination of the Software with the Work to which such Software was + submitted. If any entity institutes patent litigation against ARM or any + other entity (including a cross-claim or counterclaim in a lawsuit) alleging + that ARM's Software, or the Work to which ARM has contributed constitutes + direct or contributory patent infringement, then any patent licenses granted + to that entity under this Agreement for the Software or Work shall terminate + as of the date such litigation is filed. + . + Unless required by applicable law or agreed to in writing, the software is + provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + either express or implied, including, without limitation, any warranties or + conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. + +Files: lldb/* +Copyright: 2010, 2012 Apple Inc. +License: NCSA + University of Illinois/NCSA + Open Source License + . + Copyright (c) 2010 Apple Inc. + All rights reserved. + . + Developed by: + . + LLDB Team + . + http://lldb.llvm.org/ + . + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal with + 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: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + . + * Neither the names of the LLDB Team, copyright holders, nor the names of + its contributors may be used to endorse or promote products derived from + this Software without specific prior written permission. + . + 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 + CONTRIBUTORS 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 WITH THE + SOFTWARE. + +Files: lldb/test/pexpect-2.4/* +Copyright: 2008 Noah Spurrier +License: Expat + +License: Expat + . + 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. + +Files: lldb/test/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: polly/* +Copyright: 2009-2013 Polly Team +License: Polly + ============================================================================== + Polly Release License + ============================================================================== + University of Illinois/NCSA + Open Source License + . + Copyright (c) 2009-2013 Polly Team + All rights reserved. + . + Developed by: + . + Polly Team + . + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal with + 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: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + . + * Neither the names of the Polly Team, copyright holders, nor the names of + its contributors may be used to endorse or promote products derived from + this Software without specific prior written permission. + . + 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 + CONTRIBUTORS 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 WITH THE + SOFTWARE. + +Files: polly/lib/JSON/* +Copyright: Polly Team +License: public-domain + **FIXME** + polly/lib/JSON/LICENSE.txt claims that these files are in the public domain, but + the machine-readable copyright spec requires additional clarification. + +Files: polly/tools/GPURuntime/* +Copyright: Polly Team +License: U-OF-I-BSD-LIKE or MIT + +Files: test/YAMLParser/* +Copyright: 2006 Kirill Simonov +License: MIT + +Files: lldb/tools/debugserver/source/MacOSX/stack_logging.h +Copyright: 1999-2007 Apple Inc. +License: Apple + This file contains Original Code and/or Modifications of Original Code + as defined in and that are subject to the Apple Public Source License + Version 2.0 (the 'License'). You may not use this file except in + compliance with the License. Please obtain a copy of the License at + http://www.opensource.apple.com/apsl/ and read it before using this + file. + . + The Original Code and all software distributed under the License are + distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + Please see the License for the specific language governing rights and + limitations under the License. + +Files: utils/unittest/googletest/* +Copyright: 2006-2008, Google Inc. +License: BSD-3-Clause + +License: BSD-3-Clause + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + . + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + +License: U-OF-I-BSD-LIKE + ============================================================================== + LLVM Release License + ============================================================================== + University of Illinois/NCSA + Open Source License + . + Copyright (c) 2003-2013 University of Illinois at Urbana-Champaign. + All rights reserved. + . + Developed by: + . + LLVM Team + . + University of Illinois at Urbana-Champaign + . + http://llvm.org + . + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal with + 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: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + . + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + . + 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 + CONTRIBUTORS 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 WITH 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. diff --git a/debian_path.h b/debian_path.h new file mode 100644 index 000000000..539636f8c --- /dev/null +++ b/debian_path.h @@ -0,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 diff --git a/libclang-X.Y-dev.install.in b/libclang-X.Y-dev.install.in new file mode 100644 index 000000000..79d9db7d0 --- /dev/null +++ b/libclang-X.Y-dev.install.in @@ -0,0 +1,10 @@ +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/libfindAllSymbols.a + +#usr/include/clang /usr/include/ +#usr/include/clang-c /usr/include/ +#usr/lib/libclang.so /usr/lib/ +#usr/lib/libclang*a /usr/lib/ diff --git a/libclang-X.Y-dev.links.in b/libclang-X.Y-dev.links.in new file mode 100644 index 000000000..6f99d5bf2 --- /dev/null +++ b/libclang-X.Y-dev.links.in @@ -0,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 diff --git a/libclang-common-X.Y-dev.install.in b/libclang-common-X.Y-dev.install.in new file mode 100644 index 000000000..3d9d13efd --- /dev/null +++ b/libclang-common-X.Y-dev.install.in @@ -0,0 +1,14 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include + +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/*.txt + +#usr/lib/clang/@LLVM_VERSION_FULL@/lib /usr/lib/clang/@LLVM_VERSION@/ +#usr/lib/clang/@LLVM_VERSION_FULL@/include/ /usr/include/clang/@LLVM_VERSION@/ + +usr/lib/llvm-@LLVM_VERSION@/bin/clang-tblgen +usr/lib/llvm-@LLVM_VERSION@/bin/yaml-bench + +usr/bin/clang-tblgen-@LLVM_VERSION@ +usr/bin/yaml-bench-@LLVM_VERSION@ + diff --git a/libclang-common-X.Y-dev.links.in b/libclang-common-X.Y-dev.links.in new file mode 100644 index 000000000..717c6b2c0 --- /dev/null +++ b/libclang-common-X.Y-dev.links.in @@ -0,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 + diff --git a/libclang1-X.Y.install.in b/libclang1-X.Y.install.in new file mode 100644 index 000000000..d44e84f69 --- /dev/null +++ b/libclang1-X.Y.install.in @@ -0,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 diff --git a/libclang1-X.Y.links.in b/libclang1-X.Y.links.in new file mode 100644 index 000000000..3ea44c8d7 --- /dev/null +++ b/libclang1-X.Y.links.in @@ -0,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 diff --git a/libclang1-X.Y.lintian-overrides.in b/libclang1-X.Y.lintian-overrides.in new file mode 100644 index 000000000..9fc47a746 --- /dev/null +++ b/libclang1-X.Y.lintian-overrides.in @@ -0,0 +1,5 @@ +# I know and I am not planning to change that yet. +libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang1-@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 diff --git a/libclang1-X.Y.symbols.in b/libclang1-X.Y.symbols.in new file mode 100644 index 000000000..7cdb0cb90 --- /dev/null +++ b/libclang1-X.Y.symbols.in @@ -0,0 +1,341 @@ +libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# + (optional)LLVM_@LLVM_VERSION@@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_BlockCommandComment_getArgText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_BlockCommandComment_getCommandName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_BlockCommandComment_getNumArgs@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_BlockCommandComment_getParagraph@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXCursorSet_contains@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXCursorSet_insert@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXIndex_getGlobalOptions@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXIndex_setGlobalOptions@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXConstructor_isConvertingConstructor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXConstructor_isCopyConstructor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXConstructor_isDefaultConstructor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXConstructor_isMoveConstructor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXField_isMutable@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXMethod_isConst@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXMethod_isDefaulted@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXMethod_isPureVirtual@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXMethod_isStatic@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CXXMethod_isVirtual@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Comment_getChild@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Comment_getKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Comment_getNumChildren@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Comment_isWhitespace@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompilationDatabase_dispose@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompilationDatabase_fromDirectory@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompilationDatabase_getAllCompileCommands@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompilationDatabase_getCompileCommands@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommand_getArg@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommand_getDirectory@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommand_getFilename@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommand_getMappedSourceContent@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommand_getMappedSourcePath@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommand_getNumArgs@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommands_dispose@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommands_getCommand@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_CompileCommands_getSize@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_Evaluate@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getArgument@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getBriefCommentText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getCXXManglings@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getCommentRange@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getMangling@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getModule@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getNumArguments@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getNumTemplateArguments@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getObjCDeclQualifiers@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getObjCPropertyAttributes@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getObjCSelectorIndex@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getOffsetOfField@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getParsedComment@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getRawCommentText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getReceiverType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getSpellingNameRange@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getStorageClass@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getTemplateArgumentKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getTemplateArgumentType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getTemplateArgumentUnsignedValue@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getTemplateArgumentValue@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_getTranslationUnit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_hasAttrs@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isAnonymous@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isBitField@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isDynamicCall@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isFunctionInlined@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isMacroBuiltin@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isMacroFunctionLike@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isNull@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isObjCOptional@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Cursor_isVariadic@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_EvalResult_dispose@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_EvalResult_getAsDouble@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_EvalResult_getAsInt@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_EvalResult_getAsStr@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_EvalResult_getKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_File_isEqual@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_FullComment_getAsHTML@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_FullComment_getAsXML@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_HTMLStartTagComment_isSelfClosing@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_HTMLStartTag_getAttrName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_HTMLStartTag_getAttrValue@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_HTMLStartTag_getNumAttrs@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_HTMLTagComment_getAsString@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_HTMLTagComment_getTagName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_IndexAction_create@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_IndexAction_dispose@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_InlineCommandComment_getArgText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_InlineCommandComment_getCommandName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_InlineCommandComment_getNumArgs@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_InlineCommandComment_getRenderKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_InlineContentComment_hasTrailingNewline@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Location_isFromMainFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Location_isInSystemHeader@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ModuleMapDescriptor_create@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ModuleMapDescriptor_dispose@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ModuleMapDescriptor_setFrameworkModuleName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ModuleMapDescriptor_setUmbrellaHeader@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ModuleMapDescriptor_writeToBuffer@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Module_getASTFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Module_getFullName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Module_getName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Module_getNumTopLevelHeaders@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Module_getParent@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Module_getTopLevelHeader@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Module_isSystem@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ParamCommandComment_getDirection@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ParamCommandComment_getParamIndex@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ParamCommandComment_getParamName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ParamCommandComment_isDirectionExplicit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_ParamCommandComment_isParamIndexValid@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Range_isNull@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_TParamCommandComment_getDepth@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_TParamCommandComment_getIndex@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_TParamCommandComment_getParamName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_TParamCommandComment_isParamPositionValid@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_TextComment_getText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getAlignOf@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getCXXRefQualifier@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getClassType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getNamedType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getNumTemplateArguments@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getObjCEncoding@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getOffsetOf@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getSizeOf@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_getTemplateArgumentAsType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_Type_visitFields@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_VerbatimBlockLineComment_getText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_VerbatimLineComment_getText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_VirtualFileOverlay_addFileMapping@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_VirtualFileOverlay_create@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_VirtualFileOverlay_dispose@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_VirtualFileOverlay_setCaseSensitivity@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_VirtualFileOverlay_writeToBuffer@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_annotateTokens@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_codeCompleteAt@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_codeCompleteGetContainerKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_codeCompleteGetContainerUSR@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_codeCompleteGetContexts@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_codeCompleteGetDiagnostic@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_codeCompleteGetNumDiagnostics@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_codeCompleteGetObjCSelector@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_constructUSR_ObjCCategory@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_constructUSR_ObjCClass@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_constructUSR_ObjCIvar@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_constructUSR_ObjCMethod@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_constructUSR_ObjCProperty@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_constructUSR_ObjCProtocol@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_createCXCursorSet@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_createIndex@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_createTranslationUnit2@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_createTranslationUnit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_createTranslationUnitFromSourceFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_defaultCodeCompleteOptions@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_defaultDiagnosticDisplayOptions@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_defaultEditingTranslationUnitOptions@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_defaultReparseOptions@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_defaultSaveOptions@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeCXCursorSet@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeCXPlatformAvailability@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeCXTUResourceUsage@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeCodeCompleteResults@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeDiagnostic@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeDiagnosticSet@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeIndex@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeOverriddenCursors@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeSourceRangeList@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeString@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeStringSet@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeTokens@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_disposeTranslationUnit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_enableStackTraces@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_equalCursors@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_equalLocations@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_equalRanges@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_equalTypes@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_executeOnThread@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_findIncludesInFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_findIncludesInFileWithBlock@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_findReferencesInFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_findReferencesInFileWithBlock@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_formatDiagnostic@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_free@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getArgType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getArrayElementType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getArraySize@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getBuildSessionTimestamp@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCString@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCXTUResourceUsage@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCXXAccessSpecifier@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCanonicalCursor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCanonicalType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getChildDiagnostics@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getClangVersion@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionAnnotation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionAvailability@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionBriefComment@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionChunkCompletionString@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionChunkKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionChunkText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionNumAnnotations@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionParent@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCompletionPriority@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorAvailability@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorCompletionString@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorDefinition@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorDisplayName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorExtent@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorKindSpelling@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorLanguage@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorLexicalParent@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorLinkage@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorPlatformAvailability@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorReferenceNameRange@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorReferenced@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorResultType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorSemanticParent@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorSpelling@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorUSR@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getCursorVisibility@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDeclObjCTypeEncoding@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDefinitionSpellingAndExtent@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnostic@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticCategory@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticCategoryName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticCategoryText@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticFixIt@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticInSet@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticNumFixIts@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticNumRanges@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticOption@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticRange@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticSetFromTU@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticSeverity@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getDiagnosticSpelling@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getElementType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getEnumConstantDeclUnsignedValue@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getEnumConstantDeclValue@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getEnumDeclIntegerType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getExpansionLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getFieldDeclBitWidth@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getFileLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getFileName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getFileTime@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getFileUniqueID@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getFunctionTypeCallingConv@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getIBOutletCollectionType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getIncludedFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getInclusions@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getInstantiationLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getLocationForOffset@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getModuleForFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNullCursor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNullLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNullRange@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNumArgTypes@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNumCompletionChunks@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNumDiagnostics@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNumDiagnosticsInSet@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNumElements@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getNumOverloadedDecls@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getOverloadedDecl@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getOverriddenCursors@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getPointeeType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getPresumedLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getRange@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getRangeEnd@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getRangeStart@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getRemappings@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getRemappingsFromFileList@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getResultType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getSkippedRanges@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getSpecializedCursorTemplate@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getSpellingLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTUResourceUsageName@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTemplateCursorKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTokenExtent@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTokenKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTokenLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTokenSpelling@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTranslationUnitCursor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTranslationUnitSpelling@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTypeDeclaration@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTypeKindSpelling@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTypeSpelling@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_getTypedefDeclUnderlyingType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_hashCursor@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_indexLoc_getCXSourceLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_indexLoc_getFileLocation@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_indexSourceFile@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_indexSourceFileFullArgv@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_indexTranslationUnit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getCXXClassDeclInfo@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getClientContainer@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getClientEntity@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getIBOutletCollectionAttrInfo@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getObjCCategoryDeclInfo@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getObjCContainerDeclInfo@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getObjCInterfaceDeclInfo@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getObjCPropertyDeclInfo@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_getObjCProtocolRefListInfo@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_isEntityObjCContainerKind@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_setClientContainer@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_index_setClientEntity@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isAttribute@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isConstQualifiedType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isCursorDefinition@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isDeclaration@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isExpression@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isFileMultipleIncludeGuarded@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isFunctionTypeVariadic@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isInvalid@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isPODType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isPreprocessing@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isReference@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isRestrictQualifiedType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isStatement@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isTranslationUnit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isUnexposed@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isVirtualBase@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_isVolatileQualifiedType@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_loadDiagnostics@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_parseTranslationUnit2@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_parseTranslationUnit2FullArgv@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_parseTranslationUnit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_remap_dispose@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_remap_getFilenames@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_remap_getNumFiles@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_reparseTranslationUnit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_saveTranslationUnit@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_sortCodeCompletionResults@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_toggleCrashRecovery@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_tokenize@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_visitChildren@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ + clang_visitChildrenWithBlock@LLVM_@LLVM_VERSION@ 1:3.9.1-6~ diff --git a/liblld-X.Y-dev.install.in b/liblld-X.Y-dev.install.in new file mode 100644 index 000000000..bc72984b7 --- /dev/null +++ b/liblld-X.Y-dev.install.in @@ -0,0 +1,3 @@ +/usr/lib/llvm-@LLVM_VERSION@/include/lld +/usr/lib/llvm-@LLVM_VERSION@/lib/liblld*a +/usr/lib/llvm-@LLVM_VERSION@/lib/liblld*so diff --git a/liblld-X.Y.install.in b/liblld-X.Y.install.in new file mode 100644 index 000000000..aab1ecd5f --- /dev/null +++ b/liblld-X.Y.install.in @@ -0,0 +1 @@ +#usr/lib/llvm-@LLVM_VERSION@/lib/liblld-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/liblld-X.Y.links.in b/liblld-X.Y.links.in new file mode 100644 index 000000000..b9b629f87 --- /dev/null +++ b/liblld-X.Y.links.in @@ -0,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/python2.7/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 diff --git a/liblldb-X.Y-dev.install.in b/liblldb-X.Y-dev.install.in new file mode 100644 index 000000000..d6dd2e165 --- /dev/null +++ b/liblldb-X.Y-dev.install.in @@ -0,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 diff --git a/liblldb-X.Y-dev.links.in b/liblldb-X.Y-dev.links.in new file mode 100644 index 000000000..18e13a511 --- /dev/null +++ b/liblldb-X.Y-dev.links.in @@ -0,0 +1,2 @@ +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so + diff --git a/liblldb-X.Y.install.in b/liblldb-X.Y.install.in new file mode 100644 index 000000000..8545597e0 --- /dev/null +++ b/liblldb-X.Y.install.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/python2.7/site-packages/readline.so diff --git a/liblldb-X.Y.links.in b/liblldb-X.Y.links.in new file mode 100644 index 000000000..87056582d --- /dev/null +++ b/liblldb-X.Y.links.in @@ -0,0 +1,4 @@ +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 +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1 + diff --git a/liblldb-X.Y.lintian-overrides.in b/liblldb-X.Y.lintian-overrides.in new file mode 100644 index 000000000..180aec35d --- /dev/null +++ b/liblldb-X.Y.lintian-overrides.in @@ -0,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 diff --git a/libllvm-X.Y-ocaml-dev.META.in b/libllvm-X.Y-ocaml-dev.META.in new file mode 100644 index 000000000..366820d9c --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.META.in @@ -0,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" +) + diff --git a/libllvm-X.Y-ocaml-dev.dirs.in b/libllvm-X.Y-ocaml-dev.dirs.in new file mode 100644 index 000000000..6c9c7364a --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.dirs.in @@ -0,0 +1,2 @@ +@OCAML_STDLIB_DIR@/META/ + diff --git a/libllvm-X.Y-ocaml-dev.install.in b/libllvm-X.Y-ocaml-dev.install.in new file mode 100644 index 000000000..b1e302d36 --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.install.in @@ -0,0 +1,2 @@ +@OCAML_STDLIB_DIR@/llvm-@LLVM_VERSION@ @OCAML_STDLIB_DIR@/ +usr/lib/llvm-@LLVM_VERSION@/docs/ocaml/html/html usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/ diff --git a/libllvm-X.Y-ocaml-dev.lintian-overrides.in b/libllvm-X.Y-ocaml-dev.lintian-overrides.in new file mode 100644 index 000000000..5d25d4425 --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.lintian-overrides.in @@ -0,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 diff --git a/libllvmX.Y.install.in b/libllvmX.Y.install.in new file mode 100644 index 000000000..f8d968f8f --- /dev/null +++ b/libllvmX.Y.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/libllvmX.Y.links.in b/libllvmX.Y.links.in new file mode 100644 index 000000000..067b08842 --- /dev/null +++ b/libllvmX.Y.links.in @@ -0,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 + diff --git a/libllvmX.Y.lintian-overrides.in b/libllvmX.Y.lintian-overrides.in new file mode 100644 index 000000000..49f7ef24e --- /dev/null +++ b/libllvmX.Y.lintian-overrides.in @@ -0,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 diff --git a/lld-X.Y.install.in b/lld-X.Y.install.in new file mode 100644 index 000000000..cb3adaf23 --- /dev/null +++ b/lld-X.Y.install.in @@ -0,0 +1,6 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/ld.lld* +usr/lib/llvm-@LLVM_VERSION@/bin/lld* + +usr/bin/lld-link-@LLVM_VERSION@ +usr/bin/ld.lld-@LLVM_VERSION@ +usr/bin/lld-@LLVM_VERSION@* diff --git a/lldb-X.Y.install.in b/lldb-X.Y.install.in new file mode 100644 index 000000000..0baf795a9 --- /dev/null +++ b/lldb-X.Y.install.in @@ -0,0 +1,9 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/lldb* +usr/lib/llvm-@LLVM_VERSION@/bin/lldb-mi* +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-mi-@LLVM_VERSION@* +usr/bin/lldb-argdumper-@LLVM_VERSION@ diff --git a/lldb-X.Y.lintian-overrides.in b/lldb-X.Y.lintian-overrides.in new file mode 100644 index 000000000..a456a3412 --- /dev/null +++ b/lldb-X.Y.lintian-overrides.in @@ -0,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 diff --git a/lldb-X.Y.manpages.in b/lldb-X.Y.manpages.in new file mode 100644 index 000000000..36a62aea3 --- /dev/null +++ b/lldb-X.Y.manpages.in @@ -0,0 +1,2 @@ +debian/man/lldb-@LLVM_VERSION@.1 +debian/man/lldb-mi-@LLVM_VERSION@.1 diff --git a/lldb-X.Y.postinst.in b/lldb-X.Y.postinst.in new file mode 100644 index 000000000..a5a607104 --- /dev/null +++ b/lldb-X.Y.postinst.in @@ -0,0 +1,8 @@ +#!/bin/sh -e + +if [ "$1" = "configure" ] +then + ldconfig +fi + +#DEBHELPER# diff --git a/llvm-X.Y-dev.dirs.in b/llvm-X.Y-dev.dirs.in new file mode 100644 index 000000000..3b3b5862d --- /dev/null +++ b/llvm-X.Y-dev.dirs.in @@ -0,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@ diff --git a/llvm-X.Y-dev.install.in b/llvm-X.Y-dev.install.in new file mode 100644 index 000000000..13c9d4fd9 --- /dev/null +++ b/llvm-X.Y-dev.install.in @@ -0,0 +1,31 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM*.a +#usr/lib/llvm-@LLVM_VERSION@/lib/libllvm*.a +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/libLLVM-@LLVM_VERSION_FULL@.so +usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.* +usr/lib/llvm-@LLVM_VERSION@/lib/BugpointPasses.so +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 + +utils/vim/indent/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/indent/ + +utils/vim/syntax/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/syntax/ +utils/vim/syntax/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/syntax/ + +utils/vim/ftdetect/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/ftdetect/ +utils/vim/ftdetect/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/ftdetect/ + +utils/vim/ftplugin/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/ftplugin/ +utils/vim/ftplugin/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/ftplugin/ + +utils/vim/llvm-@LLVM_VERSION@-vimrc usr/share/vim/addons + + +utils/emacs/emacs.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ +utils/emacs/llvm-mode.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ +utils/emacs/tablegen-mode.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ + diff --git a/llvm-X.Y-dev.links.in b/llvm-X.Y-dev.links.in new file mode 100644 index 000000000..b3a2a2ae9 --- /dev/null +++ b/llvm-X.Y-dev.links.in @@ -0,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 diff --git a/llvm-X.Y-doc.dirs.in b/llvm-X.Y-doc.dirs.in new file mode 100644 index 000000000..5379e8ece --- /dev/null +++ b/llvm-X.Y-doc.dirs.in @@ -0,0 +1 @@ +usr/share/doc/llvm-@LLVM_VERSION@-doc diff --git a/llvm-X.Y-doc.install.in b/llvm-X.Y-doc.install.in new file mode 100644 index 000000000..6ac115a5e --- /dev/null +++ b/llvm-X.Y-doc.install.in @@ -0,0 +1,6 @@ +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 diff --git a/llvm-X.Y-examples.dirs.in b/llvm-X.Y-examples.dirs.in new file mode 100644 index 000000000..a8b75c661 --- /dev/null +++ b/llvm-X.Y-examples.dirs.in @@ -0,0 +1 @@ +usr/share/doc/llvm-@LLVM_VERSION@-examples diff --git a/llvm-X.Y-examples.examples.in b/llvm-X.Y-examples.examples.in new file mode 100644 index 000000000..e39721e20 --- /dev/null +++ b/llvm-X.Y-examples.examples.in @@ -0,0 +1 @@ +examples/* diff --git a/llvm-X.Y-examples.links.in b/llvm-X.Y-examples.links.in new file mode 100644 index 000000000..a8d74aa2a --- /dev/null +++ b/llvm-X.Y-examples.links.in @@ -0,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 diff --git a/llvm-X.Y-runtime.binfmt.in b/llvm-X.Y-runtime.binfmt.in new file mode 100644 index 000000000..6bb1df78c --- /dev/null +++ b/llvm-X.Y-runtime.binfmt.in @@ -0,0 +1,3 @@ +package llvm-@LLVM_VERSION@-runtime +interpreter /usr/bin/lli-@LLVM_VERSION@ +magic BC diff --git a/llvm-X.Y-runtime.install.in b/llvm-X.Y-runtime.install.in new file mode 100644 index 000000000..d8e16a7c6 --- /dev/null +++ b/llvm-X.Y-runtime.install.in @@ -0,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/ + diff --git a/llvm-X.Y-runtime.lintian-overrides.in b/llvm-X.Y-runtime.lintian-overrides.in new file mode 100644 index 000000000..e94e71309 --- /dev/null +++ b/llvm-X.Y-runtime.lintian-overrides.in @@ -0,0 +1 @@ +llvm-@LLVM_VERSION@-runtime: binary-without-manpage usr/bin/lli-child-target-@LLVM_VERSION@ diff --git a/llvm-X.Y-runtime.manpages.in b/llvm-X.Y-runtime.manpages.in new file mode 100644 index 000000000..839952d03 --- /dev/null +++ b/llvm-X.Y-runtime.manpages.in @@ -0,0 +1 @@ +debian/man/lli* diff --git a/llvm-X.Y-runtime.postinst.in b/llvm-X.Y-runtime.postinst.in new file mode 100644 index 000000000..987b3ea2d --- /dev/null +++ b/llvm-X.Y-runtime.postinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if test "$1" = "configure"; then + if test -x /usr/sbin/update-binfmts; then + update-binfmts --import llvm-@LLVM_VERSION@-runtime.binfmt || true + fi +fi + +#DEBHELPER# diff --git a/llvm-X.Y-runtime.prerm.in b/llvm-X.Y-runtime.prerm.in new file mode 100644 index 000000000..3f16015a2 --- /dev/null +++ b/llvm-X.Y-runtime.prerm.in @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +if test "$1" = "remove"; then + if test -x /usr/sbin/update-binfmts; 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# + diff --git a/llvm-X.Y-tools.dirs.in b/llvm-X.Y-tools.dirs.in new file mode 100644 index 000000000..401df068d --- /dev/null +++ b/llvm-X.Y-tools.dirs.in @@ -0,0 +1,2 @@ +/usr/lib/llvm-@LLVM_VERSION@/build/unittests +/usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/ diff --git a/llvm-X.Y-tools.install.in b/llvm-X.Y-tools.install.in new file mode 100644 index 000000000..db5574f76 --- /dev/null +++ b/llvm-X.Y-tools.install.in @@ -0,0 +1,9 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/count +usr/lib/llvm-@LLVM_VERSION@/bin/FileCheck +usr/lib/llvm-@LLVM_VERSION@/bin/not + +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@ diff --git a/llvm-X.Y.dirs.in b/llvm-X.Y.dirs.in new file mode 100644 index 000000000..56a9655f3 --- /dev/null +++ b/llvm-X.Y.dirs.in @@ -0,0 +1,3 @@ +/usr/lib/llvm-@LLVM_VERSION@/bin +usr/share/man/man1 +usr/share/doc/llvm-@LLVM_VERSION@ diff --git a/llvm-X.Y.install.in b/llvm-X.Y.install.in new file mode 100644 index 000000000..889344844 --- /dev/null +++ b/llvm-X.Y.install.in @@ -0,0 +1,16 @@ +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/bin/llvm-* +usr/bin/opt* +usr/bin/bugpoint* +usr/bin/llc* +usr/bin/obj2yaml-* +usr/bin/yaml2obj-* +usr/bin/verify-uselistorder-* +usr/bin/sanstats-* diff --git a/llvm-X.Y.lintian-overrides.in b/llvm-X.Y.lintian-overrides.in new file mode 100644 index 000000000..35c869467 --- /dev/null +++ b/llvm-X.Y.lintian-overrides.in @@ -0,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 + diff --git a/llvm-X.Y.manpages.in b/llvm-X.Y.manpages.in new file mode 100644 index 000000000..98f095fb6 --- /dev/null +++ b/llvm-X.Y.manpages.in @@ -0,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 diff --git a/llvm-priv-dev.dirs b/llvm-priv-dev.dirs new file mode 100644 index 000000000..dab86638a --- /dev/null +++ b/llvm-priv-dev.dirs @@ -0,0 +1 @@ +/usr/lib/llvm-3.1/build diff --git a/orig-tar.sh b/orig-tar.sh new file mode 100755 index 000000000..d2987579b --- /dev/null +++ b/orig-tar.sh @@ -0,0 +1,193 @@ +#!/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.tar.bz2 +set -e + +# TODO rest of the options + +# To create an rc1 release: +# sh 3.4/debian/orig-tar.sh RELEASE_34 rc1 + +SVN_BASE_URL=http://llvm.org/svn/llvm-project/ +MAJOR_VERSION=3.9 +CURRENT_VERSION=3.9.1 # Should be changed to 3.5.1 later + +if test -n "$1"; then +# http://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/branches/google/stable/ +# For example: sh 3.4/debian/orig-tar.sh release_34 + BRANCH=$1 +fi + +if test -n "$1" -a -n "$2"; then +# http://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/tags/RELEASE_34/rc1/ +# For example: sh 3.4/debian/orig-tar.sh RELEASE_34 rc2 + BRANCH=$1 + TAG=$2 + RCRELEASE="true" +fi + +get_svn_url() { + MODULE=$1 + BRANCH=$2 + TAG=$3 + if test -n "$TAG"; then + SVN_URL="$SVN_BASE_URL/$MODULE/tags/$BRANCH/$TAG" + else + if test -n "$BRANCH"; then + SVN_URL="$SVN_BASE_URL/$MODULE/branches/$BRANCH" + else + SVN_URL="$SVN_BASE_URL/$MODULE/trunk/" + fi + fi + echo $SVN_URL +} + +get_higher_revision() { + PROJECTS="llvm cfe compiler-rt polly lld lldb clang-tools-extra" + REVISION_MAX=0 + for f in $PROJECTS; do + REVISION=$(LANG=C svn info $(get_svn_url $f $BRANCH $TAG)|grep "^Last Changed Rev:"|awk '{print $4}') + if test $REVISION -gt $REVISION_MAX; then + REVISION_MAX=$REVISION + fi + done + echo $REVISION_MAX +} + +SVN_ARCHIVES=svn-archives + +checkout_sources() { + PROJECT=$1 + URL=$2 + TARGET=$3 + BRANCH=$4 + if test -n "$BRANCH"; then + REVISION=$5 + fi + echo "$PROJECT / $URL / $BRANCH / $TARGET / $REVISION" + + cd $SVN_ARCHIVES/ + DEST=$PROJECT-$BRANCH + if test -d $DEST; then + cd $DEST + if test -n "$BRANCH"; then + svn up + else + svn up -r $REVISION + fi + cd .. + else + if test -n "$BRANCH"; then + svn co $URL $DEST + else + svn co -r $REVISION $URL $DEST + fi + fi + rm -rf ../$TARGET + rsync -r --exclude=.svn $DEST/ ../$TARGET + cd .. +} + +if test -n "$BRANCH"; then + REVISION=$(get_higher_revision) + # Do not use the revision when exporting branch. We consider that all the + # branch are sync + SVN_CMD="svn export" +else + REVISION=$(LANG=C svn info $(get_svn_url llvm)|grep "^Revision:"|awk '{print $2}') + SVN_CMD="svn export -r $REVISION" +fi + +if test -n "$RCRELEASE"; then +# VERSION=$MAJOR_VERSION"+"$REVISION # WAS TAG + if test "$TAG" = "final"; then + VERSION=$CURRENT_VERSION + else + VERSION=$CURRENT_VERSION"~+"$TAG + fi + FULL_VERSION="llvm-toolchain-"$MAJOR_VERSION"_"$VERSION +else + VERSION=$CURRENT_VERSION"~svn"$REVISION + if echo $BRANCH|grep -q release_; then + FULL_VERSION="llvm-toolchain-"$MAJOR_VERSION"_"$VERSION + else + FULL_VERSION="llvm-toolchain-snapshot_"$VERSION + fi +fi + +mkdir -p $SVN_ARCHIVES + +# LLVM +LLVM_TARGET=$FULL_VERSION +checkout_sources llvm $(get_svn_url llvm $BRANCH $TAG) $LLVM_TARGET "$BRANCH" $REVISION +tar jcf $FULL_VERSION.orig.tar.bz2 $LLVM_TARGET +rm -rf $LLVM_TARGET + + +# Clang +CLANG_TARGET=clang_$VERSION +checkout_sources clang $(get_svn_url cfe $BRANCH $TAG) $CLANG_TARGET "$BRANCH" $REVISION +tar jcf $FULL_VERSION.orig-clang.tar.bz2 $CLANG_TARGET +rm -rf $CLANG_TARGET + + +# Clang extra +CLANG_TARGET=clang-tools-extra_$VERSION +checkout_sources clang-tools-extra $(get_svn_url clang-tools-extra $BRANCH $TAG) $CLANG_TARGET "$BRANCH" $REVISION +tar jcf $FULL_VERSION.orig-clang-tools-extra.tar.bz2 $CLANG_TARGET +rm -rf $CLANG_TARGET + +# Compiler-rt +COMPILER_RT_TARGET=compiler-rt_$VERSION +checkout_sources compiler-rt $(get_svn_url compiler-rt $BRANCH $TAG) $COMPILER_RT_TARGET "$BRANCH" $REVISION +#$SVN_CMD $(get_svn_url compiler-rt $BRANCH $TAG) $COMPILER_RT_TARGET +tar jcf $FULL_VERSION.orig-compiler-rt.tar.bz2 $COMPILER_RT_TARGET +rm -rf $COMPILER_RT_TARGET + +# Polly +POLLY_TARGET=polly_$VERSION +checkout_sources polly $(get_svn_url polly $BRANCH $TAG) $POLLY_TARGET "$BRANCH" $REVISION +#$SVN_CMD $(get_svn_url polly $BRANCH $TAG) $POLLY_TARGET +rm -rf $POLLY_TARGET/www $POLLY_TARGET/autoconf/config.sub $POLLY_TARGET/autoconf/config.guess +tar jcf $FULL_VERSION.orig-polly.tar.bz2 $POLLY_TARGET +rm -rf $POLLY_TARGET + +# LLD +LLD_TARGET=lld_$VERSION +checkout_sources lld $(get_svn_url lld $BRANCH $TAG) $LLD_TARGET "$BRANCH" $REVISION +#$SVN_CMD $(get_svn_url lld $BRANCH $TAG) $LLD_TARGET +rm -rf $LLD_TARGET/www/ +tar jcf $FULL_VERSION.orig-lld.tar.bz2 $LLD_TARGET +rm -rf $LLD_TARGET + +# LLDB +LLDB_TARGET=lldb_$VERSION +checkout_sources lldb $(get_svn_url lldb $BRANCH $TAG) $LLDB_TARGET "$BRANCH" $REVISION +#$SVN_CMD $(get_svn_url lldb $BRANCH $TAG) $LLDB_TARGET +rm -rf $LLDB_TARGET/www/ +tar jcf $FULL_VERSION.orig-lldb.tar.bz2 $LLDB_TARGET +rm -rf $LLDB_TARGET + +PATH_DEBIAN="$(pwd)/$(dirname $0)/../" +echo "going into $PATH_DEBIAN" +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 diff --git a/patches/0003-Debian-version-info-and-bugreport.patch b/patches/0003-Debian-version-info-and-bugreport.patch new file mode 100644 index 000000000..6d28f0228 --- /dev/null +++ b/patches/0003-Debian-version-info-and-bugreport.patch @@ -0,0 +1,15 @@ +Index: llvm-toolchain-snapshot_3.7~svn241915/lib/Support/CommandLine.cpp +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/lib/Support/CommandLine.cpp ++++ llvm-toolchain-snapshot_3.7~svn241915/lib/Support/CommandLine.cpp +@@ -1747,6 +1747,10 @@ public: + OS << " " << LLVM_VERSION_INFO; + #endif + OS << "\n "; ++#ifdef LLVM_DEBIAN_INFO ++ OS << LLVM_DEBIAN_INFO; ++#endif ++ OS << "\n "; + #ifndef __OPTIMIZE__ + OS << "DEBUG build"; + #else diff --git a/patches/0021-shared-lib-debian.patch b/patches/0021-shared-lib-debian.patch new file mode 100644 index 000000000..b6291fb7c --- /dev/null +++ b/patches/0021-shared-lib-debian.patch @@ -0,0 +1,26 @@ +Index: llvm-toolchain-snapshot_3.7~svn241915/tools/llvm-shlib/Makefile +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/tools/llvm-shlib/Makefile ++++ llvm-toolchain-snapshot_3.7~svn241915/tools/llvm-shlib/Makefile +@@ -41,6 +41,12 @@ LLVMLibsOptions := $(IncludeInLibLlvm:$( + LLVMLibsPaths := $(IncludeInLibLlvm) + + $(LibName.SO): $(LLVMLibsPaths) ++ $(Echo) Linking $(BuildMode) $(SharedLibKindMessage) \ ++ $(LIBRARYNAME)$(SHLIBEXT) ++ $(Verb) $(Link) $(SharedLinkOptions) -o $@ $(ObjectsO) \ ++ $(ProjLibsOptions) $(LLVMLibsOptions) $(LIBS) ++ mv $(LibName.SO) $(LibName.SO).1 ++ ln -s $(notdir $(LibName.SO)).1 $(LibName.SO) + + ifeq ($(HOST_OS),Darwin) + # set dylib internal version number to llvmCore submission number +@@ -61,7 +67,7 @@ endif + + ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD GNU)) + # Add soname to the library. +- LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) ++ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) -Wl,-Bsymbolic-functions + endif + + ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD)) diff --git a/patches/0023-link-libopagent.patch b/patches/0023-link-libopagent.patch new file mode 100644 index 000000000..7a4ac528b --- /dev/null +++ b/patches/0023-link-libopagent.patch @@ -0,0 +1,33 @@ +Index: llvm-toolchain-snapshot_3.7~svn241915/configure +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/configure ++++ llvm-toolchain-snapshot_3.7~svn241915/configure +@@ -10115,7 +10115,7 @@ if test "${with_oprofile+set}" = set; th + case $llvm_cv_os_type in + Linux) + if test -n "$llvm_cv_oppath" ; then +- LIBS="$LIBS -lopagent -L${llvm_cv_oppath} -Wl,-rpath,${llvm_cv_oppath}" ++ #LIBS="$LIBS -lopagent -L${llvm_cv_oppath} -Wl,-rpath,${llvm_cv_oppath}" + { echo "$as_me:$LINENO: checking for library containing bfd_init" >&5 + echo $ECHO_N "checking for library containing bfd_init... $ECHO_C" >&6; } + if test "${ac_cv_search_bfd_init+set}" = set; then +@@ -10211,7 +10211,7 @@ fi + echo "${ECHO_T}$ac_cv_search_bfd_init" >&6; } + ac_res=$ac_cv_search_bfd_init + if test "$ac_res" != no; then +- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" ++ test "$ac_res" = "none required" || true + + fi + +@@ -10247,8 +10247,8 @@ for ac_lib in '' opagent; do + if test -z "$ac_lib"; then + ac_res="none required" + else +- ac_res=-l$ac_lib +- LIBS="-l$ac_lib $ac_func_search_save_LIBS" ++ ac_res="-Wl,--as-needed -l$ac_lib -Wl,--no-as-needed" ++ LIBS="-Wl,--as-needed -l$ac_lib -Wl,--no-as-needed $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext + if { (ac_try="$ac_link" diff --git a/patches/0044-soname.diff b/patches/0044-soname.diff new file mode 100644 index 000000000..31f7a0f52 --- /dev/null +++ b/patches/0044-soname.diff @@ -0,0 +1,25 @@ +Index: llvm-toolchain-snapshot_3.9~svn274438/tools/llvm-shlib/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_3.9~svn274438.orig/tools/llvm-shlib/CMakeLists.txt ++++ llvm-toolchain-snapshot_3.9~svn274438/tools/llvm-shlib/CMakeLists.txt +@@ -37,6 +37,7 @@ if(LLVM_DYLIB_EXPORTED_SYMBOL_FILE) + endif() + + add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) ++set_property(TARGET LLVM PROPERTY VERSION "1") # Append .1 to SONAME + + list(REMOVE_DUPLICATES LIB_NAMES) + if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") # FIXME: It should be "GNU ld for elf" +Index: llvm-toolchain-snapshot_3.9~svn274438/clang/tools/libclang/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_3.9~svn274438.orig/clang/tools/libclang/CMakeLists.txt ++++ llvm-toolchain-snapshot_3.9~svn274438/clang/tools/libclang/CMakeLists.txt +@@ -83,7 +83,7 @@ else() + set(output_name "clang") + endif() + +-add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} ++add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} SONAME + OUTPUT_NAME ${output_name} + ${SOURCES} + DEPENDS clang-headers diff --git a/patches/19-clang_debian_version.patch b/patches/19-clang_debian_version.patch new file mode 100644 index 000000000..c530e14f8 --- /dev/null +++ b/patches/19-clang_debian_version.patch @@ -0,0 +1,21 @@ +Index: llvm-toolchain-snapshot_3.5~svn210337/clang/lib/Basic/Version.cpp +=================================================================== +--- llvm-toolchain-snapshot_3.5~svn210337.orig/clang/lib/Basic/Version.cpp ++++ llvm-toolchain-snapshot_3.5~svn210337/clang/lib/Basic/Version.cpp +@@ -15,6 +15,7 @@ + #include "clang/Basic/LLVM.h" + #include "clang/Config/config.h" + #include "llvm/Support/raw_ostream.h" ++#include "clang/Debian/debian_path.h" + #include + #include + +@@ -125,7 +126,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(); + + // If vendor supplied, include the base LLVM version as well. diff --git a/patches/23-strlcpy_strlcat_warning_removed.diff b/patches/23-strlcpy_strlcat_warning_removed.diff new file mode 100644 index 000000000..a4130f062 --- /dev/null +++ b/patches/23-strlcpy_strlcat_warning_removed.diff @@ -0,0 +1,198 @@ +Index: llvm-toolchain-snapshot_3.7~svn241915/clang/include/clang/Basic/Builtins.def +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/clang/include/clang/Basic/Builtins.def ++++ llvm-toolchain-snapshot_3.7~svn241915/clang/include/clang/Basic/Builtins.def +@@ -475,8 +475,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") +@@ -805,8 +805,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_3.7~svn241915/clang/lib/Sema/SemaChecking.cpp +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/clang/lib/Sema/SemaChecking.cpp ++++ llvm-toolchain-snapshot_3.7~svn241915/clang/lib/Sema/SemaChecking.cpp +@@ -473,8 +473,8 @@ Sema::CheckBuiltinFunctionCall(FunctionD + 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: +@@ -1402,9 +1402,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_3.7~svn241915/clang/lib/AST/Decl.cpp +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/clang/lib/AST/Decl.cpp ++++ llvm-toolchain-snapshot_3.7~svn241915/clang/lib/AST/Decl.cpp +@@ -3242,13 +3242,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_3.7~svn241915/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp ++++ llvm-toolchain-snapshot_3.7~svn241915/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +@@ -237,9 +237,9 @@ GenericTaintChecker::TaintPropagationRul + case Builtin::BIstrncpy: + case Builtin::BIstrncat: + return TaintPropagationRule(1, 2, 0, true); +- case Builtin::BIstrlcpy: +- case Builtin::BIstrlcat: +- return TaintPropagationRule(1, 2, 0, false); ++// case Builtin::BIstrlcpy: ++// case Builtin::BIstrlcat: ++// return TaintPropagationRule(1, 2, 0, false); + case Builtin::BIstrndup: + return TaintPropagationRule(0, 1, ReturnValueIndex); + +Index: llvm-toolchain-snapshot_3.7~svn241915/clang/test/Sema/warn-strlcpycat-size.c +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.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: llvm-toolchain-snapshot_3.7~svn241915/clang/test/Sema/builtins.c +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/clang/test/Sema/builtins.c ++++ llvm-toolchain-snapshot_3.7~svn241915/clang/test/Sema/builtins.c +@@ -190,11 +190,11 @@ 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)); ++// 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}} ++// ptr = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}} + } + + void no_ms_builtins() { +@@ -209,12 +209,12 @@ void unavailable() { + } + + // 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); ++//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 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}} \\ +@@ -229,6 +229,7 @@ void Test19(void) + __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 {{'__builtin___strlcat_chk' will always overflow destination buffer}} ++ */ + } + + // rdar://11076881 diff --git a/patches/26-set-correct-float-abi.diff b/patches/26-set-correct-float-abi.diff new file mode 100644 index 000000000..eb1756ec5 --- /dev/null +++ b/patches/26-set-correct-float-abi.diff @@ -0,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 + +--- +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: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +Index: llvm-toolchain-snapshot_3.9~svn273780/clang/lib/Driver/Tools.cpp +=================================================================== +--- llvm-toolchain-snapshot_3.9~svn273780.orig/clang/lib/Driver/Tools.cpp ++++ llvm-toolchain-snapshot_3.9~svn273780/clang/lib/Driver/Tools.cpp +@@ -811,7 +811,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; diff --git a/patches/27-fix_clang_stdint.diff b/patches/27-fix_clang_stdint.diff new file mode 100644 index 000000000..6cb678021 --- /dev/null +++ b/patches/27-fix_clang_stdint.diff @@ -0,0 +1,29 @@ +Index: llvm-toolchain-snapshot_3.7~svn241915/clang/lib/Headers/stdint.h +=================================================================== +--- llvm-toolchain-snapshot_3.7~svn241915.orig/clang/lib/Headers/stdint.h ++++ llvm-toolchain-snapshot_3.7~svn241915/clang/lib/Headers/stdint.h +@@ -22,8 +22,6 @@ + * + \*===----------------------------------------------------------------------===*/ + +-#ifndef __CLANG_STDINT_H +-#define __CLANG_STDINT_H + + /* If we're hosted, fall back to the system's stdint.h, which might have + * additional definitions. +@@ -72,6 +70,8 @@ + # endif + + #else ++#ifndef __CLANG_STDINT_H ++#define __CLANG_STDINT_H + + /* C99 7.18.1.1 Exact-width integer types. + * C99 7.18.1.2 Minimum-width integer types. +@@ -703,5 +703,5 @@ typedef __UINTMAX_TYPE__ uintmax_t; + #define INTMAX_C(v) __INTN_C(__INTMAX_WIDTH__, v) + #define UINTMAX_C(v) __UINTN_C(__INTMAX_WIDTH__, v) + +-#endif /* __STDC_HOSTED__ */ + #endif /* __CLANG_STDINT_H */ ++#endif /* __STDC_HOSTED__ */ diff --git a/patches/31-powerpcspe.diff b/patches/31-powerpcspe.diff new file mode 100644 index 000000000..8eacce75a --- /dev/null +++ b/patches/31-powerpcspe.diff @@ -0,0 +1,15 @@ +Index: llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Lex/Makefile +=================================================================== +--- llvm-toolchain-snapshot_3.4~svn188990.orig/clang/lib/Lex/Makefile 2013-08-22 09:07:43.368608381 +0200 ++++ llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Lex/Makefile 2013-08-22 09:07:43.368608381 +0200 +@@ -17,8 +17,10 @@ + LIBRARYNAME := clangLex + + ifeq ($(ARCH),PowerPC) ++ifneq ($(shell dpkg-architecture -qDEB_HOST_ARCH),powerpcspe) + CXX.Flags += -maltivec + endif ++endif + + include $(CLANG_LEVEL)/Makefile + diff --git a/patches/34-powerpc-no-altivec.diff b/patches/34-powerpc-no-altivec.diff new file mode 100644 index 000000000..5f0582801 --- /dev/null +++ b/patches/34-powerpc-no-altivec.diff @@ -0,0 +1,24 @@ +Description: Make sure PowerPC doesn't default to altivec on +Author: Adam Conrad +Author: Peter Michael Green +Forwarded: no +Reviewed-By: Colin Watson + +Last-Update: 2013-04-01 + +Index: llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Lex/Makefile +=================================================================== +--- llvm-toolchain-snapshot_3.4~svn188990.orig/clang/lib/Lex/Makefile 2013-08-22 09:11:26.616602695 +0200 ++++ llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Lex/Makefile 2013-08-22 09:11:26.616602695 +0200 +@@ -16,11 +16,5 @@ + + LIBRARYNAME := clangLex + +-ifeq ($(ARCH),PowerPC) +-ifneq ($(shell dpkg-architecture -qDEB_HOST_ARCH),powerpcspe) +-CXX.Flags += -maltivec +-endif +-endif +- + include $(CLANG_LEVEL)/Makefile + diff --git a/patches/857623-allow-opencl-pointer-to-bool.diff b/patches/857623-allow-opencl-pointer-to-bool.diff new file mode 100644 index 000000000..d3c9371fc --- /dev/null +++ b/patches/857623-allow-opencl-pointer-to-bool.diff @@ -0,0 +1,20 @@ +Description: Allow "if (!pointer)" in OpenCL 1.1 + +Used by e.g. Blender on mesa-opencl-icd + +Author: Anastasia Stulova +Origin: upstream https://reviews.llvm.org/rL294313 +Bug: https://bugs.llvm.org/show_bug.cgi?id=30217 +Bug-Debian: https://bugs.debian.org/857623 + +--- llvm-toolchain-3.9-3.9.1.orig/clang/lib/Sema/SemaExpr.cpp ++++ llvm-toolchain-3.9-3.9.1/clang/lib/Sema/SemaExpr.cpp +@@ -11424,7 +11424,7 @@ ExprResult Sema::CreateBuiltinUnaryOp(So + Context.getLangOpts().OpenCLVersion < 120) { + // OpenCL v1.1 6.3.h: The logical operator not (!) does not + // operate on scalar float types. +- if (!resultType->isIntegerType()) ++ if (!resultType->isIntegerType() && !resultType->isPointerType()) + return ExprError(Diag(OpLoc, diag::err_typecheck_unary_expr) + << resultType << Input.get()->getSourceRange()); + } diff --git a/patches/D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff b/patches/D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff new file mode 100644 index 000000000..44b7fb7be --- /dev/null +++ b/patches/D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff @@ -0,0 +1,322 @@ +Index: b/clang/docs/ItaniumMangleAbiTags.rst +=================================================================== +--- /dev/null ++++ b/clang/docs/ItaniumMangleAbiTags.rst +@@ -0,0 +1,101 @@ ++======== ++ABI tags ++======== ++ ++Introduction ++============ ++ ++This text tries to describe gcc semantic for mangling "abi_tag" attributes ++described in https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html ++ ++There is no guarantee the following rules are correct, complete or make sense ++in any way as they were determined empirically by experiments with gcc5. ++ ++Declaration ++=========== ++ ++ABI tags are declared in an abi_tag attribute and can be applied to a ++function, variable, class or inline namespace declaration. The attribute takes ++one or more strings (called tags); the order does not matter. ++ ++See https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html for ++details. ++ ++Tags on an inline namespace are called "implicit tags", all other tags are ++"explicit tags". ++ ++Mangling ++======== ++ ++All tags that are "active" on an are emitted after the ++, before or , and are part of ++the same the is. ++ ++They are mangled as: ++ ++ ::= * # sort by name ++ ::= B ++ ++Example: ++ ++ __attribute__((abi_tag("test"))) ++ void Func(); ++ ++ gets mangled as: _Z4FuncB4testv (prettified as `Func[abi:test]()`) ++ ++Active tags ++=========== ++ ++A namespace does not have any active tags. For types (class / struct / union / ++enum), the explicit tags are the active tags. ++ ++For variables and functions, the active tags are the explicit tags plus any ++"required tags" which are not in the "available tags" set: ++ ++ derived-tags := (required-tags - available-tags) ++ active-tags := explicit-tags + derived-tags ++ ++Required tags for a function ++============================ ++ ++If a function is used as a local scope for another name, and is part of ++another function as local scope, it doesn't have any required tags. ++ ++If a function is used as a local scope for a guard variable name, it doesn't ++have any required tags. ++ ++Otherwise the function requires any implicit or explicit tag used in the name ++for the return type. ++ ++Example: ++ namespace A { ++ inline namespace B __attribute__((abi_tag)) { ++ struct C { int x; }; ++ } ++ } ++ ++ A::C foo(); ++ ++ gets mangled as: _Z3fooB1Bv (prettified as `foo[abi:B]()`) ++ ++Required tags for a variable ++============================ ++ ++A variable requires any implicit or explicit tag used in its type. ++ ++Available tags ++============== ++ ++All tags used in the prefix and in the template arguments for a name are ++available. Also, for functions, all tags from the ++(which might include the return type for template functions) are available. ++ ++For s all active tags used in the local part () are available, but not implicit tags which were not active. ++ ++Implicit and explicit tags used in the for a function (as ++in the type of a cast operator) are NOT available. ++ ++Example: a cast operator to std::string (which is ++std::__cxx11::basic_string<...>) will use 'cxx11' as an active tag, as it is ++required from the return type `std::string` but not available. +Index: b/clang/include/clang/Basic/Attr.td +=================================================================== +--- a/clang/include/clang/Basic/Attr.td ++++ b/clang/include/clang/Basic/Attr.td +@@ -349,6 +349,14 @@ class IgnoredAttr : Attr { + // Attributes begin here + // + ++def AbiTag : Attr { ++ let Spellings = [GCC<"abi_tag">]; ++ let Args = [VariadicStringArgument<"Tags">]; ++ let Subjects = SubjectList<[Struct, Var, Function, Namespace], ErrorDiag, ++ "ExpectedStructClassVariableFunctionOrInlineNamespace">; ++ let Documentation = [AbiTagsDocs]; ++} ++ + def AddressSpace : TypeAttr { + let Spellings = [GNU<"address_space">]; + let Args = [IntArgument<"AddressSpace">]; +Index: b/clang/include/clang/Basic/AttrDocs.td +=================================================================== +--- a/clang/include/clang/Basic/AttrDocs.td ++++ b/clang/include/clang/Basic/AttrDocs.td +@@ -1859,3 +1859,16 @@ Marking virtual functions as ``disable_t + + }]; + } ++ ++def AbiTagsDocs : Documentation { ++ let Content = [{ ++The ``abi_tag`` attribute can be applied to a function, variable, class or ++inline namespace declaration to modify the mangled name of the entity. It gives ++the ability to distinguish between different versions of the same entity but ++with different ABI versions supported. For example, a newer version of a class ++could have a different set of data members and thus have a different size. Using ++the ``abi_tag`` attribute, it is possible to have different mangled names for ++a global variable of the class type. Therefor, the old code could keep using ++the old manged name and the new code will use the new mangled name with tags. ++ }]; ++} +Index: b/clang/include/clang/Basic/DiagnosticSemaKinds.td +=================================================================== +--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td ++++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td +@@ -2434,7 +2434,8 @@ def warn_attribute_wrong_decl_type : War + "Objective-C instance methods|init methods of interface or class extension declarations|" + "variables, functions and classes|Objective-C protocols|" + "functions and global variables|structs, unions, and typedefs|structs and typedefs|" +- "interface or protocol declarations|kernel functions|non-K&R-style functions}1">, ++ "interface or protocol declarations|kernel functions|non-K&R-style functions|" ++ "structs, classes, variables, functions, and inline namespaces}1">, + InGroup; + def err_attribute_wrong_decl_type : Error; + def warn_type_attribute_wrong_type : Warning< +@@ -4144,6 +4145,13 @@ def err_definition_of_explicitly_default + def err_redefinition_extern_inline : Error< + "redefinition of a 'extern inline' function %0 is not supported in " + "%select{C99 mode|C++}1">; ++def warn_attr_abi_tag_namespace : Warning< ++ "'abi_tag' attribute on %select{non-inline|anonymous}0 namespace ignored">, ++ InGroup; ++def err_abi_tag_on_redeclaration : Error< ++ "cannot add 'abi_tag' attribute in a redeclaration">; ++def err_new_abi_tag_on_redeclaration : Error< ++ "'abi_tag' %0 missing in original declaration">; + + def note_deleted_dtor_no_operator_delete : Note< + "virtual destructor requires an unambiguous, accessible 'operator delete'">; +Index: b/clang/include/clang/Sema/AttributeList.h +=================================================================== +--- a/clang/include/clang/Sema/AttributeList.h ++++ b/clang/include/clang/Sema/AttributeList.h +@@ -855,7 +855,8 @@ enum AttributeDeclKind { + ExpectedStructOrTypedef, + ExpectedObjectiveCInterfaceOrProtocol, + ExpectedKernelFunction, +- ExpectedFunctionWithProtoType ++ ExpectedFunctionWithProtoType, ++ ExpectedStructClassVariableFunctionOrInlineNamespace + }; + + } // end namespace clang +Index: b/clang/lib/Sema/SemaDecl.cpp +=================================================================== +--- a/clang/lib/Sema/SemaDecl.cpp ++++ b/clang/lib/Sema/SemaDecl.cpp +@@ -2396,6 +2396,24 @@ void Sema::mergeDeclAttributes(NamedDecl + } + } + ++ // Re-declaration cannot add abi_tag's. ++ if (const auto *NewAbiTagAttr = New->getAttr()) { ++ if (const auto *OldAbiTagAttr = Old->getAttr()) { ++ for (const auto &NewTag : NewAbiTagAttr->tags()) { ++ if (std::find(OldAbiTagAttr->tags_begin(), OldAbiTagAttr->tags_end(), ++ NewTag) == OldAbiTagAttr->tags_end()) { ++ Diag(NewAbiTagAttr->getLocation(), ++ diag::err_new_abi_tag_on_redeclaration) ++ << NewTag; ++ Diag(OldAbiTagAttr->getLocation(), diag::note_previous_declaration); ++ } ++ } ++ } else { ++ Diag(NewAbiTagAttr->getLocation(), diag::err_abi_tag_on_redeclaration); ++ Diag(Old->getLocation(), diag::note_previous_declaration); ++ } ++ } ++ + if (!Old->hasAttrs()) + return; + +Index: b/clang/lib/Sema/SemaDeclAttr.cpp +=================================================================== +--- a/clang/lib/Sema/SemaDeclAttr.cpp ++++ b/clang/lib/Sema/SemaDeclAttr.cpp +@@ -4446,6 +4446,42 @@ static void handleDeclspecThreadAttr(Sem + Attr.getRange(), S.Context, Attr.getAttributeSpellingListIndex())); + } + ++static void handleAbiTagAttr(Sema &S, Decl *D, const AttributeList &Attr) { ++ SmallVector Tags; ++ for (unsigned I = 0, E = Attr.getNumArgs(); I != E; ++I) { ++ StringRef Tag; ++ if (!S.checkStringLiteralArgumentAttr(Attr, I, Tag)) ++ return; ++ Tags.push_back(Tag); ++ } ++ ++ if (const auto *NS = dyn_cast(D)) { ++ if (!NS->isInline()) { ++ S.Diag(Attr.getLoc(), diag::warn_attr_abi_tag_namespace) << 0; ++ return; ++ } ++ if (NS->isAnonymousNamespace()) { ++ S.Diag(Attr.getLoc(), diag::warn_attr_abi_tag_namespace) << 1; ++ return; ++ } ++ if (Attr.getNumArgs() == 0) ++ Tags.push_back(NS->getName()); ++ } else if (!checkAttributeAtLeastNumArgs(S, Attr, 1)) ++ return; ++ ++ // Store tags sorted and without duplicates. ++ std::sort(Tags.begin(), Tags.end()); ++ Tags.erase(std::unique(Tags.begin(), Tags.end()), Tags.end()); ++ ++ D->addAttr(::new (S.Context) ++ AbiTagAttr(Attr.getRange(), S.Context, Tags.data(), Tags.size(), ++ Attr.getAttributeSpellingListIndex())); ++ ++ // FIXME: remove this warning as soon as mangled part is ready. ++ S.Diag(Attr.getRange().getBegin(), diag::warn_attribute_ignored) ++ << Attr.getName(); ++} ++ + static void handleARMInterruptAttr(Sema &S, Decl *D, + const AttributeList &Attr) { + // Check the attribute arguments. +@@ -5360,6 +5396,9 @@ static void ProcessDeclAttribute(Sema &S + case AttributeList::AT_Thread: + handleDeclspecThreadAttr(S, D, Attr); + break; ++ case AttributeList::AT_AbiTag: ++ handleAbiTagAttr(S, D, Attr); ++ break; + + // Thread safety attributes: + case AttributeList::AT_AssertExclusiveLock: +Index: b/clang/test/SemaCXX/attr-abi-tag-syntax.cpp +=================================================================== +--- /dev/null ++++ b/clang/test/SemaCXX/attr-abi-tag-syntax.cpp +@@ -0,0 +1,43 @@ ++// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s ++ ++namespace N1 { ++ ++namespace __attribute__((__abi_tag__)) {} ++// expected-warning@-1 {{'abi_tag' attribute on non-inline namespace ignored}} ++ ++namespace N __attribute__((__abi_tag__)) {} ++// expected-warning@-1 {{'abi_tag' attribute on non-inline namespace ignored}} ++ ++} // namespace N1 ++ ++namespace N2 { ++ ++inline namespace __attribute__((__abi_tag__)) {} ++// expected-warning@-1 {{'abi_tag' attribute on anonymous namespace ignored}} ++ ++inline namespace N __attribute__((__abi_tag__)) {} ++// FIXME: remove this warning as soon as attribute fully supported. ++// expected-warning@-2 {{'__abi_tag__' attribute ignored}} ++ ++} // namespcace N2 ++ ++__attribute__((abi_tag("B", "A"))) extern int a1; ++// FIXME: remove this warning as soon as attribute fully supported. ++// expected-warning@-2 {{'abi_tag' attribute ignored}} ++ ++__attribute__((abi_tag("A", "B"))) extern int a1; ++// expected-note@-1 {{previous declaration is here}} ++// FIXME: remove this warning as soon as attribute fully supported. ++// expected-warning@-3 {{'abi_tag' attribute ignored}} ++ ++__attribute__((abi_tag("A", "C"))) extern int a1; ++// expected-error@-1 {{'abi_tag' C missing in original declaration}} ++// FIXME: remove this warning as soon as attribute fully supported. ++// expected-warning@-3 {{'abi_tag' attribute ignored}} ++ ++extern int a2; ++// expected-note@-1 {{previous declaration is here}} ++__attribute__((abi_tag("A")))extern int a2; ++// expected-error@-1 {{cannot add 'abi_tag' attribute in a redeclaration}} ++// FIXME: remove this warning as soon as attribute fully supported. ++// expected-warning@-3 {{'abi_tag' attribute ignored}} diff --git a/patches/D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff b/patches/D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff new file mode 100644 index 000000000..3f01aa421 --- /dev/null +++ b/patches/D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff @@ -0,0 +1,1234 @@ +Index: b/clang/lib/AST/ItaniumMangle.cpp +=================================================================== +--- a/clang/lib/AST/ItaniumMangle.cpp ++++ b/clang/lib/AST/ItaniumMangle.cpp +@@ -212,6 +212,12 @@ public: + class CXXNameMangler { + ItaniumMangleContextImpl &Context; + raw_ostream &Out; ++ bool NullOut = false; ++ /// In the "DisableDerivedAbiTags" mode derived ABI tags are not calculated. ++ /// This mode is used when mangler creates another mangler recursively to ++ /// calculate ABI tags for the function return value or the variable type. ++ /// Also it is required to avoid infinite recursion in some cases. ++ bool DisableDerivedAbiTags = false; + + /// The "structor" is the top-level declaration being mangled, if + /// that's not a template specialization; otherwise it's the pattern +@@ -261,15 +267,131 @@ class CXXNameMangler { + + } FunctionTypeDepth; + ++ // abi_tag is a gcc attribute, taking one or more strings called "tags". ++ // The goal is to annotate against which version of a library an object was ++ // built and to be able to provide backwards compatibility ("dual abi"). ++ // For more information see docs/ItaniumMangleAbiTags.rst. ++ typedef SmallVector AbiTagList; ++ typedef llvm::SmallSetVector AbiTagSet; ++ ++ // State to gather all implicit and explicit tags used in a mangled name. ++ // Must always have an instance of this while emitting any name to keep ++ // track. ++ class AbiTagState final { ++ //! All abi tags used implicitly or explicitly ++ AbiTagSet UsedAbiTags; ++ //! All explicit abi tags (i.e. not from namespace) ++ AbiTagSet EmittedAbiTags; ++ ++ AbiTagState *&LinkHead; ++ AbiTagState *Parent = nullptr; ++ ++ bool LinkActive = false; ++ ++ public: ++ explicit AbiTagState(AbiTagState *&Head) : LinkHead(Head) { ++ Parent = LinkHead; ++ LinkHead = this; ++ LinkActive = true; ++ } ++ ++ // no copy, no move ++ AbiTagState(const AbiTagState &) = delete; ++ AbiTagState &operator=(const AbiTagState &) = delete; ++ ++ ~AbiTagState() { pop(); } ++ ++ void pop() { ++ if (!LinkActive) ++ return; ++ ++ assert(LinkHead == this && ++ "abi tag link head must point to us on destruction"); ++ LinkActive = false; ++ if (Parent) { ++ Parent->UsedAbiTags.insert(UsedAbiTags.begin(), UsedAbiTags.end()); ++ Parent->EmittedAbiTags.insert(EmittedAbiTags.begin(), ++ EmittedAbiTags.end()); ++ } ++ LinkHead = Parent; ++ } ++ ++ void write(raw_ostream &Out, const NamedDecl *ND, ++ const AbiTagList *AdditionalAbiTags) { ++ ND = cast(ND->getCanonicalDecl()); ++ ++ if (!isa(ND) && !isa(ND)) { ++ assert( ++ !AdditionalAbiTags && ++ "only function and variables need a list of additional abi tags"); ++ if (const auto *NS = dyn_cast(ND)) { ++ if (const auto *AbiTag = NS->getAttr()) { ++ for (const auto &Tag : AbiTag->tags()) { ++ UsedAbiTags.insert(Tag); ++ } ++ } ++ // Don't emit abi tags for namespaces. ++ return; ++ } ++ } ++ ++ AbiTagList TagList; ++ if (const auto *AbiTag = ND->getAttr()) { ++ for (const auto &Tag : AbiTag->tags()) { ++ UsedAbiTags.insert(Tag); ++ // AbiTag->tags() is sorted and has no duplicates ++ TagList.push_back(Tag); ++ } ++ } ++ ++ if (AdditionalAbiTags) { ++ for (const auto &Tag : *AdditionalAbiTags) { ++ UsedAbiTags.insert(Tag); ++ if (std::find(TagList.begin(), TagList.end(), Tag) == TagList.end()) { ++ // don't insert duplicates ++ TagList.push_back(Tag); ++ } ++ } ++ // AbiTag->tags() are already sorted; only add if we had additional tags ++ std::sort(TagList.begin(), TagList.end()); ++ } ++ ++ writeSortedUniqueAbiTags(Out, TagList); ++ } ++ ++ const AbiTagSet &getUsedAbiTags() const { return UsedAbiTags; } ++ void setUsedAbiTags(const AbiTagSet &AbiTags) { ++ UsedAbiTags = AbiTags; ++ } ++ ++ const AbiTagSet &getEmittedAbiTags() const { ++ return EmittedAbiTags; ++ } ++ ++ private: ++ template ++ void writeSortedUniqueAbiTags(raw_ostream &Out, TagList const &AbiTags) { ++ for (const auto &Tag : AbiTags) { ++ EmittedAbiTags.insert(Tag); ++ Out << "B"; ++ Out << Tag.size(); ++ Out << Tag; ++ } ++ } ++ }; ++ ++ AbiTagState *AbiTags = nullptr; ++ AbiTagState AbiTagsRoot; ++ + llvm::DenseMap Substitutions; + + ASTContext &getASTContext() const { return Context.getASTContext(); } + + public: + CXXNameMangler(ItaniumMangleContextImpl &C, raw_ostream &Out_, +- const NamedDecl *D = nullptr) +- : Context(C), Out(Out_), Structor(getStructor(D)), StructorType(0), +- SeqID(0) { ++ const NamedDecl *D = nullptr, bool NullOut_ = false) ++ : Context(C), Out(Out_), NullOut(NullOut_), Structor(getStructor(D)), ++ StructorType(0), SeqID(0), AbiTagsRoot(AbiTags) { + // These can't be mangled without a ctor type or dtor type. + assert(!D || (!isa(D) && + !isa(D))); +@@ -277,11 +399,16 @@ public: + CXXNameMangler(ItaniumMangleContextImpl &C, raw_ostream &Out_, + const CXXConstructorDecl *D, CXXCtorType Type) + : Context(C), Out(Out_), Structor(getStructor(D)), StructorType(Type), +- SeqID(0) { } ++ SeqID(0), AbiTagsRoot(AbiTags) { } + CXXNameMangler(ItaniumMangleContextImpl &C, raw_ostream &Out_, + const CXXDestructorDecl *D, CXXDtorType Type) + : Context(C), Out(Out_), Structor(getStructor(D)), StructorType(Type), +- SeqID(0) { } ++ SeqID(0), AbiTagsRoot(AbiTags) { } ++ ++ CXXNameMangler(CXXNameMangler &Outer, llvm::raw_null_ostream &Out_) ++ : Context(Outer.Context), Out(Out_), NullOut(true), ++ Structor(Outer.Structor), StructorType(Outer.StructorType), ++ SeqID(Outer.SeqID), AbiTagsRoot(AbiTags) {} + + #if MANGLE_CHECKER + ~CXXNameMangler() { +@@ -296,14 +423,18 @@ public: + #endif + raw_ostream &getStream() { return Out; } + ++ void disableDerivedAbiTags() { DisableDerivedAbiTags = true; } ++ static bool shouldHaveAbiTags(ItaniumMangleContextImpl &C, const VarDecl *VD); ++ + void mangle(const NamedDecl *D); + void mangleCallOffset(int64_t NonVirtual, int64_t Virtual); + void mangleNumber(const llvm::APSInt &I); + void mangleNumber(int64_t Number); + void mangleFloat(const llvm::APFloat &F); +- void mangleFunctionEncoding(const FunctionDecl *FD); ++ void mangleFunctionEncoding(const FunctionDecl *FD, ++ bool ExcludeUnqualifiedName = false); + void mangleSeqID(unsigned SeqID); +- void mangleName(const NamedDecl *ND); ++ void mangleName(const NamedDecl *ND, bool ExcludeUnqualifiedName = false); + void mangleType(QualType T); + void mangleNameOrStandardSubstitution(const NamedDecl *ND); + +@@ -334,31 +465,53 @@ private: + DeclarationName name, + unsigned KnownArity = UnknownArity); + +- void mangleName(const TemplateDecl *TD, +- const TemplateArgument *TemplateArgs, +- unsigned NumTemplateArgs); +- void mangleUnqualifiedName(const NamedDecl *ND) { +- mangleUnqualifiedName(ND, ND->getDeclName(), UnknownArity); ++ void mangleFunctionEncodingBareType(const FunctionDecl *FD); ++ ++ void mangleNameWithAbiTags(const NamedDecl *ND, ++ const AbiTagList *AdditionalAbiTags, ++ bool ExcludeUnqualifiedName); ++ void mangleTemplateName(const TemplateDecl *TD, ++ const AbiTagList *AdditionalAbiTags, ++ bool ExcludeUnqualifiedName, ++ const TemplateArgument *TemplateArgs, ++ unsigned NumTemplateArgs); ++ void mangleUnqualifiedName(const NamedDecl *ND, ++ const AbiTagList *AdditionalAbiTags) { ++ mangleUnqualifiedName(ND, ND->getDeclName(), UnknownArity, ++ AdditionalAbiTags); + } + void mangleUnqualifiedName(const NamedDecl *ND, DeclarationName Name, +- unsigned KnownArity); +- void mangleUnscopedName(const NamedDecl *ND); +- void mangleUnscopedTemplateName(const TemplateDecl *ND); +- void mangleUnscopedTemplateName(TemplateName); ++ unsigned KnownArity, ++ const AbiTagList *AdditionalAbiTags); ++ void mangleUnscopedName(const NamedDecl *ND, ++ const AbiTagList *AdditionalAbiTags); ++ void mangleUnscopedTemplateName(const TemplateDecl *ND, ++ const AbiTagList *AdditionalAbiTags); ++ void mangleUnscopedTemplateName(TemplateName, ++ const AbiTagList *AdditionalAbiTags); + void mangleSourceName(const IdentifierInfo *II); +- void mangleLocalName(const Decl *D); ++ void mangleLocalName(const Decl *D, ++ const AbiTagList *AdditionalAbiTags, ++ bool ExcludeUnqualifiedName); + void mangleBlockForPrefix(const BlockDecl *Block); + void mangleUnqualifiedBlock(const BlockDecl *Block); + void mangleLambda(const CXXRecordDecl *Lambda); + void mangleNestedName(const NamedDecl *ND, const DeclContext *DC, +- bool NoFunction=false); ++ const AbiTagList *AdditionalAbiTags, ++ bool NoFunction, ++ bool ExcludeUnqualifiedName); + void mangleNestedName(const TemplateDecl *TD, ++ const AbiTagList *AdditionalAbiTags, ++ bool ExcludeUnqualifiedName, + const TemplateArgument *TemplateArgs, + unsigned NumTemplateArgs); + void manglePrefix(NestedNameSpecifier *qualifier); + void manglePrefix(const DeclContext *DC, bool NoFunction=false); + void manglePrefix(QualType type); +- void mangleTemplatePrefix(const TemplateDecl *ND, bool NoFunction=false); ++ void mangleTemplatePrefix(const TemplateDecl *ND, ++ const AbiTagList *AdditionalAbiTags, ++ bool NoFunction = false, ++ bool ExcludeUnqualifiedName = false); + void mangleTemplatePrefix(TemplateName Template); + bool mangleUnresolvedTypeOrSimpleId(QualType DestroyedType, + StringRef Prefix = ""); +@@ -405,6 +558,13 @@ private: + void mangleTemplateParameter(unsigned Index); + + void mangleFunctionParam(const ParmVarDecl *parm); ++ ++ void writeAbiTags(const NamedDecl *ND, ++ const AbiTagList *AdditionalAbiTags = nullptr); ++ ++ AbiTagSet getTagsFromPrefixAndTemplateArguments(const NamedDecl *ND); ++ AbiTagList makeAdditionalTagsForFunction(const FunctionDecl *FD); ++ AbiTagList makeAdditionalTagsForVariable(const VarDecl *VD); + }; + + } +@@ -448,6 +608,7 @@ bool ItaniumMangleContextImpl::shouldMan + while (!DC->isNamespace() && !DC->isTranslationUnit()) + DC = getEffectiveParentContext(DC); + if (DC->isTranslationUnit() && D->getFormalLinkage() != InternalLinkage && ++ !CXXNameMangler::shouldHaveAbiTags(*this, VD) && + !isa(D)) + return false; + } +@@ -455,6 +616,12 @@ bool ItaniumMangleContextImpl::shouldMan + return true; + } + ++void CXXNameMangler::writeAbiTags(const NamedDecl *ND, ++ const AbiTagList *AdditionalAbiTags) { ++ assert(AbiTags && "require AbiTagState"); ++ AbiTags->write(Out, ND, DisableDerivedAbiTags ? nullptr : AdditionalAbiTags); ++} ++ + void CXXNameMangler::mangle(const NamedDecl *D) { + // ::= _Z + // ::= +@@ -470,14 +637,31 @@ void CXXNameMangler::mangle(const NamedD + mangleName(cast(D)); + } + +-void CXXNameMangler::mangleFunctionEncoding(const FunctionDecl *FD) { +- // ::= +- mangleName(FD); +- ++void CXXNameMangler::mangleFunctionEncoding(const FunctionDecl *FD, ++ bool ExcludeUnqualifiedName) { + // Don't mangle in the type if this isn't a decl we should typically mangle. +- if (!Context.shouldMangleDeclName(FD)) ++ if (!Context.shouldMangleDeclName(FD)) { ++ mangleNameWithAbiTags(FD, /* AdditionalAbiTags */ nullptr, ++ ExcludeUnqualifiedName); + return; ++ } ++ ++ // ::= ++ ++ if (ExcludeUnqualifiedName) { ++ // running makeAdditionalTagsForFunction would loop, don't need it here ++ // anyway ++ mangleNameWithAbiTags(FD, /* AdditionalAbiTags */ nullptr, ++ ExcludeUnqualifiedName); ++ } else { ++ AbiTagList AdditionalAbiTags = makeAdditionalTagsForFunction(FD); ++ mangleNameWithAbiTags(FD, &AdditionalAbiTags, ExcludeUnqualifiedName); ++ } + ++ mangleFunctionEncodingBareType(FD); ++} ++ ++void CXXNameMangler::mangleFunctionEncodingBareType(const FunctionDecl *FD) { + if (FD->hasAttr()) { + FunctionTypeDepthState Saved = FunctionTypeDepth.push(); + Out << "Ua9enable_ifI"; +@@ -581,7 +765,24 @@ isTemplate(const NamedDecl *ND, const Te + return nullptr; + } + +-void CXXNameMangler::mangleName(const NamedDecl *ND) { ++// Must not be run from mangleLocalName for the as it would loop ++// otherwise. ++void CXXNameMangler::mangleName(const NamedDecl *ND, ++ bool ExcludeUnqualifiedName) { ++ if (!ExcludeUnqualifiedName) { ++ if (const auto *VD = dyn_cast(ND)) { ++ AbiTagList VariableAdditionalAbiTags = makeAdditionalTagsForVariable(VD); ++ mangleNameWithAbiTags(VD, &VariableAdditionalAbiTags, ++ ExcludeUnqualifiedName); ++ return; ++ } ++ } ++ mangleNameWithAbiTags(ND, nullptr, ExcludeUnqualifiedName); ++} ++ ++void CXXNameMangler::mangleNameWithAbiTags(const NamedDecl *ND, ++ const AbiTagList *AdditionalAbiTags, ++ bool ExcludeUnqualifiedName) { + // ::= + // ::= + // ::= +@@ -597,7 +798,7 @@ void CXXNameMangler::mangleName(const Na + while (!DC->isNamespace() && !DC->isTranslationUnit()) + DC = getEffectiveParentContext(DC); + else if (GetLocalClassDecl(ND)) { +- mangleLocalName(ND); ++ mangleLocalName(ND, AdditionalAbiTags, ExcludeUnqualifiedName); + return; + } + +@@ -607,76 +808,93 @@ void CXXNameMangler::mangleName(const Na + // Check if we have a template. + const TemplateArgumentList *TemplateArgs = nullptr; + if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) { +- mangleUnscopedTemplateName(TD); ++ if (!ExcludeUnqualifiedName) ++ mangleUnscopedTemplateName(TD, AdditionalAbiTags); + mangleTemplateArgs(*TemplateArgs); + return; + } + +- mangleUnscopedName(ND); ++ if (!ExcludeUnqualifiedName) ++ mangleUnscopedName(ND, AdditionalAbiTags); + return; + } + + if (isLocalContainerContext(DC)) { +- mangleLocalName(ND); ++ mangleLocalName(ND, AdditionalAbiTags, ExcludeUnqualifiedName); + return; + } + +- mangleNestedName(ND, DC); ++ mangleNestedName(ND, DC, AdditionalAbiTags, /* NoFunction */ false, ++ ExcludeUnqualifiedName); + } +-void CXXNameMangler::mangleName(const TemplateDecl *TD, +- const TemplateArgument *TemplateArgs, +- unsigned NumTemplateArgs) { ++ ++void CXXNameMangler::mangleTemplateName(const TemplateDecl *TD, ++ const AbiTagList *AdditionalAbiTags, ++ bool ExcludeUnqualifiedName, ++ const TemplateArgument *TemplateArgs, ++ unsigned NumTemplateArgs) { + const DeclContext *DC = IgnoreLinkageSpecDecls(getEffectiveDeclContext(TD)); + + if (DC->isTranslationUnit() || isStdNamespace(DC)) { +- mangleUnscopedTemplateName(TD); ++ if (!ExcludeUnqualifiedName) ++ mangleUnscopedTemplateName(TD, AdditionalAbiTags); + mangleTemplateArgs(TemplateArgs, NumTemplateArgs); + } else { +- mangleNestedName(TD, TemplateArgs, NumTemplateArgs); ++ mangleNestedName(TD, AdditionalAbiTags, ExcludeUnqualifiedName, ++ TemplateArgs, NumTemplateArgs); + } + } + +-void CXXNameMangler::mangleUnscopedName(const NamedDecl *ND) { ++void CXXNameMangler::mangleUnscopedName(const NamedDecl *ND, ++ const AbiTagList *AdditionalAbiTags) { + // ::= + // ::= St # ::std:: + + if (isStdNamespace(IgnoreLinkageSpecDecls(getEffectiveDeclContext(ND)))) + Out << "St"; + +- mangleUnqualifiedName(ND); ++ mangleUnqualifiedName(ND, AdditionalAbiTags); + } + +-void CXXNameMangler::mangleUnscopedTemplateName(const TemplateDecl *ND) { ++void CXXNameMangler::mangleUnscopedTemplateName( ++ const TemplateDecl *ND, const AbiTagList *AdditionalAbiTags) { + // ::= + // ::= + if (mangleSubstitution(ND)) + return; + + // ::= +- if (const auto *TTP = dyn_cast(ND)) ++ if (const auto *TTP = dyn_cast(ND)) { ++ assert(!AdditionalAbiTags && ++ "template template param cannot have abi tags"); + mangleTemplateParameter(TTP->getIndex()); +- else +- mangleUnscopedName(ND->getTemplatedDecl()); ++ } else { ++ mangleUnscopedName(ND->getTemplatedDecl(), AdditionalAbiTags); ++ } + + addSubstitution(ND); + } + +-void CXXNameMangler::mangleUnscopedTemplateName(TemplateName Template) { ++void CXXNameMangler::mangleUnscopedTemplateName( ++ TemplateName Template, const AbiTagList *AdditionalAbiTags) { + // ::= + // ::= + if (TemplateDecl *TD = Template.getAsTemplateDecl()) +- return mangleUnscopedTemplateName(TD); ++ return mangleUnscopedTemplateName(TD, AdditionalAbiTags); + + if (mangleSubstitution(Template)) + return; + ++ assert(!AdditionalAbiTags && ++ "dependent template name cannot have abi tags"); ++ + DependentTemplateName *Dependent = Template.getAsDependentTemplateName(); + assert(Dependent && "Not a dependent template name?"); + if (const IdentifierInfo *Id = Dependent->getIdentifier()) + mangleSourceName(Id); + else + mangleOperatorName(Dependent->getOperator(), UnknownArity); +- ++ + addSubstitution(Template); + } + +@@ -835,6 +1053,7 @@ void CXXNameMangler::mangleUnresolvedPre + else + Out << "sr"; + mangleSourceName(qualifier->getAsNamespace()->getIdentifier()); ++ writeAbiTags(qualifier->getAsNamespace()); + break; + case NestedNameSpecifier::NamespaceAlias: + if (qualifier->getPrefix()) +@@ -843,6 +1062,7 @@ void CXXNameMangler::mangleUnresolvedPre + else + Out << "sr"; + mangleSourceName(qualifier->getAsNamespaceAlias()->getIdentifier()); ++ writeAbiTags(qualifier->getAsNamespaceAlias()); + break; + + case NestedNameSpecifier::TypeSpec: +@@ -877,6 +1097,7 @@ void CXXNameMangler::mangleUnresolvedPre + Out << "sr"; + + mangleSourceName(qualifier->getAsIdentifier()); ++ // an Identifier has no type information, so we can't emit abi tags for it + break; + } + +@@ -922,7 +1143,8 @@ void CXXNameMangler::mangleUnresolvedNam + + void CXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND, + DeclarationName Name, +- unsigned KnownArity) { ++ unsigned KnownArity, ++ const AbiTagList *AdditionalAbiTags) { + unsigned Arity = KnownArity; + // ::= + // ::= +@@ -941,6 +1163,7 @@ void CXXNameMangler::mangleUnqualifiedNa + Out << 'L'; + + mangleSourceName(II); ++ writeAbiTags(ND, AdditionalAbiTags); + break; + } + +@@ -980,6 +1203,7 @@ void CXXNameMangler::mangleUnqualifiedNa + assert(FD->getIdentifier() && "Data member name isn't an identifier!"); + + mangleSourceName(FD->getIdentifier()); ++ // Not emitting abi tags: internal name anyway + break; + } + +@@ -1000,6 +1224,10 @@ void CXXNameMangler::mangleUnqualifiedNa + assert(D->getDeclName().getAsIdentifierInfo() && + "Typedef was not named!"); + mangleSourceName(D->getDeclName().getAsIdentifierInfo()); ++ assert(!AdditionalAbiTags && "Type cannot have additional abi tags"); ++ // explicit abi tags are still possible; take from underlying type, not ++ // from typedef. ++ writeAbiTags(TD, nullptr); + break; + } + +@@ -1009,6 +1237,8 @@ void CXXNameMangler::mangleUnqualifiedNa + // ::= + # Parameter types or 'v' for 'void'. + if (const CXXRecordDecl *Record = dyn_cast(TD)) { + if (Record->isLambda() && Record->getLambdaManglingNumber()) { ++ assert(!AdditionalAbiTags && ++ "Lambda type cannot have additional abi tags"); + mangleLambda(Record); + break; + } +@@ -1020,11 +1250,13 @@ void CXXNameMangler::mangleUnqualifiedNa + if (UnnamedMangle > 1) + Out << UnnamedMangle - 2; + Out << '_'; ++ writeAbiTags(TD, AdditionalAbiTags); + break; + } + +- // Get a unique id for the anonymous struct. +- unsigned AnonStructId = Context.getAnonymousStructId(TD); ++ // Get a unique id for the anonymous struct. If it is not a real output ++ // ID doesn't matter so use fake one. ++ unsigned AnonStructId = NullOut ? 0 : Context.getAnonymousStructId(TD); + + // Mangle it as a source name in the form + // [n] $_ +@@ -1052,6 +1284,7 @@ void CXXNameMangler::mangleUnqualifiedNa + // Otherwise, use the complete constructor name. This is relevant if a + // class with a constructor is declared within a constructor. + mangleCXXCtorType(Ctor_Complete); ++ writeAbiTags(ND, AdditionalAbiTags); + break; + + case DeclarationName::CXXDestructorName: +@@ -1063,6 +1296,7 @@ void CXXNameMangler::mangleUnqualifiedNa + // Otherwise, use the complete destructor name. This is relevant if a + // class with a destructor is declared within a destructor. + mangleCXXDtorType(Dtor_Complete); ++ writeAbiTags(ND, AdditionalAbiTags); + break; + + case DeclarationName::CXXOperatorName: +@@ -1078,6 +1312,7 @@ void CXXNameMangler::mangleUnqualifiedNa + case DeclarationName::CXXConversionFunctionName: + case DeclarationName::CXXLiteralOperatorName: + mangleOperatorName(Name, Arity); ++ writeAbiTags(ND, AdditionalAbiTags); + break; + + case DeclarationName::CXXUsingDirective: +@@ -1094,7 +1329,9 @@ void CXXNameMangler::mangleSourceName(co + + void CXXNameMangler::mangleNestedName(const NamedDecl *ND, + const DeclContext *DC, +- bool NoFunction) { ++ const AbiTagList *AdditionalAbiTags, ++ bool NoFunction, ++ bool ExcludeUnqualifiedName) { + // + // ::= N [] [] E + // ::= N [] [] +@@ -1114,30 +1351,36 @@ void CXXNameMangler::mangleNestedName(co + // Check if we have a template. + const TemplateArgumentList *TemplateArgs = nullptr; + if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) { +- mangleTemplatePrefix(TD, NoFunction); ++ mangleTemplatePrefix(TD, AdditionalAbiTags, NoFunction, ++ ExcludeUnqualifiedName); + mangleTemplateArgs(*TemplateArgs); + } + else { + manglePrefix(DC, NoFunction); +- mangleUnqualifiedName(ND); ++ if (!ExcludeUnqualifiedName) ++ mangleUnqualifiedName(ND, AdditionalAbiTags); + } + + Out << 'E'; + } + void CXXNameMangler::mangleNestedName(const TemplateDecl *TD, ++ const AbiTagList *AdditionalAbiTags, ++ bool ExcludeUnqualifiedName, + const TemplateArgument *TemplateArgs, + unsigned NumTemplateArgs) { + // ::= N [] E + + Out << 'N'; + +- mangleTemplatePrefix(TD); ++ mangleTemplatePrefix(TD, AdditionalAbiTags, ExcludeUnqualifiedName); + mangleTemplateArgs(TemplateArgs, NumTemplateArgs); + + Out << 'E'; + } + +-void CXXNameMangler::mangleLocalName(const Decl *D) { ++void CXXNameMangler::mangleLocalName(const Decl *D, ++ const AbiTagList *AdditionalAbiTags, ++ bool ExcludeUnqualifiedName) { + // := Z E [] + // := Z E s [] + // := Z E d [ ] +@@ -1149,15 +1392,26 @@ void CXXNameMangler::mangleLocalName(con + + Out << 'Z'; + +- if (const ObjCMethodDecl *MD = dyn_cast(DC)) +- mangleObjCMethodName(MD); +- else if (const BlockDecl *BD = dyn_cast(DC)) +- mangleBlockForPrefix(BD); +- else +- mangleFunctionEncoding(cast(DC)); ++ { ++ AbiTagState LocalAbiTags(AbiTags); ++ ++ if (const ObjCMethodDecl *MD = dyn_cast(DC)) ++ mangleObjCMethodName(MD); ++ else if (const BlockDecl *BD = dyn_cast(DC)) ++ mangleBlockForPrefix(BD); ++ else ++ mangleFunctionEncoding(cast(DC)); ++ ++ // Implicit ABI tags (from namespace) are not available in the following ++ // entity; reset to actually emitted tags, which are available. ++ LocalAbiTags.setUsedAbiTags(LocalAbiTags.getEmittedAbiTags()); ++ } + + Out << 'E'; + ++ // GCC 5.3.0 doesn't emit derived ABI tags for local names but that seems to ++ // be a bug that is fixed in trunk. ++ + if (RD) { + // The parameter number is omitted for the last parameter, 0 for the + // second-to-last parameter, 1 for the third-to-last parameter, etc. The +@@ -1182,13 +1436,17 @@ void CXXNameMangler::mangleLocalName(con + // Mangle the name relative to the closest enclosing function. + // equality ok because RD derived from ND above + if (D == RD) { +- mangleUnqualifiedName(RD); ++ if (!ExcludeUnqualifiedName) ++ mangleUnqualifiedName(RD, AdditionalAbiTags); + } else if (const BlockDecl *BD = dyn_cast(D)) { + manglePrefix(getEffectiveDeclContext(BD), true /*NoFunction*/); +- mangleUnqualifiedBlock(BD); ++ assert(!AdditionalAbiTags && "Block cannot have additional abi tags"); ++ if (!ExcludeUnqualifiedName) ++ mangleUnqualifiedBlock(BD); + } else { + const NamedDecl *ND = cast(D); +- mangleNestedName(ND, getEffectiveDeclContext(ND), true /*NoFunction*/); ++ mangleNestedName(ND, getEffectiveDeclContext(ND), AdditionalAbiTags, ++ true /*NoFunction*/, ExcludeUnqualifiedName); + } + } else if (const BlockDecl *BD = dyn_cast(D)) { + // Mangle a block in a default parameter; see above explanation for +@@ -1205,30 +1463,37 @@ void CXXNameMangler::mangleLocalName(con + } + } + +- mangleUnqualifiedBlock(BD); ++ assert(!AdditionalAbiTags && "Block cannot have additional abi tags"); ++ if (!ExcludeUnqualifiedName) ++ mangleUnqualifiedBlock(BD); + } else { +- mangleUnqualifiedName(cast(D)); ++ if (!ExcludeUnqualifiedName) ++ mangleUnqualifiedName(cast(D), AdditionalAbiTags); + } + +- if (const NamedDecl *ND = dyn_cast(RD ? RD : D)) { +- unsigned disc; +- if (Context.getNextDiscriminator(ND, disc)) { +- if (disc < 10) +- Out << '_' << disc; +- else +- Out << "__" << disc << '_'; ++ if (!ExcludeUnqualifiedName) { ++ if (const NamedDecl *ND = dyn_cast(RD ? RD : D)) { ++ unsigned disc; ++ if (Context.getNextDiscriminator(ND, disc)) { ++ if (disc < 10) ++ Out << '_' << disc; ++ else ++ Out << "__" << disc << '_'; ++ } + } + } + } + + void CXXNameMangler::mangleBlockForPrefix(const BlockDecl *Block) { + if (GetLocalClassDecl(Block)) { +- mangleLocalName(Block); ++ mangleLocalName(Block, /* AdditionalAbiTags */ nullptr, ++ /* ExcludeUnqualifiedName */ false); + return; + } + const DeclContext *DC = getEffectiveDeclContext(Block); + if (isLocalContainerContext(DC)) { +- mangleLocalName(Block); ++ mangleLocalName(Block, /* AdditionalAbiTags */ nullptr, ++ /* ExcludeUnqualifiedName */ false); + return; + } + manglePrefix(getEffectiveDeclContext(Block)); +@@ -1239,10 +1504,11 @@ void CXXNameMangler::mangleUnqualifiedBl + if (Decl *Context = Block->getBlockManglingContextDecl()) { + if ((isa(Context) || isa(Context)) && + Context->getDeclContext()->isRecord()) { +- if (const IdentifierInfo *Name +- = cast(Context)->getIdentifier()) { ++ const auto *ND = cast(Context); ++ if (const IdentifierInfo *Name = ND->getIdentifier()) { + mangleSourceName(Name); +- Out << 'M'; ++ writeAbiTags(ND, /* AdditionalAbiTags */ nullptr); ++ Out << 'M'; + } + } + } +@@ -1275,7 +1541,7 @@ void CXXNameMangler::mangleLambda(const + if (const IdentifierInfo *Name + = cast(Context)->getIdentifier()) { + mangleSourceName(Name); +- Out << 'M'; ++ Out << 'M'; + } + } + } +@@ -1358,11 +1624,11 @@ void CXXNameMangler::manglePrefix(const + // Check if we have a template. + const TemplateArgumentList *TemplateArgs = nullptr; + if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) { +- mangleTemplatePrefix(TD); ++ mangleTemplatePrefix(TD, /* AdditionalAbiTags */ nullptr); + mangleTemplateArgs(*TemplateArgs); + } else { + manglePrefix(getEffectiveDeclContext(ND), NoFunction); +- mangleUnqualifiedName(ND); ++ mangleUnqualifiedName(ND, /* AdditionalAbiTags */ nullptr); + } + + addSubstitution(ND); +@@ -1373,27 +1639,30 @@ void CXXNameMangler::mangleTemplatePrefi + // ::= + // ::= + if (TemplateDecl *TD = Template.getAsTemplateDecl()) +- return mangleTemplatePrefix(TD); ++ return mangleTemplatePrefix(TD, /* AdditionalAbiTags */ nullptr); + + if (QualifiedTemplateName *Qualified = Template.getAsQualifiedTemplateName()) + manglePrefix(Qualified->getQualifier()); +- ++ + if (OverloadedTemplateStorage *Overloaded + = Template.getAsOverloadedTemplate()) { + mangleUnqualifiedName(nullptr, (*Overloaded->begin())->getDeclName(), +- UnknownArity); ++ UnknownArity, ++ /* AdditionalAbiTags */ nullptr); + return; + } +- ++ + DependentTemplateName *Dependent = Template.getAsDependentTemplateName(); + assert(Dependent && "Unknown template name kind?"); + if (NestedNameSpecifier *Qualifier = Dependent->getQualifier()) + manglePrefix(Qualifier); +- mangleUnscopedTemplateName(Template); ++ mangleUnscopedTemplateName(Template, /* AdditionalAbiTags */ nullptr); + } + + void CXXNameMangler::mangleTemplatePrefix(const TemplateDecl *ND, +- bool NoFunction) { ++ const AbiTagList *AdditionalAbiTags, ++ bool NoFunction, ++ bool ExcludeUnqualifiedName) { + // ::=