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 853cdac4..42d7da86 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,7 +2,7 @@ llvm-toolchain-snapshot (1:3.4~svn182733-1~exp1) experimental; urgency=low * New snapshot release (3.4 release) - -- Sylvestre Ledru Mon, 27 May 2013 15:01:57 +0200 + -- Sylvestre Ledru Thu, 06 Jun 2013 14:28:41 +0200 llvm-toolchain-snapshot (1:3.3~svn179851-1~exp1) experimental; urgency=low diff --git a/debian/clang-3.4.manpages b/debian/clang-3.4.manpages index f8a8bf48..e43aa157 100644 --- a/debian/clang-3.4.manpages +++ b/debian/clang-3.4.manpages @@ -1,2 +1,4 @@ build-llvm/tools/clang/docs/tools/clang-3.4.1 clang/tools/scan-build/scan-build.1 +debian/man/clang-check.1 + diff --git a/debian/clang-format-3.4.install b/debian/clang-format-3.4.install new file mode 100644 index 00000000..68b087da --- /dev/null +++ b/debian/clang-format-3.4.install @@ -0,0 +1,5 @@ +clang/tools/clang-format/clang-format-3.4.py usr/share/vim/addons/syntax/ +clang/tools/clang-format/clang-format-diff-3.4 /usr/bin/ +clang/tools/clang-format/clang-format.el usr/share/emacs/site-lisp/clang-format-3.4/ +usr/bin/clang-format-3.4 +usr/lib/llvm-3.4/bin/clang-format diff --git a/debian/clang-format-3.4.manpages b/debian/clang-format-3.4.manpages new file mode 100644 index 00000000..636bc81e --- /dev/null +++ b/debian/clang-format-3.4.manpages @@ -0,0 +1,2 @@ +debian/man/clang-format-diff-3.4.1 + diff --git a/debian/control b/debian/control index d7a66f45..8735d473 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 powerpc powerpcspe ppc64 sparc sparc64 x32] (>= 2.23.52.20130522), lcov, procps Build-Conflicts: oprofile, ocaml Standards-Version: 3.9.4 @@ -50,6 +50,36 @@ 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.4 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +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: cpp11-migrate-3.4 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Replaces: cpp11-migrate-3.3 +Breaks: cpp11-migrate-3.3 +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.4-doc Architecture: all Section: doc diff --git a/debian/cpp11-migrate-3.4.install b/debian/cpp11-migrate-3.4.install new file mode 100644 index 00000000..74ad1183 --- /dev/null +++ b/debian/cpp11-migrate-3.4.install @@ -0,0 +1,2 @@ +usr/lib/llvm-3.4/bin/cpp11-migrate +usr/bin/cpp11-migrate-3.4 diff --git a/debian/cpp11-migrate-3.4.manpages b/debian/cpp11-migrate-3.4.manpages new file mode 100644 index 00000000..6ca104f1 --- /dev/null +++ b/debian/cpp11-migrate-3.4.manpages @@ -0,0 +1 @@ +man/cpp11-migrate-3.4.1 diff --git a/debian/llvm-3.4-dev.install b/debian/llvm-3.4-dev.install index 4bb1fb26..12889015 100644 --- a/debian/llvm-3.4-dev.install +++ b/debian/llvm-3.4-dev.install @@ -13,8 +13,8 @@ Makefile.rules /usr/lib/llvm-3.4/build/ configure /usr/lib/llvm-3.4/build/ autoconf/ /usr/lib/llvm-3.4/build/ -utils/vim/llvm.vim usr/share/vim/addons/syntax/llvm-3.4.vim -utils/vim/tablegen.vim usr/share/vim/addons/syntax/tablegen-3.4.vim +utils/vim/llvm.vim usr/share/vim/addons/syntax/ +utils/vim/tablegen.vim usr/share/vim/addons/syntax/ utils/emacs/emacs.el usr/share/emacs/site-lisp/llvm-3.4/ utils/emacs/llvm-mode.el usr/share/emacs/site-lisp/llvm-3.4/ 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. 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. 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. 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/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/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 6f0da64b..72a32c20 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -20,3 +20,7 @@ declare_clear_cache.diff 33-armhf-defaults.diff 34-powerpc-no-altivec.diff ia64-fix.diff +hurd-endian.diff +clang-format-version.diff +kfreebsd.diff + diff --git a/debian/rules b/debian/rules index 39e03d33..cd074fcc 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) \ @@ -147,7 +141,7 @@ override_dh_auto_build: $(MAKE) $(NJOBS) -C $(TARGET_BUILD) VERBOSE=1 CLANG_VENDOR=$(VENDOR) CXXFLAGS="$(CXXFLAGS_EXTRA) -std=c++0x" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 cd $(CURDIR)/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man # $(MAKE) $(NJOBS) -C build-compiler-rt VERBOSE=1 -# Only available in clang 3.3 +# Only available from clang 3.3 cd $(CURDIR)/tools/clang/docs && make -f Makefile.sphinx override_dh_auto_install: @@ -167,6 +161,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_VERSION) + # Rename binaries mkdir -p $(CURDIR)/debian/tmp/usr/bin/ @@ -180,11 +176,22 @@ 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 mv $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang.1 $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang-$(LLVM_VERSION).1 + 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 + # Remove some license files rm $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT @@ -229,6 +236,7 @@ override_dh_auto_test: 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 rm -f $(CURDIR)/$(TARGET_BUILD)/Release/lib/python*/site-packages/lldb/_lldb.so # polly tests @@ -253,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