Skip to content
  • Martin Flöser's avatar
    Require C++14 · ea5d611d
    Martin Flöser authored
    Summary:
    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
    ea5d611d