Skip to content

Commit

Permalink
Release 2020.04
Browse files Browse the repository at this point in the history
We are happy to announce TaPaSCo 2020.04 coming right to you with a number of new platforms bringing TaPaSCo to the cloud and adding HBM support.

AWS Support
============
TaPaSCo now supports AWS F1 instances. Start generating bitstreams using our [guide](https://github.com/esa-tu-darmstadt/tapasco/wiki/TaPaSCo-on-AWS). No changes to your runtime necessary!

HBM Support
============
TaPaSCo now supports HBM enabled FPGAs, namely the XUPVVH from Bittware. Different HBM channels can be attached to the PEs as desired.

MPSoC and Zynq
==============

The driver and bitstream generation for MPSoC and Zynq has been modernized and is now easier to use than ever. This change comes with an entirely new root FS generator. In combination with these changes, TaPaSCo now supports the low cost entry to MPSoC: The Ultra96 v2.

Bugfixes
=======
In total this release closes 18 [Issues](https://github.com/esa-tu-darmstadt/tapasco/issues?q=is%3Aissue+milestone%3A2020.4+is%3Aclosed) in 317 commits.
  • Loading branch information
jahofmann committed May 11, 2020
2 parents b34dc15 + 9a398ed commit fb28934
Show file tree
Hide file tree
Showing 517 changed files with 33,726 additions and 9,728 deletions.
316 changes: 78 additions & 238 deletions .gitlab-ci.yml

Large diffs are not rendered by default.

63 changes: 14 additions & 49 deletions README.md
Expand Up @@ -11,7 +11,7 @@ TaPaSCo is known to work in this environment:

* Intel x86_64 arch
* Linux kernel 4.4+
* Fedora 26+, Ubuntu 16.04+
* Fedora 30+, Ubuntu 16.04+
* Fedora 24/25 does not support debug mode due to GCC bug
* Bash Shell 4.2.x+

Expand Down Expand Up @@ -95,7 +95,7 @@ Prerequisites for the Runtime

*Ubuntu*:
```
apt-get -y build-essential linux-headers-generic python cmake libelf-dev libncurses-dev git rpm
apt-get -y install build-essential linux-headers-generic python cmake libelf-dev libncurses-dev git rpm
```

*Fedora*:
Expand Down Expand Up @@ -176,62 +176,27 @@ We provided pre-compiled packages for many popular Linux distributions. All pack
### Ubuntu 16.04
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_ubuntu_16_04)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_ubuntu_16_04_debug)
[Runtime (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.deb?job=build_tapasco_ubuntu_16_04)
[Runtime Debug (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.deb?job=build_tapasco_ubuntu_16_04_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco_2019-10_amd64.deb?job=build_scala_tapasco_ubuntu_16_04)
[Runtime (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2020.04.0-Linux.deb?job=build_tapasco_ubuntu_16_04)
[Runtime Debug (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2020.04.0-Linux.deb?job=build_tapasco_ubuntu_16_04_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco_2020-04_amd64.deb?job=build_scala_tapasco_ubuntu_16_04)

### Ubuntu 18.04
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_ubuntu_18_04)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_ubuntu_18_04_debug)
[Runtime (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.deb?job=build_tapasco_ubuntu_18_04)
[Runtime Debug (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.deb?job=build_tapasco_ubuntu_18_04_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco_2019-10_amd64.deb?job=build_scala_tapasco_ubuntu_18_04)

### Ubuntu 18.10
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_ubuntu_18_10)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_ubuntu_18_10_debug)
[Runtime (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.deb?job=build_tapasco_ubuntu_18_10)
[Runtime Debug (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.deb?job=build_tapasco_ubuntu_18_10_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco_2019-10_amd64.deb?job=build_scala_tapasco_ubuntu_18_10)

### Ubuntu 19.04
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_ubuntu_19_04)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_ubuntu_19_04_debug)
[Runtime (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.deb?job=build_tapasco_ubuntu_19_04)
[Runtime Debug (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.deb?job=build_tapasco_ubuntu_19_04_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco_2019-10_amd64.deb?job=build_scala_tapasco_ubuntu_19_04)

### Fedora 27
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_27)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_27_debug)
[Runtime (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_27)
[Runtime Debug (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_27_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco-2019-10.x86_64.rpm?job=build_scala_tapasco_fedora_27)

### Fedora 28
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_28)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_28_debug)
[Runtime (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_28)
[Runtime Debug (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_28_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco-2019-10.x86_64.rpm?job=build_scala_tapasco_fedora_28)

### Fedora 29
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_29)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_29_debug)
[Runtime (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_29)
[Runtime Debug (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_29_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco-2019-10.x86_64.rpm?job=build_scala_tapasco_fedora_29)
[Runtime (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2020.04.0-Linux.deb?job=build_tapasco_ubuntu_18_04)
[Runtime Debug (DEB)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2020.04.0-Linux.deb?job=build_tapasco_ubuntu_18_04_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco_2020-04_amd64.deb?job=build_scala_tapasco_ubuntu_18_04)

### Fedora 30
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_30)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_30_debug)
[Runtime (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_30)
[Runtime Debug (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_30_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco-2019-10.x86_64.rpm?job=build_scala_tapasco_fedora_30)
[Runtime (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2020.04.0-Linux.rpm?job=build_tapasco_fedora_30)
[Runtime Debug (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2020.04.0-Linux.rpm?job=build_tapasco_fedora_30_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco-2020-04.x86_64.rpm?job=build_scala_tapasco_fedora_30)

### Fedora 31
[Kernel Driver](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_31)
[Kernel Driver Debug](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/runtime/kernel/tlkm.ko?job=build_kernel_fedora_31_debug)
[Runtime (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_31)
[Runtime Debug (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2019.10.0-Linux.rpm?job=build_tapasco_fedora_31_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco-2019-10.x86_64.rpm?job=build_scala_tapasco_fedora_31)
[Runtime (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2020.04.0-Linux.rpm?job=build_tapasco_fedora_31)
[Runtime Debug (RPM)](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/build/tapasco-2020.04.0-Linux.rpm?job=build_tapasco_fedora_31_debug)
[Toolflow](https://git.esa.informatik.tu-darmstadt.de/tapasco/tapasco/-/jobs/artifacts/master/raw/toolflow/scala/build/distributions/tapasco-2020-04.x86_64.rpm?job=build_scala_tapasco_fedora_31)
61 changes: 61 additions & 0 deletions misc/documentation/memory-benchmark.md
@@ -0,0 +1,61 @@
Memory Benchmark
=================

TaPaSCo includes a PE and example programs which can be used to measure the
memory performance.

You first have to import this PE and build a bitstream:
```
tapasco import $TAPASCO_HOME_TOOLFLOW/examples/MemoryBenchmark.zip as 321
tapasco compose [MemoryBenchmark x 1] @ 300MHz -p *your_platform*
```
You can also benchmark Non-DDR memory with this PE, e.g. HBM. For this you need to
connect the PE to the HBM memory as explained [here](tapasco-features.md#HBM).
Be aware that this PE includes two AXI Master Interfaces (M_AXI & M_AXI_BATCH),
you should connect both to HBM.
You can also include multiple MemoryBenchmark-PEs in your design, e.g. to test
the performance of multiple HBM ports in parallel.

## Example Programs

There are two example programs you can use to measure the performance, once
the bitstream is built and loaded onto your FPGA:

### memtest

This program requires one instance of the MemoryBenchmark-PE.
It benchmarks the performance for random accesse and batch accesses, as well as
the latency of read requests.

#### Random Access

For the random access performance the PE continously sends requests to the memory
for a given time (by default 1 second). The requests can either be read requests,
write requests or read and write requests in parallel.
At the end the number of completed requests is used to compute the average IOPS
and transfer rate.
The size of each request is capped at 4096 Bytes.

#### Batch Access

For the batch access performance the PE sends one request to the memory.
This can again be either a read request, a write request or a read and a write
request in parallel.
The time until the request is completed is measured and used to compute the
transfer rate. The example program repeats this multiple times (by default 1.000)
and calculates the average the transfer rate.
The maximum size of the requests is only capped by the available memory.

#### Read Latency

The PE sends one read request to the memory and measures the latency between
sending the request and receiving the first data packet.
Again this is repeated multiple times (by default 100.000) and the minimum,
average and maximum latency is computed.

### memtest-parallel

This program requires at least two instances of the MemoryBenchmark-PE.
It is similar to the `memtest` program, but can use multiple instances
of the PE to measure the performance when using them in parallel. This
is e.g. useful when measuring the performance of HBM.
40 changes: 40 additions & 0 deletions misc/documentation/tapasco-features.md
Expand Up @@ -77,3 +77,43 @@ Cache {

#### ATS-PRI
See [VC709](#VC709).

### XUP-VVH

#### HBM
Allows to connect a subset of the AXI master interfaces of PEs to HBM memory instead of DDR. Each AXI master will be connected to its individual memory block (-> no data sharing possible) of size 256 MB. Up to 32 AXI masters can be connected to HBM. This is configured by specifying "groups" consisting of a PE-ID, a count and one or multiple interface names.

```
HBM {
"HBM0": {
"ID": "PE1",
"Count": "2",
"Interfaces": "M_AXI"
},
"HBM1": {
"ID:"PE2",
"Count": "1",
"Interfaces": "M_AXI M_AXI_2"
}
}
```

This example connects the M_AXI interface of two PE1 instances and the M_AXI and M_AXI_2 interfaces of one PE2 instance to HBM. All other AXI masters are connected to DDR.

#### Regslice
Allows to enable or disable the optional AXI register slices. The register slices can help to achieve timing closure but introduce latency and may impact performance.

```
Regslice {
"DMA_HOST": true | false # used by DMA engine to access host memory
"DMA_MIGIC": false | true # used by DMA engine to access FPGA memory
"HOST_DMA": true | false # used to program DMA engine
"HOST_MEMCTRL": true | false # used to configure and query ECC
"HOST_ARCH": true | false # used to configure & start PEs
"ARCH_MEM": false | true # used by architecture for memory access; between interconnect network and memory
"PE": false | true # used by PEs for memory access; between PE and interconnect network (only for non HBM-memory)
"HBM_PE": false | true # used by PEs for memory access; between PE and smartconnect (only for HBM-memory)
"HBM_HBM": false | true # used by PEs for memory access; between smartconnect and HBM (only for HBM-memory)
}
```
If no value is given for a register slice (or for all), a default value is used. The default value for each register slice is the first value in the example above.
17 changes: 17 additions & 0 deletions misc/license/lgpl-v3.tmpl
@@ -0,0 +1,17 @@
Copyright (c) ${years} ${owner}.

This file is part of ${projectname}
(see ${projecturl}).

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
1 change: 1 addition & 0 deletions misc/license/licenseheader.sh
@@ -0,0 +1 @@
licenseheaders -t lgpl-v3.tmpl -y 2014-2020 -o "Embedded Systems and Applications, TU Darmstadt" -n TaPaSCo -u "https://github.com/esa-tu-darmstadt/tapasco"
30 changes: 21 additions & 9 deletions runtime/.clang-format
Expand Up @@ -3,24 +3,29 @@ Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: false
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: false
AfterEnum: false
Expand All @@ -39,6 +44,7 @@ BraceWrapping:
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
Expand All @@ -55,12 +61,12 @@ DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Expand All @@ -79,6 +85,7 @@ MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
Expand All @@ -87,20 +94,22 @@ PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
RawStringFormats:
- Delimiter: pb
Language: TextProto
BasedOnStyle: google
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
Expand All @@ -109,6 +118,9 @@ SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
UseTab: Never
...
Expand Down

0 comments on commit fb28934

Please sign in to comment.