On Fri, 5 Jul 2013 08:36:34 -0400 Erik Schnetter <[email protected]> wrote:
> On Fri, Jul 5, 2013 at 5:47 AM, O. Hartmann > <[email protected]>wrote: > > > On Thu, 4 Jul 2013 15:30:35 -0400 > > Erik Schnetter <[email protected]> wrote: > > > > > I have, once again, uploaded a new release candidate tarball. This > > > mainly addresses build problems caused by inconsistencies/errors > > > in the kernel library. > > > > > > The 0.8 release branch now uses a simplified logic for letting > > > Vecmathlib override kernel functions. Also, Vecmathlib has been > > > updated, and some minor errors have been corrected. > > > > > > -erik > > > > > > > I receive the error message below on FreeBSD 10.0-CURRENT (CLANG 3.3 > > compiler): > > > > [...] > > > > /usr/bin/clang++ -Xclang -ffake-address-space-map -std=c++11 > > -fno-exceptions -emit-llvm -ffp-contract=off -stdlib=libc++ -c > > -target amd64-portbld-freebsd10.0 -o > > acosh.cc.bc ../vecmathlib/pocl/acosh.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:89: > > ../vecmathlib/pocl/../vec_sse_double1.h:451:38: > > error: conversion from 'int' to 'boolvec_t' (aka 'boolvec<real_t, > > size>') is ambiguous > > > std::isnan() is supposed to return bool in C++11. Apparently it > returns int on your platform? This is strange. Can you check whether > this is indeed the case, given the options -std=c++11 and > -stdlib=libc++ you are using? > > -erik > As far as I can examine from the sources, isnan() returns bool: (header cmath of libc++ sources): [...] // C99 bool signbit(arithmetic x); int fpclassify(arithmetic x); bool isfinite(arithmetic x); bool isinf(arithmetic x); bool isnan(arithmetic x); bool isnormal(arithmetic x); bool isgreater(arithmetic x, arithmetic y); bool isgreaterequal(arithmetic x, arithmetic y); bool isless(arithmetic x, arithmetic y); bool islessequal(arithmetic x, arithmetic y); bool islessgreater(arithmetic x, arithmetic y); bool isunordered(arithmetic x, arithmetic y); [...] So, there must be something different triggering the error using CLANG with -std=libc++ as provided by FreeBSD. I'm no developer, so excuse my possibly naive view on things. Is there a way to examine the behaviour of the compiler's return value using -std=c++11 others than examining the sources? It might be possible that I made a mistake ... Oliver
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev
_______________________________________________ pocl-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/pocl-devel
