I think it should be fixed in r276200. I'll watch the bots. On Wed, Jul 20, 2016 at 4:39 PM, Eric Fiselier <e...@efcs.ca> wrote:
> Hi Lang, > > Sorry about the breakage. I always forget __clang_major__ and > __clang_minor__ are useless when dealing with apple-clang. > Who can I complain to about that? > > I'll check in a fix shortly. > > /Eric > > On Wed, Jul 20, 2016 at 3:32 PM, Lang Hames <lha...@gmail.com> wrote: > >> Hi Eric, >> >> I'm seeing failures on the builders that look like they're related to >> this - >> http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-expensive/359/ >> >> Could you look in to what's going on here? >> >> - Lang. >> >> >> On Tue, Jul 19, 2016 at 11:36 PM, Eric Fiselier via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Author: ericwf >>> Date: Wed Jul 20 01:36:11 2016 >>> New Revision: 276092 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=276092&view=rev >>> Log: >>> Unbreak is_constructible tests for Clang <= 3.7. >>> >>> There is a bug in Clang's __is_constructible builtin that causes it >>> to return true for function types; ex [T = void()]. >>> >>> >>> >>> Modified: >>> >>> libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp >>> >>> libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp >>> >>> Modified: >>> libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp?rev=276092&r1=276091&r2=276092&view=diff >>> >>> ============================================================================== >>> --- >>> libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp >>> (original) >>> +++ >>> libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp >>> Wed Jul 20 01:36:11 2016 >>> @@ -151,9 +151,21 @@ int main() >>> test_is_constructible<PrivateDtor&, PrivateDtor&>(); >>> test_is_not_constructible<PrivateDtor, int>(); >>> >>> + test_is_not_constructible<void() const, void() const>(); >>> + test_is_not_constructible<void() const, void*>(); >>> + >>> +// TODO: Remove this workaround once Clang <= 3.7 are no longer used >>> regularly. >>> +// In those compiler versions the __is_constructible builtin gives the >>> wrong >>> +// results for abominable function types. >>> +#if defined(__clang__) && __clang_major__ == 3 && __clang_minor__ < 8 >>> +#define WORKAROUND_CLANG_BUG >>> +#endif >>> +#if !defined(WORKAROUND_CLANG_BUG) >>> + test_is_not_constructible<void()>(); >>> test_is_not_constructible<void() const> (); >>> test_is_not_constructible<void() volatile> (); >>> test_is_not_constructible<void() &> (); >>> test_is_not_constructible<void() &&> (); >>> #endif >>> +#endif >>> } >>> >>> Modified: >>> libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp?rev=276092&r1=276091&r2=276092&view=diff >>> >>> ============================================================================== >>> --- >>> libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp >>> (original) >>> +++ >>> libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp >>> Wed Jul 20 01:36:11 2016 >>> @@ -107,7 +107,19 @@ int main() >>> #if TEST_STD_VER >= 11 >>> test_is_not_default_constructible<B>(); >>> test_is_not_default_constructible<int&&>(); >>> + >>> +// TODO: Remove this workaround once Clang <= 3.7 are no longer used >>> regularly. >>> +// In those compiler versions the __is_constructible builtin gives the >>> wrong >>> +// results for abominable function types. >>> +#if defined(__clang__) && __clang_major__ == 3 && __clang_minor__ < 8 >>> +#define WORKAROUND_CLANG_BUG >>> +#endif >>> +#if !defined(WORKAROUND_CLANG_BUG) >>> test_is_not_default_constructible<void()>(); >>> - test_is_not_default_constructible<void() const>(); >>> + test_is_not_default_constructible<void() const> (); >>> + test_is_not_default_constructible<void() volatile> (); >>> + test_is_not_default_constructible<void() &> (); >>> + test_is_not_default_constructible<void() &&> (); >>> +#endif >>> #endif >>> } >>> >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> cfe-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>> >> >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits