On 2013-07-10, at 14:16 , Jianbin Fang - EWI <[email protected]> wrote:

> Hi,
> 
> When compiling pocl v0.8 rc6, I encountered the following problem on vml. Do 
> you have any idea what the problem is? My OS is Ubuntu 10.04 (64-bits), and I 
> am using llvm v3.3. 
> 
> Jianbin
> 
> ----------------------------------------------------------------------------------
> make[4]: Entering directory 
> `/home/cambine/Depository/llvm3.3/pocl-0.8rc6/lib/kernel/x86_64'
> /usr/local/bin/clang++ -Xclang -ffake-address-space-map -std=c++11 
> -fno-exceptions -emit-llvm -ffp-contract=off   -c -target 
> x86_64-unknown-linux-gnu -o acos.cc.bc ../vecmathlib/pocl/acos.cc -include 
> ../../../include/x86_64/types.h
> In file included from ../vecmathlib/pocl/acos.cc:3:
> In file included from ../vecmathlib/pocl/pocl-compat.h:8:
> In file included from ../vecmathlib/pocl/../vecmathlib.h:87:
> ../vecmathlib/pocl/../vec_sse_float1.h:448:41: error: conversion from 
> 'typename __gnu_cxx::__enable_if<__is_arithmetic<float>::__value, 
> int>::__type' (aka 'int') to 'boolvec_t'
>      (aka 'boolvec<real_t, size>') is ambiguous
>    boolvec_t isfinite() const { return std::isfinite(v); }
>                                        ^~~~~~~~~~~~~~~~

Jianbin

The problem is that clang-3.3, even with the option -std=c++11, is providing an 
"isfinite" function that does not correspond to the C++11 standard. (The Clang 
developers decided that Clang should, by default, use the C++ libraries 
available on the system, which is in your case probably a GNU libstdc++ that 
does not support C++11.)

This issue -- it is quite complex to make Clang actually provide C++11 
features, requiring installing additional libraries and using several 
additional flags for building and linking -- made me drop the requirement for 
C++11 for Vecmathlib. I have now uploaded a new release candidate (rc7) at 
<https://sourceforge.net/projects/pocl/files/>. Could you give this a try?

NOTE: Please do not use any -std=c++11 options when configuring pocl. This may 
confuse some code into thinking that C++11 features are available, when they 
are actually not.

-erik


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to