================
@@ -329,6 +329,14 @@ static void emitVectorOverload(const OverloadContext &Ctx, 
StringRef ElemType,
   });
 }
 
+/// Emit a dependent-size vector template overload for the given element type.
+static void emitLongVectorOverload(const OverloadContext &Ctx,
+                                   StringRef ElemType) {
+  emitOverload(Ctx, ElemType, [](StringRef ET) {
+    return ("vector<__detail::enable_if_t<(N > 4), " + ET + ">, N>").str();
----------------
bogner wrote:

I can't find the text right now, but I believe the TC57 wording is intended to 
be that the limit is implementation defined. DXC happens to choose 1024 but I 
don't think we need to follow suit here - from an implementation strategy 
perspective we're capable of legalizing whatever size until we run out of 
memory.

Omitting the upper limit in the template makes sense to me.

https://github.com/llvm/llvm-project/pull/216143
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to