[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95041.
EricWF added a comment.

- Add comment explaining `_GNUC_VER_NEW`.


https://reviews.llvm.org/D31515

Files:
  include/__config
  include/type_traits
  
test/libcxx/utilities/meta/meta.unary/meta.unary.prop/missing_is_aggregate_trait.fail.cpp
  test/std/utilities/meta/meta.unary/meta.unary.prop/is_aggregate.pass.cpp
  www/cxx1z_status.html

Index: www/cxx1z_status.html
===
--- www/cxx1z_status.html
+++ www/cxx1z_status.html
@@ -480,7 +480,7 @@
 	http://wg21.link/LWG2904;>2904Make variant move-assignment more exception safeKona
 	http://wg21.link/LWG2905;>2905is_constructible_vunique_ptrP, D, P, D const  should be false when D is not copy constructibleKona
 	http://wg21.link/LWG2908;>2908The less-than operator for shared pointers could do moreKona
-	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKona
+	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKonaComplete
 	http://wg21.link/LWG2921;>2921packaged_task and type-erased allocatorsKona
 	http://wg21.link/LWG2934;>2934optionalconst T doesn't compare with TKonaComplete
 

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-04-06 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision.
mclow.lists added a comment.
This revision is now accepted and ready to land.

LGTM


https://reviews.llvm.org/D31515



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93607.
EricWF added a comment.

- Fix typo in `// UNSUPPORTED` directive.


https://reviews.llvm.org/D31515

Files:
  include/__config
  include/type_traits
  
test/libcxx/utilities/meta/meta.unary/meta.unary.prop/missing_is_aggregate_trait.fail.cpp
  test/std/utilities/meta/meta.unary/meta.unary.prop/is_aggregate.pass.cpp
  www/cxx1z_status.html

Index: www/cxx1z_status.html
===
--- www/cxx1z_status.html
+++ www/cxx1z_status.html
@@ -480,7 +480,7 @@
 	http://wg21.link/LWG2904;>2904Make variant move-assignment more exception safeKona
 	http://wg21.link/LWG2905;>2905is_constructible_vunique_ptrP, D, P, D const  should be false when D is not copy constructibleKona
 	http://wg21.link/LWG2908;>2908The less-than operator for shared pointers could do moreKona
-	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKona
+	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKonaComplete
 	http://wg21.link/LWG2921;>2921packaged_task and type-erased allocatorsKona
 	http://wg21.link/LWG2934;>2934optionalconst T doesn't compare with TKonaComplete
 

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93606.
EricWF added a comment.

- Fix accidental change.


https://reviews.llvm.org/D31515

Files:
  include/__config
  include/type_traits
  
test/libcxx/utilities/meta/meta.unary/meta.unary.prop/missing_is_aggregate_trait.fail.cpp
  test/std/utilities/meta/meta.unary/meta.unary.prop/is_aggregate.pass.cpp
  www/cxx1z_status.html

Index: www/cxx1z_status.html
===
--- www/cxx1z_status.html
+++ www/cxx1z_status.html
@@ -480,7 +480,7 @@
 	http://wg21.link/LWG2904;>2904Make variant move-assignment more exception safeKona
 	http://wg21.link/LWG2905;>2905is_constructible_vunique_ptrP, D, P, D const  should be false when D is not copy constructibleKona
 	http://wg21.link/LWG2908;>2908The less-than operator for shared pointers could do moreKona
-	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKona
+	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKonaComplete
 	http://wg21.link/LWG2921;>2921packaged_task and type-erased allocatorsKona
 	http://wg21.link/LWG2934;>2934optionalconst T doesn't compare with TKonaComplete
 

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93605.
EricWF added a comment.

GCC implemented `__is_aggregate` hours ago as part of 7.0.1. Update the feature 
checks to reflect that.


https://reviews.llvm.org/D31515

Files:
  include/__config
  include/type_traits
  
test/libcxx/utilities/meta/meta.unary/meta.unary.prop/missing_is_aggregate_trait.fail.cpp
  test/std/utilities/meta/meta.unary/meta.unary.prop/is_aggregate.pass.cpp
  www/cxx1z_status.html

Index: www/cxx1z_status.html
===
--- www/cxx1z_status.html
+++ www/cxx1z_status.html
@@ -480,7 +480,7 @@
 	http://wg21.link/LWG2904;>2904Make variant move-assignment more exception safeKona
 	http://wg21.link/LWG2905;>2905is_constructible_vunique_ptrP, D, P, D const  should be false when D is not copy constructibleKona
 	http://wg21.link/LWG2908;>2908The less-than operator for shared pointers could do moreKona
-	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKona
+	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKonaComplete
 	http://wg21.link/LWG2921;>2921packaged_task and type-erased allocatorsKona
 	http://wg21.link/LWG2934;>2934optionalconst T doesn't compare with TKonaComplete
 

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-03-30 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision.

This patch implements http://cplusplus.github.io/LWG/lwg-defects.html#2911.

I'm putting this up for review until __is_aggregate is added to clang (See 
https://reviews.llvm.org/D31513)


https://reviews.llvm.org/D31515

Files:
  include/__config
  include/type_traits
  
test/libcxx/utilities/meta/meta.unary/meta.unary.prop/missing_is_aggregate_trait.fail.cpp
  test/std/utilities/meta/meta.unary/meta.unary.prop/is_aggregate.pass.cpp
  www/cxx1z_status.html

Index: www/cxx1z_status.html
===
--- www/cxx1z_status.html
+++ www/cxx1z_status.html
@@ -480,7 +480,7 @@
 	http://wg21.link/LWG2904;>2904Make variant move-assignment more exception safeKona
 	http://wg21.link/LWG2905;>2905is_constructible_vunique_ptrP, D, P, D const  should be false when D is not copy constructibleKona
 	http://wg21.link/LWG2908;>2908The less-than operator for shared pointers could do moreKona
-	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKona
+	http://wg21.link/LWG2911;>2911An is_aggregate type trait is neededKonaComplete
 	http://wg21.link/LWG2921;>2921packaged_task and type-erased allocatorsKona
 	http://wg21.link/LWG2934;>2934optionalconst T doesn't compare with TKonaComplete