From owner-freebsd-current@FreeBSD.ORG Sun Jul 7 08:11:41 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 90BD99C1 for ; Sun, 7 Jul 2013 08:11:41 +0000 (UTC) (envelope-from ohartman@zedat.fu-berlin.de) Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de [130.133.4.66]) by mx1.freebsd.org (Postfix) with ESMTP id 382D218D8 for ; Sun, 7 Jul 2013 08:11:40 +0000 (UTC) Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for freebsd-current@freebsd.org with esmtp (envelope-from ) id <1Uvk4D-001LAd-SV>; Sun, 07 Jul 2013 10:11:33 +0200 Received: from g226181082.adsl.alicedsl.de ([92.226.181.82] helo=thor.walstatt.dyndns.org) by inpost2.zedat.fu-berlin.de (Exim 4.80.1) for freebsd-current@freebsd.org with esmtpsa (envelope-from ) id <1Uvk4D-0032b6-NV>; Sun, 07 Jul 2013 10:11:33 +0200 Date: Sun, 7 Jul 2013 10:11:28 +0200 From: "O. Hartmann" To: FreeBSD CURRENT Subject: libc++: std::isinf() returns "int", is supposed to return boolvec_t Message-ID: <20130707101128.03579a41@thor.walstatt.dyndns.org> Organization: FU Berlin X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.19; amd64-portbld-freebsd10.0) Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/6zPmX=ldJTx0gtKU3Woks2_"; protocol="application/pgp-signature" X-Originating-IP: 92.226.181.82 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jul 2013 08:11:41 -0000 --Sig_/6zPmX=ldJTx0gtKU3Woks2_ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hello. I try to compile a package of C++ software for FreeBSD with CLANG which uses clang++. I have to use -stdlib=3Dlibc++ -std=3Dc++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=3Dc++11 -fno-exceptions -emit-llvm -ffp-contract=3Doff -stdlib=3Dlibc++ -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_d= ouble1.h:451:38: error: conversion from 'int' to 'boolvec_t' (aka 'boolvec') 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') 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') 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') 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 --Sig_/6zPmX=ldJTx0gtKU3Woks2_ Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (FreeBSD) iQEcBAEBAgAGBQJR2SK1AAoJEOgBcD7A/5N8jNsIANJ+7Jkk9/Vt8Ir5DliEaQQT cS2IcGTHGKA6+rtaQpqGy/lxJg3y8EYDfrCndLb21hctgbGUdfn4MRExu1iX5Kzt megavBE5riakGRBnj+iOs7ElR/eaBPz76/f7v8vLkjSZHJCqvZg8JBKEXSiWP4xq zKgfrr8NtWJw+el7q1TQ8DQdW0GUTbBSWpBrJ+D/uJvIPU4Wr2a8bLjmuM7lY8ls mY3m9SW9G/oO5GuF7qeTXc64Y73aQcnEZ2sMljQ35sF8EZe64JB/rDipKDnl3Yc/ OuymGfn7ootI/Kq7QxnWAzsuTAXtfyWH1KugfTDD4/vs07TvW9sJe/p5r+gNpsE= =3qwG -----END PGP SIGNATURE----- --Sig_/6zPmX=ldJTx0gtKU3Woks2_--