Diffusion KWin ea5d611de1bc

Require C++14

Authored by graesslin on Jul 11 2017, 6:08 PM.


Require C++14

KWin already used C++14 constructs in a conditional way. This doesn't
make much sense today, it's better to just require C++14.

For KWin only gcc and clang are currently compilers of relevance. Gcc
supports C++14 since version 5 and defaults to C++14 since 6.1 [1].
Clang supports C++14 since version 3.4 [2].

An overview of compiler support in various distributions:

  • Debian stable (stretch): gcc 6.3, clang 3.8
  • Debian oldstable (jessie): 4.9, clang 3.5
  • Ubuntu 17.04: gcc 6.1, clang 3.8
  • Ubuntu 16.04: gcc 5.3, clang 3.8
  • openSUSE Tumbleweed: gcc 7.1, clang 4.0
  • openSUSE Leap 42.3: gcc ?, clang ? [3]
  • FreeBSD: clang >= 34 in ports
  • Slackware 14.2: gcc 5.3

This overview shows that every distro out there has at least one
supported compiler which can still compile KWin with this change.

[1] https://gcc.gnu.org/projects/cxx-status.html#cxx14
[2] https://clang.llvm.org/cxx_status
[3] Sorry I fail to understand openSUSE's package repository.

It seems that there is gcc 7 available, but gcc package is 4.8

Test Plan: Compiles on my neon system

Reviewers: Plasma

Subscribers: plasma-devel, kwin, KWin

Tags: KWin

Differential Revision: https://phabricator.kde.org/D6634


graesslinJul 17 2017, 2:53 PM
Differential Revision
D6634: Require C++14
R108:8e2805ce9d4b: Merge branch 'Plasma/5.10'