Gentoo Archives: gentoo-dev

From: Georg Rudoy <0xd34df00d@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: RFC: c++14 global USE flag
Date: Sat, 02 May 2015 22:19:08
Message-Id: CAGbUWSLF21U+hHZR+kiP6eN=wPMSYwiEv7ovQMeXaysB+q_DoQ@mail.gmail.com
In Reply to: Re: [gentoo-dev] Re: RFC: c++14 global USE flag by Kent Fredric
1 2015-05-03 0:17 GMT+03:00 Kent Fredric <kentfredric@×××××.com>:
2
3 >
4 > On 3 May 2015 at 09:11, Maxim Koltsov <maksbotan@g.o> wrote:
5 >
6 >> LeechCraft has some functionality that is implemented in C++14 and won't
7 >> be available otherwise.
8 >>
9 >
10 > Can you clarify the nature of that functionality?
11 >
12
13 The Tox support module and email client module (the latter isn't in tree
14 yet, but a good example anyway) both rely on relaxed constexpr from C++14.
15
16 In some of the newer code I rely on automatic return type deduction and
17 generic lambdas, for example, or some changes in STL. Thus, it's safer to
18 say that basically all new modules that are written (and would be written)
19 since ~January 2015 would require C++14 as a baseline language.
20
21 Moreover, C++14 allows writing more efficient code (without extra levels of
22 indirection induced by std::function required if one is to specify the
23 return type of a function returning a lambda, for example) in some places.
24
25
26 > Shouldn't the USE flag be thus in terms of what that functionality is, not
27 > in terms of the dependency required to provide it?
28 >
29
30 Since the most general criteria for the functionality is "whether C++14
31 compiler is available", "c++14" or something like that seems the best fit
32 for the USE flag name.
33
34 We have "idn" or "gnutls" or "python" etc USE flags after all, not
35 "support_international_names_in_blah" or
36 "allow_secure_news_fetching_in_foo" or "build_scripting_support_for_baz".
37
38 Or I just didn't get you here, sorry me in this case :)
39
40 --
41 Georg Rudoy

Replies

Subject Author
Re: [gentoo-dev] Re: RFC: c++14 global USE flag Kent Fredric <kentfredric@×××××.com>