From fe907e007dbe78a7577b1930c4010ba47ebaeffc Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 4 Jun 2013 13:40:22 +0000 Subject: [PATCH 01/16] Remove powerpc from the package using binutils-gold --- debian/changelog | 6 ++++++ debian/control | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 0a5f0408..17aca131 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +llvm-toolchain-3.3 (1:3.3~+rc3-1~exp2) UNRELEASED; urgency=low + + * Remove powerpc from the package using binutils-gold + + -- + llvm-toolchain-3.3 (1:3.3~+rc3-1~exp1) experimental; urgency=low * Package of the testing release (3.3 rc3) diff --git a/debian/control b/debian/control index fb0d274d..3acaf6e1 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl8.5, expect, sharutils, autotools-dev (>= 20060702.1), libffi-dev (>= 3.0.9), lsb-release, patchutils, diffstat, xz-utils, chrpath, python-dev, libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libcloog-isl-dev, - libisl-dev (>= 0.11.1), binutils-gold [amd64 armel armhf i386 powerpc powerpcspe ppc64 sparc sparc64 x32], + libisl-dev (>= 0.11.1), binutils-gold [amd64 armel armhf i386 powerpcspe ppc64 sparc sparc64 x32], lcov, procps Build-Conflicts: oprofile, ocaml Standards-Version: 3.9.4 From 2d1bf9c69be1da2f3febe98ce2cb4a48f98972aa Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 4 Jun 2013 14:25:57 +0000 Subject: [PATCH 02/16] Print the lldb test failures --- debian/changelog | 1 + debian/rules | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/debian/changelog b/debian/changelog index 17aca131..5eda66cf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ llvm-toolchain-3.3 (1:3.3~+rc3-1~exp2) UNRELEASED; urgency=low * Remove powerpc from the package using binutils-gold + * Print the lldb test failures -- diff --git a/debian/rules b/debian/rules index 0706eed4..d683e073 100755 --- a/debian/rules +++ b/debian/rules @@ -226,6 +226,10 @@ override_dh_auto_test: cd $(TARGET_BUILD)/Release/lib/python2.7/site-packages/lldb && if test ! -h _lldb.so -o ! -f _lldb.so; then ln -s ../../../liblldb.so _lldb.so; fi cd $(TARGET_BUILD)/Release/lib/python2.7/site-packages/lldb && if test ! -h libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT) -o ! -f _lldb.so; then ln -s ../../../libLLVM-$(LLVM_VERSION).so libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT); fi cd $(TARGET_BUILD)/ && $(MAKE) -C tools/lldb/test || true + if test -d $(TARGET_BUILD)/lldb-test-traces/; then \ + cat $(TARGET_BUILD)/lldb-test-traces/*; \ + fi + # Managed by debian build system rm -f $(CURDIR)/$(TARGET_BUILD)/Release/lib/python*/site-packages/lldb/_lldb.so # polly tests From 1a9e46d4e33f3a220f09f740214cf2509d454b47 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 5 Jun 2013 06:18:42 +0000 Subject: [PATCH 03/16] * Do not use binutils-gold for powerpc * Create the compiler-rt directory for unsupported platforms --- debian/changelog | 3 ++- debian/rules | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 5eda66cf..36b64b59 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,8 @@ llvm-toolchain-3.3 (1:3.3~+rc3-1~exp2) UNRELEASED; urgency=low - * Remove powerpc from the package using binutils-gold + * Do not use binutils-gold for powerpc * Print the lldb test failures + * Create the compiler-rt directory for unsupported platforms -- diff --git a/debian/rules b/debian/rules index d683e073..e8c7ee65 100755 --- a/debian/rules +++ b/debian/rules @@ -167,6 +167,8 @@ override_dh_auto_install: # Create this fake directory to make the install libclang-common-dev happy # under the unsupported archs of compiler-rt mkdir -p $(CURDIR)/debian/tmp/usr/lib/clang/$(LLVM_VERSION)/lib + mkdir -p $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_V + # Rename binaries mkdir -p $(CURDIR)/debian/tmp/usr/bin/ @@ -226,8 +228,8 @@ override_dh_auto_test: cd $(TARGET_BUILD)/Release/lib/python2.7/site-packages/lldb && if test ! -h _lldb.so -o ! -f _lldb.so; then ln -s ../../../liblldb.so _lldb.so; fi cd $(TARGET_BUILD)/Release/lib/python2.7/site-packages/lldb && if test ! -h libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT) -o ! -f _lldb.so; then ln -s ../../../libLLVM-$(LLVM_VERSION).so libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT); fi cd $(TARGET_BUILD)/ && $(MAKE) -C tools/lldb/test || true - if test -d $(TARGET_BUILD)/lldb-test-traces/; then \ - cat $(TARGET_BUILD)/lldb-test-traces/*; \ + if test -d $(TARGET_BUILD)/tools/lldb/test/lldb-test-traces/; then \ + cat $(TARGET_BUILD)/tools/lldb/test/lldb-test-traces/*; \ fi # Managed by debian build system From d5fa32f730fe4f2ce74ab5ea9647c0757d82e7f3 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 5 Jun 2013 09:14:07 +0000 Subject: [PATCH 04/16] Fix the FTBFS under HURD (hurd-endian.diff) --- debian/changelog | 1 + debian/patches/hurd-endian.diff | 13 +++++++++++++ debian/patches/series | 2 ++ 3 files changed, 16 insertions(+) create mode 100644 debian/patches/hurd-endian.diff diff --git a/debian/changelog b/debian/changelog index 36b64b59..68694d95 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ llvm-toolchain-3.3 (1:3.3~+rc3-1~exp2) UNRELEASED; urgency=low * Do not use binutils-gold for powerpc * Print the lldb test failures * Create the compiler-rt directory for unsupported platforms + * Fix the FTBFS under HURD (hurd-endian.diff) -- diff --git a/debian/patches/hurd-endian.diff b/debian/patches/hurd-endian.diff new file mode 100644 index 00000000..f6f2b39e --- /dev/null +++ b/debian/patches/hurd-endian.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-3.3-3.3~0rc2/include/llvm/Support/Host.h +=================================================================== +--- llvm-toolchain-3.3-3.3~0rc2.orig/include/llvm/Support/Host.h 2013-04-15 22:13:59.000000000 +0200 ++++ llvm-toolchain-3.3-3.3~0rc2/include/llvm/Support/Host.h 2013-06-05 11:13:28.000000000 +0200 +@@ -16,7 +16,7 @@ + + #include "llvm/ADT/StringMap.h" + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GNU__) + #include + #else + #ifndef LLVM_ON_WIN32 diff --git a/debian/patches/series b/debian/patches/series index 3a48e58f..60ac5ad9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -19,3 +19,5 @@ declare_clear_cache.diff 33-armhf-defaults.diff 34-powerpc-no-altivec.diff ia64-fix.diff +hurd-endian.diff + From 3a53e162699cd1665e692c12626a534a86af4596 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 11:58:16 +0000 Subject: [PATCH 05/16] Fix a syntax error --- debian/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/rules b/debian/rules index e8c7ee65..8880f24b 100755 --- a/debian/rules +++ b/debian/rules @@ -167,7 +167,7 @@ override_dh_auto_install: # Create this fake directory to make the install libclang-common-dev happy # under the unsupported archs of compiler-rt mkdir -p $(CURDIR)/debian/tmp/usr/lib/clang/$(LLVM_VERSION)/lib - mkdir -p $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_V + mkdir -p $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION) # Rename binaries From 31daa1901836e9f8e38a0bb995d0dd1bf4d834fb Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 12:09:59 +0000 Subject: [PATCH 06/16] Install the vim stuff correctly --- debian/llvm-3.3-dev.install | 4 ++-- debian/rules | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/debian/llvm-3.3-dev.install b/debian/llvm-3.3-dev.install index 57f8d0c6..f775c9d9 100644 --- a/debian/llvm-3.3-dev.install +++ b/debian/llvm-3.3-dev.install @@ -13,8 +13,8 @@ Makefile.rules /usr/lib/llvm-3.3/build/ configure /usr/lib/llvm-3.3/build/ autoconf/ /usr/lib/llvm-3.3/build/ -utils/vim/llvm.vim usr/share/vim/addons/syntax/llvm-3.3.vim -utils/vim/tablegen.vim usr/share/vim/addons/syntax/tablegen-3.3.vim +utils/vim/llvm-3.3.vim usr/share/vim/addons/syntax/ +utils/vim/tablegen-3.3.vim usr/share/vim/addons/syntax/ utils/emacs/emacs.el usr/share/emacs/site-lisp/llvm-3.3/ utils/emacs/llvm-mode.el usr/share/emacs/site-lisp/llvm-3.3/ diff --git a/debian/rules b/debian/rules index 8880f24b..7c616665 100755 --- a/debian/rules +++ b/debian/rules @@ -185,8 +185,12 @@ override_dh_auto_install: echo "$$f"|grep "3\.2" || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \ done +# Rename some stuff with the version name mv $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang.1 $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang-$(LLVM_VERSION).1 + mv $(CURDIR)/utils/vim/llvm.vim $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim + mv $(CURDIR)/utils/vim/tablegen.vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim + # Remove some license files rm $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT From 7fa75a0e3294e52b1a49d7ae6ce314e68d4077e2 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 13:44:21 +0000 Subject: [PATCH 07/16] * Introduce the clang-format-X.Y package * Install the vim llvm script at the right place --- debian/TODO | 3 +- debian/changelog | 4 ++- debian/clang-format-3.3.install | 4 +++ debian/control | 14 +++++++++ debian/patches/clang-format-version.diff | 39 ++++++++++++++++++++++++ debian/patches/series | 1 + debian/rules | 5 ++- 7 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 debian/clang-format-3.3.install create mode 100644 debian/patches/clang-format-version.diff diff --git a/debian/TODO b/debian/TODO index bd553bd1..84fd630c 100644 --- a/debian/TODO +++ b/debian/TODO @@ -8,7 +8,6 @@ * bootstrap of clang with itself -* in the control, use variable instead of hardcoded 3.2 - * update of the soname +* man page for clang-format \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 68694d95..498aa06c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,8 +4,10 @@ llvm-toolchain-3.3 (1:3.3~+rc3-1~exp2) UNRELEASED; urgency=low * Print the lldb test failures * Create the compiler-rt directory for unsupported platforms * Fix the FTBFS under HURD (hurd-endian.diff) + * Introduce the clang-format-X.Y package + * Install the vim llvm script at the right place - -- + -- Sylvestre Ledru Thu, 06 Jun 2013 14:28:41 +0200 llvm-toolchain-3.3 (1:3.3~+rc3-1~exp1) experimental; urgency=low diff --git a/debian/clang-format-3.3.install b/debian/clang-format-3.3.install new file mode 100644 index 00000000..4ef29a82 --- /dev/null +++ b/debian/clang-format-3.3.install @@ -0,0 +1,4 @@ +clang/tools/clang-format/clang-format-3.3.py usr/share/vim/addons/syntax/ +clang/tools/clang-format/clang-format-diff-3.3 /usr/bin/ +clang/tools/clang-format/clang-format.el usr/share/emacs/site-lisp/clang-format-3.3/ +usr/bin/clang-format-3.3 diff --git a/debian/control b/debian/control index 3acaf6e1..1a1e9f1c 100644 --- a/debian/control +++ b/debian/control @@ -50,6 +50,20 @@ Description: C, C++ and Objective-C compiler (LLVM based) * A single unified parser for C, Objective C, C++, and Objective C++ * Conformance with C/C++/ObjC and their variants +Package: clang-format-3.3 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Replaces: clang-format-3.4 +Breaks: clang-format-3.4 +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-3.3-doc Architecture: all Section: doc diff --git a/debian/patches/clang-format-version.diff b/debian/patches/clang-format-version.diff new file mode 100644 index 00000000..4731441e --- /dev/null +++ b/debian/patches/clang-format-version.diff @@ -0,0 +1,39 @@ +Index: llvm-toolchain-3.3-3.3~+rc3/clang/tools/clang-format/clang-format.py +=================================================================== +--- llvm-toolchain-3.3-3.3~+rc3.orig/clang/tools/clang-format/clang-format.py 2013-04-09 17:23:04.000000000 +0200 ++++ llvm-toolchain-3.3-3.3~+rc3/clang/tools/clang-format/clang-format.py 2013-06-06 15:39:16.284119121 +0200 +@@ -21,7 +21,7 @@ + import subprocess + + # Change this to the full path if clang-format is not on the path. +-binary = 'clang-format' ++binary = 'clang-format-3.3' + + # Change this to format according to other formatting styles (see + # clang-format -help) +Index: llvm-toolchain-3.3-3.3~+rc3/clang/tools/clang-format/clang-format-diff.py +=================================================================== +--- llvm-toolchain-3.3-3.3~+rc3.orig/clang/tools/clang-format/clang-format-diff.py 2013-04-17 09:55:02.000000000 +0200 ++++ llvm-toolchain-3.3-3.3~+rc3/clang/tools/clang-format/clang-format-diff.py 2013-06-06 15:39:50.820117303 +0200 +@@ -28,7 +28,7 @@ + + + # Change this to the full path if clang-format is not on the path. +-binary = 'clang-format' ++binary = 'clang-format-3.3' + + + def getOffsetLength(filename, line_number, line_count): +Index: llvm-toolchain-3.3-3.3~+rc3/clang/tools/clang-format/clang-format.el +=================================================================== +--- llvm-toolchain-3.3-3.3~+rc3.orig/clang/tools/clang-format/clang-format.el 2013-05-08 02:29:53.000000000 +0200 ++++ llvm-toolchain-3.3-3.3~+rc3/clang/tools/clang-format/clang-format.el 2013-06-06 15:39:02.512116254 +0200 +@@ -14,7 +14,7 @@ + (let* ((orig-windows (get-buffer-window-list (current-buffer))) + (orig-window-starts (mapcar #'window-start orig-windows)) + (orig-point (point)) +- (binary "clang-format") ++ (binary "clang-format-3.3") + (style "LLVM")) + (if mark-active + (setq beg (region-beginning) diff --git a/debian/patches/series b/debian/patches/series index 60ac5ad9..6999f81d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -21,3 +21,4 @@ declare_clear_cache.diff ia64-fix.diff hurd-endian.diff +clang-format-version.diff diff --git a/debian/rules b/debian/rules index 7c616665..62c1cba6 100755 --- a/debian/rules +++ b/debian/rules @@ -182,7 +182,7 @@ override_dh_auto_install: d=$(CURDIR)/docs/_build/man/; \ cd $$d; \ for f in *.1; do \ - echo "$$f"|grep "3\.2" || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \ + echo "$$f"|grep "3\.3" || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \ done # Rename some stuff with the version name @@ -191,6 +191,9 @@ override_dh_auto_install: mv $(CURDIR)/utils/vim/llvm.vim $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim mv $(CURDIR)/utils/vim/tablegen.vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim + mv $(CURDIR)/clang/tools/clang-format/clang-format-diff.py $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION) + mv $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py + # Remove some license files rm $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT From 2423b3f7b5c3bf56b6fc986501261a1b44cbc63b Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 14:52:21 +0000 Subject: [PATCH 08/16] * Fix the FTBFS under kfreebsd and ia64. Many thanks to Luca Falavigna for the patches (kfreebsd.diff and ia64-fix.diff) --- debian/patches/ia64-fix.diff | 19 +++++++++++-- debian/patches/kfreebsd.diff | 55 ++++++++++++++++++++++++++++++++++++ debian/patches/series | 3 +- 3 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 debian/patches/kfreebsd.diff diff --git a/debian/patches/ia64-fix.diff b/debian/patches/ia64-fix.diff index 995d2b32..c1c5039e 100644 --- a/debian/patches/ia64-fix.diff +++ b/debian/patches/ia64-fix.diff @@ -1,7 +1,7 @@ -Index: llvm/lib/ExecutionEngine/JIT/JIT.cpp +Index: llvm-toolchain-3.3-3.3~+rc3/lib/ExecutionEngine/JIT/JIT.cpp =================================================================== ---- llvm.orig/lib/ExecutionEngine/JIT/JIT.cpp 2013-06-03 17:32:40.000000000 +0200 -+++ llvm/lib/ExecutionEngine/JIT/JIT.cpp 2013-06-03 17:32:59.000000000 +0200 +--- llvm-toolchain-3.3-3.3~+rc3.orig/lib/ExecutionEngine/JIT/JIT.cpp 2013-01-22 09:46:31.000000000 +0000 ++++ llvm-toolchain-3.3-3.3~+rc3/lib/ExecutionEngine/JIT/JIT.cpp 2013-06-06 08:25:45.000000000 +0000 @@ -68,7 +68,7 @@ } @@ -11,3 +11,16 @@ Index: llvm/lib/ExecutionEngine/JIT/JIT.cpp !defined(__USING_SJLJ_EXCEPTIONS__)) #define HAVE_EHTABLE_SUPPORT 1 #else +Index: llvm-toolchain-3.3-3.3~+rc3/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp +=================================================================== +--- llvm-toolchain-3.3-3.3~+rc3.orig/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp 2013-05-05 20:43:10.000000000 +0000 ++++ llvm-toolchain-3.3-3.3~+rc3/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp 2013-06-06 08:29:46.000000000 +0000 +@@ -147,7 +147,7 @@ + } + + // Determine whether we can register EH tables. +-#if (defined(__GNUC__) && !defined(__ARM_EABI__) && \ ++#if (defined(__GNUC__) && !defined(__ARM_EABI__) && !defined(__ia64__) && \ + !defined(__USING_SJLJ_EXCEPTIONS__)) + #define HAVE_EHTABLE_SUPPORT 1 + #else diff --git a/debian/patches/kfreebsd.diff b/debian/patches/kfreebsd.diff new file mode 100644 index 00000000..99c43d72 --- /dev/null +++ b/debian/patches/kfreebsd.diff @@ -0,0 +1,55 @@ +--- test/llvm-toolchain-3.3-3.3~+rc3/lldb/include/lldb/Host/Config.h 2011-04-01 18:18:34.000000000 +0000 ++++ llvm-toolchain-3.3-3.3~+rc3/lldb/include/lldb/Host/Config.h 2013-06-06 07:59:19.000000000 +0000 +@@ -18,7 +18,7 @@ + + #include "lldb/Host/linux/Config.h" + +-#elif defined(__FreeBSD__) || defined(__OpenBSD__) ++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) + + #include "lldb/Host/freebsd/Config.h" + +--- test/llvm-toolchain-3.3-3.3~+rc3/lldb/source/Core/Mangled.cpp 2012-09-11 18:11:12.000000000 +0000 ++++ llvm-toolchain-3.3-3.3~+rc3/lldb/source/Core/Mangled.cpp 2013-06-06 07:58:59.000000000 +0000 +@@ -30,6 +30,7 @@ + #include "lldb/Core/Timer.h" + #include + #include ++#include + + using namespace lldb_private; + +--- test/llvm-toolchain-3.3-3.3~+rc3/lldb/source/Host/common/Host.cpp 2013-05-15 18:27:08.000000000 +0000 ++++ llvm-toolchain-3.3-3.3~+rc3/lldb/source/Host/common/Host.cpp 2013-06-06 07:59:01.000000000 +0000 +@@ -151,7 +151,7 @@ + delete info; + + int status = -1; +-#if defined (__FreeBSD__) ++#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) + #define __WALL 0 + #endif + const int options = __WALL; +@@ -1441,7 +1441,11 @@ + g_num_cores = 0; + int num_cores = 0; + size_t num_cores_len = sizeof(num_cores); ++#ifdef HW_AVAILCPU + int mib[] = { CTL_HW, HW_AVAILCPU }; ++#else ++ int mib[] = { CTL_HW, HW_NCPU }; ++#endif + + /* get the number of CPUs from the system */ + if (sysctl(mib, sizeof(mib)/sizeof(int), &num_cores, &num_cores_len, NULL, 0) == 0 && (num_cores > 0)) +--- test/llvm-toolchain-3.3-3.3~+rc3/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt 2013-02-21 20:58:22.000000000 +0000 ++++ llvm-toolchain-3.3-3.3~+rc3/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt 2013-06-06 07:59:04.000000000 +0000 +@@ -1,5 +1,8 @@ + set(LLVM_NO_RTTI 1) + ++include_directories(.) ++include_directories(../POSIX) ++ + add_lldb_library(lldbPluginProcessFreeBSD + ProcessFreeBSD.cpp + ProcessMonitor.cpp diff --git a/debian/patches/series b/debian/patches/series index 6999f81d..6a879035 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -20,5 +20,6 @@ declare_clear_cache.diff 34-powerpc-no-altivec.diff ia64-fix.diff hurd-endian.diff - clang-format-version.diff +kfreebsd.diff + From 3bef5507bf4fac722371826c21b36e7dd541515f Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 14:53:29 +0000 Subject: [PATCH 09/16] add the manpage for clang-check --- debian/clang-3.3.manpages | 1 + debian/man/clang-check.1 | 275 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 276 insertions(+) create mode 100644 debian/man/clang-check.1 diff --git a/debian/clang-3.3.manpages b/debian/clang-3.3.manpages index 369700ed..87974243 100644 --- a/debian/clang-3.3.manpages +++ b/debian/clang-3.3.manpages @@ -1,2 +1,3 @@ build-llvm/tools/clang/docs/tools/clang-3.3.1 clang/tools/scan-build/scan-build.1 +debian/man/clang-check.1 diff --git a/debian/man/clang-check.1 b/debian/man/clang-check.1 new file mode 100644 index 00000000..5a4b6c5d --- /dev/null +++ b/debian/man/clang-check.1 @@ -0,0 +1,275 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.2. +.TH LLVM "1" "June 2013" "LLVM (http://llvm.org/):" "User Commands" +.SH NAME +LLVM \- manual page for LLVM (http://llvm.org/): +.SH DESCRIPTION +USAGE: clang\-check\-3.3 [options] [... ] +.SS "OPTIONS:" +.HP +\fB\-asm\-verbose\fR \- Add comments to directives. +.HP +\fB\-ast\-dump\fR \- Build ASTs and then debug dump them +.HP +\fB\-ast\-dump\-filter=\fR \- Use with \fB\-ast\-dump\fR or \fB\-ast\-print\fR to dump/print only AST declaration nodes having a certain substring in a qualified name. Use \fB\-ast\-list\fR to list all filterable declaration node names. +.HP +\fB\-ast\-list\fR \- Build ASTs and print the list of declaration node qualified names +.HP +\fB\-ast\-print\fR \- Build ASTs and then pretty\-print them +.HP +\fB\-bounds\-checking\-single\-trap\fR \- Use one trap block per function +.HP +\fB\-cppfname=\fR \- Specify the name of the generated function +.HP +\fB\-cppfor=\fR \- Specify the name of the thing to generate +.HP +\fB\-cppgen\fR \- Choose what kind of output to generate +.TP +=program +\- Generate a complete program +.TP +=module +\- Generate a module definition +.TP +=contents +\- Generate contents of a module +.TP +=function +\- Generate a function definition +.TP +=functions +\- Generate all function definitions +.TP +=inline +\- Generate an inline function +.TP +=variable +\- Generate a variable definition +.TP +=type +\- Generate a type definition +.HP +\fB\-disable\-spill\-fusing\fR \- Disable fusing of spill code into instructions +.IP +Choose driver interface: +.HP +\fB\-drvnvcl\fR \- Nvidia OpenCL driver +.HP +\fB\-drvcuda\fR \- Nvidia CUDA driver +.HP +\fB\-drvtest\fR \- Plain Test +.HP +\fB\-enable\-correct\-eh\-support\fR \- Make the \fB\-lowerinvoke\fR pass insert expensive, but correct, EH code +.HP +\fB\-enable\-load\-pre\fR \- +.HP +\fB\-enable\-objc\-arc\-opts\fR \- enable/disable all ARC Optimizations +.HP +\fB\-enable\-tbaa\fR \- +.HP +\fB\-fatal\-assembler\-warnings\fR \- Consider warnings as error +.HP +\fB\-fdata\-sections\fR \- Emit data into separate sections +.HP +\fB\-ffunction\-sections\fR \- Emit functions into separate sections +.HP +\fB\-fix\-what\-you\-can\fR \- Apply fix\-it advice even in the presence of unfixable errors +.HP +\fB\-fixit\fR \- Apply fix\-it advice to the input source +.HP +\fB\-help\fR \- Display available options (\fB\-help\-hidden\fR for more) +.HP +\fB\-internalize\-public\-api\-file=\fR \- A file containing list of symbol names to preserve +.HP +\fB\-internalize\-public\-api\-list=\fR \- A list of symbol names to preserve +.HP +\fB\-join\-liveintervals\fR \- Coalesce copies (default=true) +.HP +\fB\-limit\-float\-precision=\fR \- Generate low\-precision inline sequences for some float libcalls +.HP +\fB\-mc\-x86\-disable\-arith\-relaxation\fR \- Disable relaxation of arithmetic instruction for X86 +.HP +\fB\-mips16\-hard\-float\fR \- MIPS: mips16 hard float enable. +.HP +\fB\-msp430\-hwmult\-mode\fR \- Hardware multiplier use mode +.TP +=no +\- Do not use hardware multiplier +.TP +=interrupts +\- Assume hardware multiplier can be used inside interrupts +.TP +=use +\- Assume hardware multiplier cannot be used inside interrupts +.HP +\fB\-nvptx\-emit\-line\-numbers\fR \- NVPTX Specific: Emit Line numbers even without \fB\-G\fR +.HP +\fB\-nvptx\-emit\-src\fR \- NVPTX Specific: Emit source line in ptx file +.TP +\fB\-nvptx\-fma\-level=\fR \- NVPTX Specific: FMA contraction (0: don't do it 1: do it +2: do it aggressively +.HP +\fB\-nvptx\-mad\-enable\fR \- NVPTX Specific: Enable generating FMAD instructions +.HP +\fB\-nvptx\-prec\-divf32=\fR \- NVPTX Specifies: 0 use div.approx, 1 use div.full, 2 use IEEE Compliant F32 div.rnd if avaiable. +.HP +\fB\-nvptx\-sched4reg\fR \- NVPTX Specific: schedule for register pressue +.HP +\fB\-nvvm\-reflect\-enable\fR \- NVVM reflection, enabled by default +.HP +\fB\-nvvm\-reflect\-list=\fR> \- A list of string=num assignments +.HP +\fB\-p=\fR \- Build path +.HP +\fB\-pre\-RA\-sched\fR \- Instruction schedulers available (before register allocation): +.TP +=vliw\-td +\- VLIW scheduler +.TP +=list\-ilp +\- Bottom\-up register pressure aware list scheduling which tries to balance ILP and register pressure +.TP +=list\-hybrid +\- Bottom\-up register pressure aware list scheduling which tries to balance latency and register pressure +.TP +=source +\- Similar to list\-burr but schedules in source order when possible +.TP +=list\-burr +\- Bottom\-up register reduction list scheduling +.TP +=linearize +\- Linearize DAG, no scheduling +.TP +=fast +\- Fast suboptimal list scheduling +.TP +=default +\- Best scheduler for the target +.HP +\fB\-print\-after\-all\fR \- Print IR after each pass +.HP +\fB\-print\-before\-all\fR \- Print IR before each pass +.HP +\fB\-print\-machineinstrs=\fR \- Print machine instrs +.HP +\fB\-profile\-estimator\-loop\-weight=\fR \- Number of loop executions used for profile\-estimator +.HP +\fB\-profile\-file=\fR \- Profile file loaded by \fB\-profile\-metadata\-loader\fR +.HP +\fB\-profile\-info\-file=\fR \- Profile file loaded by \fB\-profile\-loader\fR +.HP +\fB\-profile\-verifier\-noassert\fR \- Disable assertions +.HP +\fB\-regalloc\fR \- Register allocator to use +.TP +=default +\- pick register allocator based on \fB\-O\fR option +.TP +=basic +\- basic register allocator +.TP +=fast +\- fast register allocator +.TP +=greedy +\- greedy register allocator +.TP +=pbqp +\- PBQP register allocator +.HP +\fB\-shrink\-wrap\fR \- Shrink wrap callee\-saved register spills/restores +.HP +\fB\-spiller\fR \- Spiller to use: (default: standard) +.TP +=trivial +\- trivial spiller +.TP +=inline +\- inline spiller +.HP +\fB\-stats\fR \- Enable statistics output from program (available with Asserts) +.HP +\fB\-struct\-path\-tbaa\fR \- +.HP +\fB\-time\-passes\fR \- Time each pass, printing elapsed time for each on exit +.HP +\fB\-vectorize\-loops\fR \- Run the Loop vectorization passes +.HP +\fB\-vectorize\-slp\fR \- Run the SLP vectorization passes +.HP +\fB\-vectorize\-slp\-aggressive\fR \- Run the BB vectorization passes +.HP +\fB\-verify\-dom\-info\fR \- Verify dominator info (time consuming) +.HP +\fB\-verify\-loop\-info\fR \- Verify loop info (time consuming) +.HP +\fB\-verify\-regalloc\fR \- Verify during register allocation +.HP +\fB\-verify\-region\-info\fR \- Verify region info (time consuming) +.HP +\fB\-verify\-scev\fR \- Verify ScalarEvolution's backedge taken counts (slow) +.HP +\fB\-version\fR \- Display the version of this program +.HP +\fB\-x86\-asm\-syntax\fR \- Choose style of code to emit from X86 backend: +.TP +=att +\- Emit AT&T\-style assembly +.TP +=intel +\- Emit Intel\-style assembly +.HP +\fB\-x86\-early\-ifcvt\fR \- Enable early if\-conversion on X86 +.HP +\fB\-x86\-use\-vzeroupper\fR \- Minimize AVX to SSE transition penalty +.PP +\fB\-p\fR is used to read a compile command database. +.IP +For example, it can be a CMake build directory in which a file named +compile_commands.json exists (use \fB\-DCMAKE_EXPORT_COMPILE_COMMANDS\fR=\fION\fR +CMake option to get this output). When no build path is specified, +a search for compile_commands.json will be attempted through all +parent paths of the first input file . See: +http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an +example of setting up Clang Tooling on a source tree. +.PP + ... specify the paths of source files. These paths are +.IP +looked up in the compile command database. If the path of a file is +absolute, it needs to point into CMake's source tree. If the path is +relative, the current working directory needs to be in the CMake +source tree and the file must be in a subdirectory of the current +working directory. "./" prefixes in the relative files will be +automatically removed, but the rest of a relative path must be a +suffix of a path in the compile command database. +.IP +For example, to run clang\-check on all files in a subtree of the +source tree, use: +.IP +find path/in/subtree \fB\-name\fR '*.cpp'|xargs clang\-check +.IP +or using a specific build path: +.IP +find path/in/subtree \fB\-name\fR '*.cpp'|xargs clang\-check \fB\-p\fR build/path +.IP +Note, that path/in/subtree and current directory should follow the +rules described above. +.IP +LLVM version 3.3 +.IP +Optimized build. +Built May 7 2013 (21:07:59). +Default target: x86_64\-pc\-linux\-gnu +Host CPU: corei7\-avx +.SH "SEE ALSO" +The full documentation for +.B LLVM +is maintained as a Texinfo manual. If the +.B info +and +.B LLVM +programs are properly installed at your site, the command +.IP +.B info LLVM +.PP +should give you access to the complete manual. From 846d64d9298a0b4a0bf5d943bb38160d23d1e263 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 14:53:55 +0000 Subject: [PATCH 10/16] add manpage for clang-format --- debian/clang-format-3.3.manpages | 2 ++ debian/man/clang-format-diff-3.3.1 | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 debian/clang-format-3.3.manpages create mode 100644 debian/man/clang-format-diff-3.3.1 diff --git a/debian/clang-format-3.3.manpages b/debian/clang-format-3.3.manpages new file mode 100644 index 00000000..2c53726f --- /dev/null +++ b/debian/clang-format-3.3.manpages @@ -0,0 +1,2 @@ +debian/man/clang-format-diff-3.3.1 + diff --git a/debian/man/clang-format-diff-3.3.1 b/debian/man/clang-format-diff-3.3.1 new file mode 100644 index 00000000..75a56e9c --- /dev/null +++ b/debian/man/clang-format-diff-3.3.1 @@ -0,0 +1,30 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.2. +.TH CLANG-FORMAT-DIFF-3.3 "1" "June 2013" "clang-format-diff-3.3 3.3" "User Commands" +.SH NAME +clang-format-diff-3.3 \- manual page for clang-format-diff-3.3 3.3 +.SH DESCRIPTION +usage: clang\-format\-diff\-3.3 [\-h] [\-p P] [\-style STYLE] +.PP +Reformat changed lines in diff +.SS "optional arguments:" +.TP +\fB\-h\fR, \fB\-\-help\fR +show this help message and exit +.TP +\fB\-p\fR P +strip the smallest prefix containing P slashes +.TP +\fB\-style\fR STYLE +formatting style to apply (LLVM, Google, Chromium) +.SH "SEE ALSO" +The full documentation for +.B clang-format-diff-3.3 +is maintained as a Texinfo manual. If the +.B info +and +.B clang-format-diff-3.3 +programs are properly installed at your site, the command +.IP +.B info clang-format-diff-3.3 +.PP +should give you access to the complete manual. From c7888a6973e8ad75d4b4c10efd3c4f04a660b969 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 14:56:04 +0000 Subject: [PATCH 11/16] * Force the version in experimental of binutils-gold to fix powerpc --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 1a1e9f1c..9dd8cfe4 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl8.5, expect, sharutils, autotools-dev (>= 20060702.1), libffi-dev (>= 3.0.9), lsb-release, patchutils, diffstat, xz-utils, chrpath, python-dev, libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libcloog-isl-dev, - libisl-dev (>= 0.11.1), binutils-gold [amd64 armel armhf i386 powerpcspe ppc64 sparc sparc64 x32], + libisl-dev (>= 0.11.1), binutils-gold [amd64 armel armhf i386 powerpc powerpcspe ppc64 sparc sparc64 x32] (>= 2.23.52.20130522), lcov, procps Build-Conflicts: oprofile, ocaml Standards-Version: 3.9.4 From 25842f7b108b5148525cf72cb8264c8d5e7fe5f1 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 14:59:19 +0000 Subject: [PATCH 12/16] update of the changelog --- debian/changelog | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 498aa06c..ab6c640d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,13 @@ -llvm-toolchain-3.3 (1:3.3~+rc3-1~exp2) UNRELEASED; urgency=low +llvm-toolchain-3.3 (1:3.3~+rc3-1~exp2) unstable; urgency=low - * Do not use binutils-gold for powerpc + * Force the version in experimental of binutils-gold to fix powerpc * Print the lldb test failures * Create the compiler-rt directory for unsupported platforms * Fix the FTBFS under HURD (hurd-endian.diff) * Introduce the clang-format-X.Y package * Install the vim llvm script at the right place + * Fix the FTBFS under kfreebsd and ia64. Many thanks to Luca Falavigna + for the patches (kfreebsd.diff and ia64-fix.diff) -- Sylvestre Ledru Thu, 06 Jun 2013 14:28:41 +0200 From a670d404e37a8d3523f4aebed7a70de997535c84 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 15:28:09 +0000 Subject: [PATCH 13/16] fix the install of clang-format --- debian/clang-format-3.3.install | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/clang-format-3.3.install b/debian/clang-format-3.3.install index 4ef29a82..551b8e2e 100644 --- a/debian/clang-format-3.3.install +++ b/debian/clang-format-3.3.install @@ -2,3 +2,4 @@ clang/tools/clang-format/clang-format-3.3.py usr/share/vim/addons/syntax/ clang/tools/clang-format/clang-format-diff-3.3 /usr/bin/ clang/tools/clang-format/clang-format.el usr/share/emacs/site-lisp/clang-format-3.3/ usr/bin/clang-format-3.3 +usr/lib/llvm-3.3/bin/clang-format From 22f7b3efb88936e41bcd9717506d44383ca19b29 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 15:30:43 +0000 Subject: [PATCH 14/16] introduce also cpp11-migrate as a new package --- debian/control | 26 ++- debian/cpp11-migrate-3.3.install | 2 + debian/cpp11-migrate-3.3.manpages | 1 + debian/man/cpp11-migrate-3.3.1 | 256 ++++++++++++++++++++++++++++++ 4 files changed, 280 insertions(+), 5 deletions(-) create mode 100644 debian/cpp11-migrate-3.3.install create mode 100644 debian/cpp11-migrate-3.3.manpages create mode 100644 debian/man/cpp11-migrate-3.3.1 diff --git a/debian/control b/debian/control index 9dd8cfe4..05206c8d 100644 --- a/debian/control +++ b/debian/control @@ -56,14 +56,30 @@ Depends: ${shlibs:Depends}, ${misc:Depends} Replaces: clang-format-3.4 Breaks: clang-format-3.4 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. + 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: cpp11-migrate-3.3 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Replaces: cpp11-migrate-3.4 +Breaks: cpp11-migrate-3.4 +Description: Tool to convert C++98 and C++03 code to C++11 + The purpose of the C++11 Migrator is to do source-to-source translation to + migrate existing C++ code to use C++11 features to enhance + maintainability, readability, runtime performance, and compile-time + performance. Development is still early and transforms fall mostly into + the first two categories. The migrator is based on Clang's LibTooling and + the AST Matching library. + Package: clang-3.3-doc Architecture: all Section: doc diff --git a/debian/cpp11-migrate-3.3.install b/debian/cpp11-migrate-3.3.install new file mode 100644 index 00000000..2458f502 --- /dev/null +++ b/debian/cpp11-migrate-3.3.install @@ -0,0 +1,2 @@ +usr/lib/llvm-3.3/bin/cpp11-migrate +usr/bin/cpp11-migrate-3.3 diff --git a/debian/cpp11-migrate-3.3.manpages b/debian/cpp11-migrate-3.3.manpages new file mode 100644 index 00000000..5592fa2c --- /dev/null +++ b/debian/cpp11-migrate-3.3.manpages @@ -0,0 +1 @@ +man/cpp11-migrate-3.3.1 diff --git a/debian/man/cpp11-migrate-3.3.1 b/debian/man/cpp11-migrate-3.3.1 new file mode 100644 index 00000000..cb94e14f --- /dev/null +++ b/debian/man/cpp11-migrate-3.3.1 @@ -0,0 +1,256 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.2. +.TH LLVM "1" "June 2013" "LLVM (http://llvm.org/):" "User Commands" +.SH NAME +LLVM \- manual page for LLVM (http://llvm.org/): +.SH DESCRIPTION +USAGE: cpp11\-migrate [options] [... ] +.SS "OPTIONS:" +.HP +\fB\-add\-override\fR \- Make use of override specifier where possible +.HP +\fB\-asm\-verbose\fR \- Add comments to directives. +.HP +\fB\-bounds\-checking\-single\-trap\fR \- Use one trap block per function +.HP +\fB\-cppfname=\fR \- Specify the name of the generated function +.HP +\fB\-cppfor=\fR \- Specify the name of the thing to generate +.HP +\fB\-cppgen\fR \- Choose what kind of output to generate +.TP +=program +\- Generate a complete program +.TP +=module +\- Generate a module definition +.TP +=contents +\- Generate contents of a module +.TP +=function +\- Generate a function definition +.TP +=functions +\- Generate all function definitions +.TP +=inline +\- Generate an inline function +.TP +=variable +\- Generate a variable definition +.TP +=type +\- Generate a type definition +.HP +\fB\-disable\-spill\-fusing\fR \- Disable fusing of spill code into instructions +.IP +Choose driver interface: +.HP +\fB\-drvnvcl\fR \- Nvidia OpenCL driver +.HP +\fB\-drvcuda\fR \- Nvidia CUDA driver +.HP +\fB\-drvtest\fR \- Plain Test +.HP +\fB\-enable\-correct\-eh\-support\fR \- Make the \fB\-lowerinvoke\fR pass insert expensive, but correct, EH code +.HP +\fB\-enable\-load\-pre\fR \- +.HP +\fB\-enable\-objc\-arc\-opts\fR \- enable/disable all ARC Optimizations +.HP +\fB\-enable\-tbaa\fR \- +.HP +\fB\-fatal\-assembler\-warnings\fR \- Consider warnings as error +.HP +\fB\-fdata\-sections\fR \- Emit data into separate sections +.HP +\fB\-ffunction\-sections\fR \- Emit functions into separate sections +.HP +\fB\-final\-syntax\-check\fR \- Check for correct syntax after applying transformations +.HP +\fB\-help\fR \- Display available options (\fB\-help\-hidden\fR for more) +.HP +\fB\-internalize\-public\-api\-file=\fR \- A file containing list of symbol names to preserve +.HP +\fB\-internalize\-public\-api\-list=\fR \- A list of symbol names to preserve +.HP +\fB\-join\-liveintervals\fR \- Coalesce copies (default=true) +.HP +\fB\-limit\-float\-precision=\fR \- Generate low\-precision inline sequences for some float libcalls +.HP +\fB\-loop\-convert\fR \- Make use of range\-based for loops where possible +.HP +\fB\-mc\-x86\-disable\-arith\-relaxation\fR \- Disable relaxation of arithmetic instruction for X86 +.HP +\fB\-mips16\-hard\-float\fR \- MIPS: mips16 hard float enable. +.HP +\fB\-msp430\-hwmult\-mode\fR \- Hardware multiplier use mode +.TP +=no +\- Do not use hardware multiplier +.TP +=interrupts +\- Assume hardware multiplier can be used inside interrupts +.TP +=use +\- Assume hardware multiplier cannot be used inside interrupts +.HP +\fB\-nvptx\-emit\-line\-numbers\fR \- NVPTX Specific: Emit Line numbers even without \fB\-G\fR +.HP +\fB\-nvptx\-emit\-src\fR \- NVPTX Specific: Emit source line in ptx file +.TP +\fB\-nvptx\-fma\-level=\fR \- NVPTX Specific: FMA contraction (0: don't do it 1: do it +2: do it aggressively +.HP +\fB\-nvptx\-mad\-enable\fR \- NVPTX Specific: Enable generating FMAD instructions +.HP +\fB\-nvptx\-prec\-divf32=\fR \- NVPTX Specifies: 0 use div.approx, 1 use div.full, 2 use IEEE Compliant F32 div.rnd if avaiable. +.HP +\fB\-nvptx\-sched4reg\fR \- NVPTX Specific: schedule for register pressue +.HP +\fB\-nvvm\-reflect\-enable\fR \- NVVM reflection, enabled by default +.HP +\fB\-nvvm\-reflect\-list=\fR> \- A list of string=num assignments +.HP +\fB\-p=\fR \- Build path +.HP +\fB\-pre\-RA\-sched\fR \- Instruction schedulers available (before register allocation): +.TP +=vliw\-td +\- VLIW scheduler +.TP +=list\-ilp +\- Bottom\-up register pressure aware list scheduling which tries to balance ILP and register pressure +.TP +=list\-hybrid +\- Bottom\-up register pressure aware list scheduling which tries to balance latency and register pressure +.TP +=source +\- Similar to list\-burr but schedules in source order when possible +.TP +=list\-burr +\- Bottom\-up register reduction list scheduling +.TP +=linearize +\- Linearize DAG, no scheduling +.TP +=fast +\- Fast suboptimal list scheduling +.TP +=default +\- Best scheduler for the target +.HP +\fB\-print\-after\-all\fR \- Print IR after each pass +.HP +\fB\-print\-before\-all\fR \- Print IR before each pass +.HP +\fB\-print\-machineinstrs=\fR \- Print machine instrs +.HP +\fB\-profile\-estimator\-loop\-weight=\fR \- Number of loop executions used for profile\-estimator +.HP +\fB\-profile\-file=\fR \- Profile file loaded by \fB\-profile\-metadata\-loader\fR +.HP +\fB\-profile\-info\-file=\fR \- Profile file loaded by \fB\-profile\-loader\fR +.HP +\fB\-profile\-verifier\-noassert\fR \- Disable assertions +.HP +\fB\-regalloc\fR \- Register allocator to use +.TP +=default +\- pick register allocator based on \fB\-O\fR option +.TP +=basic +\- basic register allocator +.TP +=fast +\- fast register allocator +.TP +=greedy +\- greedy register allocator +.TP +=pbqp +\- PBQP register allocator +.HP +\fB\-risk\fR \- Select a maximum risk level: +.TP +=safe +\- Only safe transformations +.TP +=reasonable +\- Enable transformations that might change semantics (default) +.TP +=risky +\- Enable transformations that are likely to change semantics +.HP +\fB\-shrink\-wrap\fR \- Shrink wrap callee\-saved register spills/restores +.HP +\fB\-spiller\fR \- Spiller to use: (default: standard) +.TP +=trivial +\- trivial spiller +.TP +=inline +\- inline spiller +.HP +\fB\-stats\fR \- Enable statistics output from program (available with Asserts) +.HP +\fB\-struct\-path\-tbaa\fR \- +.HP +\fB\-summary\fR \- Print transform summary +.HP +\fB\-time\-passes\fR \- Time each pass, printing elapsed time for each on exit +.HP +\fB\-use\-auto\fR \- Use of 'auto' type specifier +.HP +\fB\-use\-nullptr\fR \- Make use of nullptr keyword where possible +.HP +\fB\-user\-null\-macros=\fR \- Comma\-separated list of user\-defined macro names that behave like NULL +.HP +\fB\-vectorize\-loops\fR \- Run the Loop vectorization passes +.HP +\fB\-vectorize\-slp\fR \- Run the SLP vectorization passes +.HP +\fB\-vectorize\-slp\-aggressive\fR \- Run the BB vectorization passes +.HP +\fB\-verify\-dom\-info\fR \- Verify dominator info (time consuming) +.HP +\fB\-verify\-loop\-info\fR \- Verify loop info (time consuming) +.HP +\fB\-verify\-regalloc\fR \- Verify during register allocation +.HP +\fB\-verify\-region\-info\fR \- Verify region info (time consuming) +.HP +\fB\-verify\-scev\fR \- Verify ScalarEvolution's backedge taken counts (slow) +.HP +\fB\-version\fR \- Display the version of this program +.HP +\fB\-x86\-asm\-syntax\fR \- Choose style of code to emit from X86 backend: +.TP +=att +\- Emit AT&T\-style assembly +.TP +=intel +\- Emit Intel\-style assembly +.HP +\fB\-x86\-early\-ifcvt\fR \- Enable early if\-conversion on X86 +.HP +\fB\-x86\-use\-vzeroupper\fR \- Minimize AVX to SSE transition penalty +.IP +LLVM version 3.3 +.IP +Optimized build. +Built May 7 2013 (21:07:59). +Default target: x86_64\-pc\-linux\-gnu +Host CPU: corei7\-avx +.SH "SEE ALSO" +The full documentation for +.B LLVM +is maintained as a Texinfo manual. If the +.B info +and +.B LLVM +programs are properly installed at your site, the command +.IP +.B info LLVM +.PP +should give you access to the complete manual. From 8515a695953a8fd7ee04232e9a8aea365640b825 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 15:31:10 +0000 Subject: [PATCH 15/16] Enhance the build system + build clang tools extra --- debian/rules | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/debian/rules b/debian/rules index 62c1cba6..edb81b2b 100755 --- a/debian/rules +++ b/debian/rules @@ -106,14 +106,6 @@ override_dh_auto_configure: debian/lldb-$(LLVM_VERSION).install debian/lldb-$(LL ln -s ../polly .; \ - # cd clang/tools/ && \ - # if test -h extra; then \ - # rm extra; \ - # fi; \ - # ln -s ../../clang-extra extra; \ - # readlink extra - - cd projects/ && \ if test -h compiler-rt; then \ rm compiler-rt; \ @@ -121,6 +113,8 @@ override_dh_auto_configure: debian/lldb-$(LLVM_VERSION).install debian/lldb-$(LL ln -s ../compiler-rt .; \ readlink compiler-rt + cp -R clang-tools-extra tools/clang/tools/extra + # Start the actual configure cd $(TARGET_BUILD) && $(PRE_CONFIGURE) \ ../configure $(confargs) \ @@ -188,8 +182,12 @@ override_dh_auto_install: # Rename some stuff with the version name mv $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang.1 $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang-$(LLVM_VERSION).1 - mv $(CURDIR)/utils/vim/llvm.vim $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim - mv $(CURDIR)/utils/vim/tablegen.vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim + if test -f $(CURDIR)/utils/vim/llvm.vim; then \ + mv $(CURDIR)/utils/vim/llvm.vim $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim; \ + fi + if test -f $(CURDIR)/utils/vim/tablegen.vim; then \ + mv $(CURDIR)/utils/vim/tablegen.vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim; \ + fi mv $(CURDIR)/clang/tools/clang-format/clang-format-diff.py $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION) mv $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py @@ -263,4 +261,5 @@ override_dh_auto_clean: find utils -name '*.pyc' | xargs -r rm -f find test -name '*.pyc' -o -name '*.o' -o -name '*.cm[ix]' | xargs -r rm -f rm -f tools/clang tools/polly tools/lldb projects/compiler-rt + rm -rf tools/clang/tools/extra From d2eba0e1f125142490c35aeaba5194964b7132f9 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 6 Jun 2013 16:02:38 +0000 Subject: [PATCH 16/16] Document the introduction of cpp11-migrate-X.Y --- debian/changelog | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/changelog b/debian/changelog index ab6c640d..58ff7c82 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ llvm-toolchain-3.3 (1:3.3~+rc3-1~exp2) unstable; urgency=low * Create the compiler-rt directory for unsupported platforms * Fix the FTBFS under HURD (hurd-endian.diff) * Introduce the clang-format-X.Y package + * Introduce the cpp11-migrate-X.Y package * Install the vim llvm script at the right place * Fix the FTBFS under kfreebsd and ia64. Many thanks to Luca Falavigna for the patches (kfreebsd.diff and ia64-fix.diff)