Giuliano Procida
af9b4c146c
Tweak clang-format configuration
...
These are the updates:
AlignConsecutiveDeclarations: false
- the dominant style in libabigail is not to align
AllowShortBlocksOnASingleLine: Always
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortLambdasOnASingleLine: All
- the libabigail style favours short things on a single line
Cpp11BracedListStyle: true
- this seems to improve some initialiser syntax
BinPackArguments: false
- we already turn this off for parameters
SpaceAfterCStyleCast: true
- this is the libabigail style
* .clang-format: Various tweaks to Clang format configuration.
Signed-off-by: Giuliano Procida <gprocida@google.com>
2021-10-19 12:59:18 +02:00
Matthias Maennich
29d1d80165
clang-format: Minor correction to not break parameters on the first line
...
Before:
someLongFunction(
argument1,
argument2);
After:
someLongFunction(argument1,
argument2);
* .clang-format: correct function parameter break/indentation
Signed-off-by: Matthias Maennich <maennich@google.com>
2021-04-01 09:51:20 +02:00
Matthias Maennich
dfd2c2d562
clang-format: define C++ standard to improve formatting
...
This is mostly seen for nested templates like
std::pair<int, std::vector<int> > vs. std::pair<int, std::vector<int>>
^^^ ^^
* .clang-format: Set C++11 standard for formatting.
Signed-off-by: Matthias Maennich <maennich@google.com>
2020-12-15 11:04:14 +01:00
Dodji Seketeli
c80f79271a
Re-license the project to Apache v2 With LLVM Exception
...
Thanks to the previous work done, changing the license is just a
matter of changing the SPDX identifer from "LGPL-3.0-or-later" to
"Apache-2.0 WITH LLVM-exception". Note that for the abigail.m4,
tests/test-dot.cc and tests/test-svg.cc the change was from
"GPL-3.0-or-later WITH GCC-exception-3.1" to "Apache-2.0 WITH
LLVM-exception". include/abg-cxx-compat.h was changed from
"LGPL-2.0-or-later" to "Apache-2.0 WITH LLVM-exception". Source code
of programs (as opposed to source code of the library) where generally
licensed under GPL-3.0-or-later; they are also now licensed
"Apache-2.0 WITH LLVM-exception".
This is what this patch does.
* abigail.m4: Change the SPDX identifier from "GPL-3.0-or-later
WITH GCC-exception-3.1" to "Apache-2.0 WITH LLVM-exception"
* include/abg-cxx-compat.h: Change the SPDX identifier from
"LGPL-2.0-or-later" to "Apache-2.0 WITH LLVM-exception".
* .clang-format: Change the SPDX identifier from
"LGPL-3.0-or-later" to "Apache-2.0 WITH LLVM-exception".
* Makefile.am: Likewise.
* bash-completion/Makefile.am: Likewise.
* bash-completion/abicompat: Likewise.
* bash-completion/abidiff: Likewise.
* bash-completion/abidw: Likewise.
* bash-completion/abilint: Likewise.
* bash-completion/abinilint: Likewise.
* bash-completion/abipkgdiff: Likewise.
* bash-completion/abisym: Likewise.
* bash-completion/fedabipkgdiff: Likewise.
* configure.ac: Likewise.
* default.abignore: Likewise.
* doc/Makefile.am: Likewise.
* doc/api/libabigail.doxy: Likewise.
* doc/manuals/Makefile.am: Likewise.
* doc/website/libabigail-website.doxy: Likewise.
* include/Makefile.am: Likewise.
* include/abg-comp-filter.h: Likewise.
* include/abg-comparison.h: Likewise.
* include/abg-config.h: Likewise.
* include/abg-corpus.h: Likewise.
* include/abg-diff-utils.h: Likewise.
* include/abg-dwarf-reader.h: Likewise.
* include/abg-fwd.h: Likewise.
* include/abg-hash.h: Likewise.
* include/abg-ini.h: Likewise.
* include/abg-interned-str.h: Likewise.
* include/abg-ir.h: Likewise.
* include/abg-libxml-utils.h: Likewise.
* include/abg-libzip-utils.h: Likewise.
* include/abg-reader.h: Likewise.
* include/abg-regex.h: Likewise.
* include/abg-reporter.h: Likewise.
* include/abg-sptr-utils.h: Likewise.
* include/abg-suppression.h: Likewise.
* include/abg-tools-utils.h: Likewise.
* include/abg-traverse.h: Likewise.
* include/abg-version.h.in: Likewise.
* include/abg-viz-common.h: Likewise.
* include/abg-viz-dot.h: Likewise.
* include/abg-viz-svg.h: Likewise.
* include/abg-workers.h: Likewise.
* include/abg-writer.h: Likewise.
* scripts/dot_to_png.sh: Likewise.
* scripts/dot_to_svg.sh: Likewise.
* scripts/make-verbose.sh: Likewise.
* scripts/svg_to_plain_svg.sh: Likewise.
* scripts/svg_to_png_and_pdf.sh: Likewise.
* src/Makefile.am: Likewise.
* src/abg-comp-filter.cc: Likewise.
* src/abg-comparison-priv.h: Likewise.
* src/abg-comparison.cc: Likewise.
* src/abg-config.cc: Likewise.
* src/abg-corpus-priv.h: Likewise.
* src/abg-corpus.cc: Likewise.
* src/abg-default-reporter.cc: Likewise.
* src/abg-diff-utils.cc: Likewise.
* src/abg-dwarf-reader.cc: Likewise.
* src/abg-elf-helpers.cc: Likewise.
* src/abg-elf-helpers.h: Likewise.
* src/abg-hash.cc: Likewise.
* src/abg-ini.cc: Likewise.
* src/abg-internal.h: Likewise.
* src/abg-ir-priv.h: Likewise.
* src/abg-ir.cc: Likewise.
* src/abg-leaf-reporter.cc: Likewise.
* src/abg-libxml-utils.cc: Likewise.
* src/abg-libzip-utils.cc: Likewise.
* src/abg-reader.cc: Likewise.
* src/abg-regex.cc: Likewise.
* src/abg-reporter-priv.cc: Likewise.
* src/abg-reporter-priv.h: Likewise.
* src/abg-suppression-priv.h: Likewise.
* src/abg-suppression.cc: Likewise.
* src/abg-tools-utils.cc: Likewise.
* src/abg-traverse.cc: Likewise.
* src/abg-viz-common.cc: Likewise.
* src/abg-viz-dot.cc: Likewise.
* src/abg-viz-svg.cc: Likewise.
* src/abg-workers.cc: Likewise.
* src/abg-writer.cc: Likewise.
* tests/Makefile.am: Likewise.
* tests/data/Makefile.am: Likewise.
* tests/lib/catch.cc: Likewise.
* tests/mockfedabipkgdiff.in: Likewise.
* tests/print-diff-tree.cc: Likewise.
* tests/runtestcanonicalizetypes.sh.in: Likewise.
* tests/runtestdefaultsupprs.py.in: Likewise.
* tests/runtestdefaultsupprspy3.sh.in: Likewise.
* tests/runtestfedabipkgdiff.py.in: Likewise.
* tests/runtestfedabipkgdiffpy3.sh.in: Likewise.
* tests/test-abicompat.cc: Likewise.
* tests/test-abidiff-exit.cc: Likewise.
* tests/test-abidiff.cc: Likewise.
* tests/test-alt-dwarf-file.cc: Likewise.
* tests/test-annotate.cc: Likewise.
* tests/test-core-diff.cc: Likewise.
* tests/test-cxx-compat.cc: Likewise.
* tests/test-diff-dwarf-abixml.cc: Likewise.
* tests/test-diff-dwarf.cc: Likewise.
* tests/test-diff-filter.cc: Likewise.
* tests/test-diff-pkg.cc: Likewise.
* tests/test-diff-suppr.cc: Likewise.
* tests/test-diff2.cc: Likewise.
* tests/test-dot.cc: Change the SPDX identifier from
"GPL-3.0-or-later WITH GCC-exception-3.1" to "Apache-2.0 WITH
LLVM-exception"
* tests/test-elf-helpers.cc: Change the SPDX identifier from
"LGPL-3.0-or-later" to "Apache-2.0 WITH LLVM-exception"
* tests/test-ini.cc: Likewise.
* tests/test-ir-walker.cc: Likewise.
* tests/test-kmi-whitelist.cc: Likewise.
* tests/test-lookup-syms.cc: Likewise.
* tests/test-read-dwarf.cc: Likewise.
* tests/test-read-write.cc: Likewise.
* tests/test-svg.cc: Change the SPDX identifier from
"GPL-3.0-or-later WITH GCC-exception-3.1" to "Apache-2.0 WITH
LLVM-exception".
* tests/test-symtab.cc: Change the SPDX identifier from
"LGPL-3.0-or-later" to "Apache-2.0 WITH LLVM-exception"
* tests/test-tools-utils.cc: Likewise.
* tests/test-types-stability.cc: Likewise.
* tests/test-utils.cc: Likewise.
* tests/test-utils.h: Likewise.
* tests/test-write-read-archive.cc: Likewise.
* tests/update-test-output.py: Likewise.
* tools/Makefile.am: Likewise.
* tools/abiar.cc: Likewise.
* tools/abicompat.cc: Likewise.
* tools/abidiff.cc: Likewise.
* tools/abidw.cc: Likewise.
* tools/abilint.cc: Likewise.
* tools/abipkgdiff.cc: Likewise.
* tools/abisym.cc: Likewise.
* tools/binilint.cc: Likewise.
* tools/fedabipkgdiff: Likewise.
* tools/kmidiff.cc: Likewise.
* update-copyright.sh: Likewise.
Signed-off-by: Benjamin De Kosnik <bkoz@gnu.org>
Signed-off-by: Ben Woodard <woodard@redhat.com>
Signed-off-by: Chenxiong Qi <cqi@redhat.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
Signed-off-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Jan Engelhardt <jengelh@inai.de>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Mark Wielaard <mark@klomp.org>
Signed-off-by: Matthias Klose <doko@ubuntu.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Ondrej Oprala <ondrej.oprala@gmail.com>
Signed-off-by: Roland McGrath <roland@hack.frob.com>
Signed-off-by: Sinny Kumari <ksinny@gmail.com>
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2020-12-02 11:49:13 +01:00
Dodji Seketeli
be6bf58308
Add missing SPDX headers to source files not specifying any license
...
Default to the project's defautl - LGPLv3+ - for those.
* Makefile.am: Add a LGPL-3.0-or-later SPDX header prefixed
with '##' so that that the header doesn't get emitted in the
resulting Makefile.in file. Note that the license of Makefile.in
files is "FSF All Permissible License", which virtually compatible
with anything.
* bash-completion/Makefile.am: Likewise.
* doc/Makefile.am: Likewise
* doc/manuals/Makefile.am: Likewise
* include/Makefile.am: Likewise
* src/Makefile.am: Likewise
* tests/Makefile.am: Likewise
* tests/data/Makefile.am: Likewise
* tools/Makefile.am: Likewise
* .clang-format: Add a LGPL-3.0-or-later SPDX header.
* bash-completion/abicompat: Likewise.
* bash-completion/abidiff: Likewise.
* bash-completion/abidw: Likewise.
* bash-completion/abilint: Likewise.
* bash-completion/abinilint: Likewise.
* bash-completion/abipkgdiff: Likewise.
* bash-completion/abisym: Likewise.
* bash-completion/fedabipkgdiff: Likewise.
* configure.ac: Likewise.
* default.abignore: Likewise.
* doc/api/libabigail.doxy: Likewise.
* doc/website/libabigail-website.doxy: Likewise.
* include/abg-version.h.in: Likewise.
* scripts/dot_to_png.sh: Likewise.
* scripts/dot_to_svg.sh: Likewise.
* scripts/make-verbose.sh: Likewise.
* scripts/svg_to_plain_svg.sh: Likewise.
* scripts/svg_to_png_and_pdf.sh: Likewise.
* tests/runtestcanonicalizetypes.sh.in: Likewise.
* tests/runtestdefaultsupprs.py.in: Likewise.
* tests/runtestdefaultsupprspy3.sh.in: Likewise.
* tests/runtestfedabipkgdiffpy3.sh.in: Likewise.
* tests/update-test-output.py: Likewise.
* update-copyright.sh: Likewise.
Signed-off-by: Benjamin De Kosnik <bkoz@gnu.org>
Signed-off-by: Ben Woodard <woodard@redhat.com>
Signed-off-by: Chenxiong Qi <cqi@redhat.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
Signed-off-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Jan Engelhardt <jengelh@inai.de>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Mark Wielaard <mark@klomp.org>
Signed-off-by: Matthias Klose <doko@ubuntu.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Ondrej Oprala <ondrej.oprala@gmail.com>
Signed-off-by: Roland McGrath <roland@hack.frob.com>
Signed-off-by: Sinny Kumari <ksinny@gmail.com>
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2020-12-02 11:44:56 +01:00
Giuliano Procida
cb1c49e126
clang-format: set continuation indentation to 2
...
This is a further tweak to the clang-format rules, bringing them
(on average) closer to the existing corpus of code.
The existing code mostly uses an indentaton of 2 spaces, rather than
4, for expressions broken across lines. There are exceptions such as
conditional expressions that are initialisers but clang-format's
indentation may be preferable to emacs' zero indentation here.
* .clang-format: Set ContinuationIndentWidth to 2.
Signed-off-by: Giuliano Procida <gprocida@google.com>
2020-05-18 10:48:09 +02:00
Matthias Maennich
06fef19000
clang-format: Better approximation for binary operators and assignments
...
The project style requires assignment operators to be on the first line
of two if the line needs to break. Reflect that in the .clang-format
configuration to approximate the style better when using clang-format.
* .clang-format: Add BreakBeforeBinaryOperators option.
Signed-off-by: Matthias Maennich <maennich@google.com>
2020-01-21 18:38:04 +00:00
Matthias Maennich
fb70149cb1
.clang-format: Add more options for match existing coding style
...
Add options for constructor intializers, using declarations and
consecutive declarations.
Even though sorting using declarations could be useful, it changes too
much existing code as of now.
* .clang-format: Add options for ConstructorInitializers
Set SortUsingDeclarations=false
Set AlignConsecutiveDeclarations=true
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-05-22 14:34:31 +02:00
Matthias Maennich
9c84181f99
Add .clang-format approximation
...
Add .clang-format definitions that are an approximation of the current
coding style. As I understand it, the current style is based on what GNU
Emacs implements for C++. Hence these rules might not be entirely
accurate, but a good-enough approximation to allow contributers to
follow the coding style more easily.
I expect modifications for specific cases and when clang-format itself
evolves over time.
As of now, this definition is most useful in partial code formatting,
such as executed by `git clang-format` on staged files or
clang-format.py as a means of integration into various editors.
* .clang-format: New File.
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-05-20 10:03:49 +02:00