<div dir="ltr"><a href="https://clang.llvm.org/get_involved.html">https://clang.llvm.org/get_involved.html</a> discusses the considerations for proposing extensions to clang - likely this might be best prototyped in a fork of clang (clang being on github, this should be fairly low-cost) & if a significant user base forms around it, and/or it's the sort of thing you could propose for standardization in the relevant bodies (I guess getting a proposal for the C standard would be the place to start) then it might be good to discuss upstreaming it into clang proper<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 20, 2020 at 7:15 AM JF Knudsen via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">There is no contradictions.<br>
<br>
fmt doesn't work with C. I'm also using C++ in freestanding env without <br>
STL on small devices with no dynamic memory allocation.<br>
<br>
I still think that would be a nice addition, with no need to modify <br>
existing libraries.<br>
<br>
On 20.03.20 17:06, Keane, Erich via cfe-dev wrote:<br>
> What about the fmt library? <a href="https://github.com/fmtlib/fmt" rel="noreferrer" target="_blank">https://github.com/fmtlib/fmt</a><br>
><br>
> A version of this was accepted to the c++20 spec, so in addition it'll be portable.<br>
><br>
> -----Original Message-----<br>
> From: cfe-dev <<a href="mailto:cfe-dev-bounces@lists.llvm.org" target="_blank">cfe-dev-bounces@lists.llvm.org</a>> On Behalf Of JF Knudsen via cfe-dev<br>
> Sent: Thursday, March 19, 2020 11:53 PM<br>
> To: <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
> Subject: [cfe-dev] printf-like function.<br>
><br>
> Hi all,<br>
><br>
> I'm a printf-like function lover. I always found that better than doing something like out << "blabla : " << var1 << ", blabla" << etc.<br>
><br>
> Now, I use a lot of different platforms and to be portable, I'm supposed to use PRIxxx constants for portability. For me that half-breaks the readability of printf format.<br>
><br>
> What about a new set of functions that'll be specified slightly differently :<br>
><br>
> accepting %d for ANY number ? The compiler can modify the format litteral at compile time to fit what's needed for that platform, replacing %d by %hhd, %hd, %d, %ld, %lld, %hhu etc..<br>
> Replacing the litteral format at compile time prevents to modify the vararg mechanism.<br>
><br>
> Of course, if format is not litteral : no replacement !<br>
><br>
> OR<br>
><br>
> 2bis) some attributes could be passed on to this function so it'll know what to expect at runtime. I'm guessing modifying vararg mechanism to add attributes might be nearly impossible...<br>
><br>
><br>
> I'm interested of what would you all think about that ?<br>
><br>
> Thanks.<br>
><br>
><br>
> PS : we could do the same with %s that could accept char*, wchar_t*, char16_t*, char32_t*.<br>
><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>