[Mesa-dev] swr forces c++11 for whole compilation
Jose Fonseca
jfonseca at vmware.com
Wed Apr 13 12:48:45 UTC 2016
On 13/04/16 11:43, Ilia Mirkin wrote:
> Hi Tim,
>
> It seems like building swr forces c++11 mode for the whole build, even
> other drivers being built that aren't necessarily ready for it.
> Unfortunately c++11 isn't backwards compatible with c++03, so the switch
> can't be made unilaterally. Could you have a look at why this is happening?
>
> An example of something that does this properly is clover, which also
> requires c++11 to be built.
>
> Thanks,
>
> -ilia
>
Ilia,
Even before SWR was merged and today's isinf fix was commited,
nv50_ir_ra.cpp already has code to make it portable for C++11 (see below).
I honestly don't understand what you're trying to achieve with this
thread...
Are you seriously plan to require C++03 to build nouveau? It would be
insane try to do that once GCC 6 is widely available.
Rather than see you swimming upstream, I much rather see you helping me
helping you to keep nouveau C++11 portable...
Jose
$ git grep -C3 __cplusplus
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-#include <algorithm>
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-#include <stack>
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-#include <limits>
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:#if __cplusplus >=
201103L
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-#include <unordered_map>
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-#else
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-#include
<tr1/unordered_map>
--
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-namespace nv50_ir {
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:#if __cplusplus >=
201103L
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-using std::hash;
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-using std::unordered_map;
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-#elif !defined(ANDROID)
--
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-
bestScore = score;
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp- }
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp- }
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:#if __cplusplus >=
201103L
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp- if
(std::isinf(bestScore)) {
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp-#else
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp- if
(isinf(bestScore)) {
More information about the mesa-dev
mailing list