Re: [libcxx] r276092 - Unbreak is_constructible tests for Clang <= 3.7.

2016-07-20 Thread Eric Fiselier via cfe-commits
I think it should be fixed in r276200. I'll watch the bots.

On Wed, Jul 20, 2016 at 4:39 PM, Eric Fiselier  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  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.

2016-07-20 Thread Eric Fiselier via cfe-commits
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.

2016-07-20 Thread Lang Hames via cfe-commits
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.

2016-07-20 Thread Eric Fiselier via cfe-commits
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