lichray marked 3 inline comments as done.
lichray added inline comments.

================
Comment at: include/charconv:234
+to_chars(char* __first, char* __last, _Tp __value, int __base)
+    -> to_chars_result
+{
----------------
mclow.lists wrote:
> Why use the trailing return type here?
> I don't see any advantage - it doesn't depend on the parameters (template or 
> runtime).
> 
> 
Because clang-format doesn't distinguish storage specifiers and 
simple-type-specifiers, and I want to format return types along with function 
signatures rather than letting hanging somewhere.


================
Comment at: src/support/itoa/itoa.cpp:35
+
+#define APPEND1(i)                              \
+    do                                          \
----------------
mclow.lists wrote:
> lichray wrote:
> > EricWF wrote:
> > > Any reason these can't be `static` functions? The compiler should 
> > > optimize them away nicely.
> > Although yes, but that's what the author provides.  It's an implementation 
> > file, so it doesn't matter I guess.
> It *does* matter, since we'll have to maintain this.
> 
> It would also be nice if they had meaningful names.
I tried (template + forceinline), and the binary was optimized differently 
(emitted ~100 more instructions).  The author have tuned these really well.  A 
syntax like `buffer = append1(buffer, v)` may work better, I guess, but that 
adds lots of noises.

These macros are not complex.  They just emit a integer of width 1234 to digits.


Repository:
  rCXX libc++

https://reviews.llvm.org/D41458



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

Reply via email to