Hello. I try to compile a package of C++ software for FreeBSD with CLANG which uses clang++. I have to use -stdlib=libc++ -std=c++11. I receive the following error and after consulting developers of the code I was informed that libc++ routine "std::isinf()" should return boolvec_t, but it returns obviously int. Well, I'm not an expert, I take this for true and I'm inclinded to ask here whether there is a bug I discover in the code I'm supposed to compile or whether this is a bug in the FreeBSD's libc++ implementation used. The fault is as follows: [...] /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/acosh.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 boolvec_t isinf() const { return std::isinf(v); } size>^~~~~~~~~~~~~ ../vecmathlib/pocl/../vec_sse_double1.h:75:5: note: size>candidate constructor boolvec(bvector_t x): v(x) {} ^ ../vecmathlib/pocl/../vec_sse_double1.h:76:5: note: candidate constructor boolvec(bool a): v(a) {} ^ ../vecmathlib/pocl/../vec_sse_double1.h:461:14: error: conversion from 'int' to 'boolvec_t' (aka 'boolvec<real_t, size>') is ambiguous return std::isnan(v); ^~~~~~~~~~~~~ ../vecmathlib/pocl/../vec_sse_double1.h:75:5: note: candidate constructor boolvec(bvector_t x): v(x) {} ^ ../vecmathlib/pocl/../vec_sse_double1.h:76:5: note: candidate constructor boolvec(bool a): v(a) {} ^ 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 boolvec_t isinf() const { return std::isinf(v); } ^~~~~~~~~~~~~ ../vecmathlib/pocl/../vec_sse_double1.h:75:5: note: candidate constructor boolvec(bvector_t x): v(x) {} ^ ../vecmathlib/pocl/../vec_sse_double1.h:76:5: note: candidate constructor boolvec(bool a): v(a) {} ^ ../vecmathlib/pocl/../vec_sse_double1.h:461:14: error: conversion from 'int' to 'boolvec_t' (aka 'boolvec<real_t, size>') is ambiguous return std::isnan(v); ^~~~~~~~~~~~~ ../vecmathlib/pocl/../vec_sse_double1.h:75:5: note: candidate constructor boolvec(bvector_t x): v(x) {} ^ ../vecmathlib/pocl/../vec_sse_double1.h:76:5: note: candidate constructor boolvec(bool a): v(a) {} Regards, Oliver
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:39 UTC