Re: [libcxx] r276092 - Unbreak is_constructible tests for Clang <= 3.7.
I think it should be fixed in r276200. I'll watch the bots. On Wed, Jul 20, 2016 at 4:39 PM, Eric Fiselierwrote: > 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 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=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=276091=276092=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 (); >>> test_is_not_constructible (); >>> >>> +test_is_not_constructible (); >>> +test_is_not_constructible (); >>> + >>> +// 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 (); >>> test_is_not_constructible (); >>> test_is_not_constructible (); >>> test_is_not_constructible (); >>> test_is_not_constructible (); >>> #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=276091=276092=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(); >>> test_is_not_default_constructible (); >>> + >>> +// 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 (); >>> -test_is_not_default_constructible (); >>> +test_is_not_default_constructible (); >>> +test_is_not_default_constructible (); >>> +test_is_not_default_constructible (); >>> +test_is_not_default_constructible (); >>> +#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
Re: [libcxx] r276092 - Unbreak is_constructible tests for Clang <= 3.7.
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 Hameswrote: > 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=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=276091=276092=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 (); >> test_is_not_constructible (); >> >> +test_is_not_constructible (); >> +test_is_not_constructible (); >> + >> +// 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 (); >> test_is_not_constructible (); >> test_is_not_constructible (); >> test_is_not_constructible (); >> test_is_not_constructible (); >> #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=276091=276092=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(); >> test_is_not_default_constructible (); >> + >> +// 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 (); >> -test_is_not_default_constructible (); >> +test_is_not_default_constructible (); >> +test_is_not_default_constructible (); >> +test_is_not_default_constructible (); >> +test_is_not_default_constructible (); >> +#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
Re: [libcxx] r276092 - Unbreak is_constructible tests for Clang <= 3.7.
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=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=276091=276092=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(); > test_is_not_constructible (); > > +test_is_not_constructible (); > +test_is_not_constructible (); > + > +// 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 (); > test_is_not_constructible (); > test_is_not_constructible (); > test_is_not_constructible (); > test_is_not_constructible (); > #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=276091=276092=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(); > test_is_not_default_constructible (); > + > +// 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 (); > -test_is_not_default_constructible (); > +test_is_not_default_constructible (); > +test_is_not_default_constructible (); > +test_is_not_default_constructible (); > +test_is_not_default_constructible (); > +#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
[libcxx] r276092 - Unbreak is_constructible tests for Clang <= 3.7.
Author: ericwf Date: Wed Jul 20 01:36:11 2016 New Revision: 276092 URL: http://llvm.org/viewvc/llvm-project?rev=276092=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=276091=276092=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(); test_is_not_constructible (); +test_is_not_constructible (); +test_is_not_constructible (); + +// 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 (); test_is_not_constructible (); test_is_not_constructible (); test_is_not_constructible (); test_is_not_constructible (); #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=276091=276092=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(); test_is_not_default_constructible (); + +// 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 (); -test_is_not_default_constructible (); +test_is_not_default_constructible (); +test_is_not_default_constructible (); +test_is_not_default_constructible (); +test_is_not_default_constructible (); +#endif #endif } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits