<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libc/src/stdio/baremetal/printf.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[libc] Add printf error handling (with fixes #2) (#166517)</title>
<updated>2025-11-05T21:09:53+00:00</updated>
<author>
<name>Marcell Leleszi</name>
<email>59964679+mleleszi@users.noreply.github.com</email>
</author>
<published>2025-11-05T21:09:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9e2f73fe9052a4fbf382a06e30b2441c6d99fb7e'/>
<id>9e2f73fe9052a4fbf382a06e30b2441c6d99fb7e</id>
<content type='text'>
https://github.com/llvm/llvm-project/issues/159474

Another try of trying to land
https://github.com/llvm/llvm-project/pull/166382
- Fix some leftover tests checking for specific  errnos
- Guard errno checking tests to not run on the GPU

@michaelrj-google</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/llvm/llvm-project/issues/159474

Another try of trying to land
https://github.com/llvm/llvm-project/pull/166382
- Fix some leftover tests checking for specific  errnos
- Guard errno checking tests to not run on the GPU

@michaelrj-google</pre>
</div>
</content>
</entry>
<entry>
<title>Revert commit d8e5698 and 15b19c7 (#166498)</title>
<updated>2025-11-05T03:43:16+00:00</updated>
<author>
<name>Kewen Meng</name>
<email>Kewen.Meng@amd.com</email>
</author>
<published>2025-11-05T03:43:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c5aaee0bb07b221e5d3314bbdcf1abc4a604d6bd'/>
<id>c5aaee0bb07b221e5d3314bbdcf1abc4a604d6bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Add printf error handling (with fixes) (#166382)</title>
<updated>2025-11-05T00:20:51+00:00</updated>
<author>
<name>Marcell Leleszi</name>
<email>59964679+mleleszi@users.noreply.github.com</email>
</author>
<published>2025-11-05T00:20:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d8e56988f87ecdfa0b9bfdb269f6d904840cc6dd'/>
<id>d8e56988f87ecdfa0b9bfdb269f6d904840cc6dd</id>
<content type='text'>
https://github.com/llvm/llvm-project/issues/159474

Resubmitting https://github.com/llvm/llvm-project/pull/162876 with fixes
as it broke some buildbots:
 - Fix comparisons of integer expressions of different signedness
- Not check for specific errnos in tests, as they might not be available
on all platforms</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/llvm/llvm-project/issues/159474

Resubmitting https://github.com/llvm/llvm-project/pull/162876 with fixes
as it broke some buildbots:
 - Fix comparisons of integer expressions of different signedness
- Not check for specific errnos in tests, as they might not be available
on all platforms</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[libc] Add printf error handling" (#166232)</title>
<updated>2025-11-03T20:50:11+00:00</updated>
<author>
<name>Kewen Meng</name>
<email>Kewen.Meng@amd.com</email>
</author>
<published>2025-11-03T20:50:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=346da3dfd3e70ca82a7df968c79666ff0b8c77c5'/>
<id>346da3dfd3e70ca82a7df968c79666ff0b8c77c5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Add printf error handling (#162876)</title>
<updated>2025-11-03T19:15:14+00:00</updated>
<author>
<name>Marcell Leleszi</name>
<email>59964679+mleleszi@users.noreply.github.com</email>
</author>
<published>2025-11-03T19:15:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0c707c9713f0657f7208b8f9a95a13af749d95c5'/>
<id>0c707c9713f0657f7208b8f9a95a13af749d95c5</id>
<content type='text'>
[#159474](https://github.com/llvm/llvm-project/issues/159474)

- All printf variants set errno and consistently return -1 on error,
instead of returning various predefined error codes
- Return value overflow handling is added</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[#159474](https://github.com/llvm/llvm-project/issues/159474)

- All printf variants set errno and consistently return -1 on error,
instead of returning various predefined error codes
- Return value overflow handling is added</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[libc] Migrate from baremetal stdio.h to generic stdio.h" (#156371)</title>
<updated>2025-09-01T20:47:28+00:00</updated>
<author>
<name>William Huynh</name>
<email>William.Huynh@arm.com</email>
</author>
<published>2025-09-01T20:47:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0b1a17c6ccf7e72e4a1044008a655c5e75479b0b'/>
<id>0b1a17c6ccf7e72e4a1044008a655c5e75479b0b</id>
<content type='text'>
Reverts llvm/llvm-project#152748</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#152748</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Migrate from baremetal stdio.h to generic stdio.h (#152748)</title>
<updated>2025-09-01T09:28:42+00:00</updated>
<author>
<name>William Huynh</name>
<email>William.Huynh@arm.com</email>
</author>
<published>2025-09-01T09:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=020dff4be832e035a24fcdb13e26d7c2e69887eb'/>
<id>020dff4be832e035a24fcdb13e26d7c2e69887eb</id>
<content type='text'>
This is a follow up to the RFC here:

https://discourse.llvm.org/t/rfc-implementation-of-stdio-on-baremetal/86944

This provides the stdout/stderr/stdin symbols (which now don't have to
provided by the user). This allows the user to have access to all
functions, currently I've only tested `fprintf` but in theory everything
that works in the generic folder should work in the baremetal
configuration.

All streams are _non-buffered_, which does NOT require flushing. It is
based on the CookieFile that already existed</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a follow up to the RFC here:

https://discourse.llvm.org/t/rfc-implementation-of-stdio-on-baremetal/86944

This provides the stdout/stderr/stdin symbols (which now don't have to
provided by the user). This allows the user to have access to all
functions, currently I've only tested `fprintf` but in theory everything
that works in the generic folder should work in the baremetal
configuration.

All streams are _non-buffered_, which does NOT require flushing. It is
based on the CookieFile that already existed</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Change default behaviour of baremetal/printf to use stdout (#143703)</title>
<updated>2025-06-16T19:22:58+00:00</updated>
<author>
<name>William Huynh</name>
<email>William.Huynh@arm.com</email>
</author>
<published>2025-06-16T19:22:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=402c376daa659c0c3a477ad038a415079ffa0a48'/>
<id>402c376daa659c0c3a477ad038a415079ffa0a48</id>
<content type='text'>
In #94078, `write_to_stdout` had not been fully implemented. However,
now that it has been implemented, to conform with the C standard
(7.23.6.3. The printf function, specifically point 2), we use `stdout`.
This issue is tracked in #94685.

- Also prefer `static constexpr`
- Made it explicit that we are writing to `stdout`</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In #94078, `write_to_stdout` had not been fully implemented. However,
now that it has been implemented, to conform with the C standard
(7.23.6.3. The printf function, specifically point 2), we use `stdout`.
This issue is tracked in #94685.

- Also prefer `static constexpr`
- Made it explicit that we are writing to `stdout`</pre>
</div>
</content>
</entry>
<entry>
<title>[stdio][baremetal] Fix templating for print functions (#131232)</title>
<updated>2025-03-13T22:30:45+00:00</updated>
<author>
<name>PiJoules</name>
<email>6019989+PiJoules@users.noreply.github.com</email>
</author>
<published>2025-03-13T22:30:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=662bd4ca4714f0754e9abbc088da9d4a57171e2a'/>
<id>662bd4ca4714f0754e9abbc088da9d4a57171e2a</id>
<content type='text'>
This addresses build errors from https://github.com/llvm/llvm-project/pull/111559.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This addresses build errors from https://github.com/llvm/llvm-project/pull/111559.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Fix non-templated uses of `printf_core::Writer` (#131149)</title>
<updated>2025-03-13T18:37:18+00:00</updated>
<author>
<name>Simon Tatham</name>
<email>simon.tatham@arm.com</email>
</author>
<published>2025-03-13T18:37:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6fea340023af6ccbaed2d7fe790df565bcf75170'/>
<id>6fea340023af6ccbaed2d7fe790df565bcf75170</id>
<content type='text'>
Commit 598e882ee88a1e3 turned `Writer` into a template, and updated most
of the call sites that use it. But not all. The alternative FP printf
system in `float_dec_converter_limited.h` wasn't updated, and neither
was `baremetal/printf.cpp` or `baremetal/vprintf.cpp`.

This patch updates `float_dec_converter_limited.h` in the same way that
the previous commit updated `float_dec_converter.h`: propagate the
templatedness through everything in the header, so that anything using a
`Writer` at all has a `write_mode` template parameter to pass on to it.

`printf.cpp` and `vprintf.cpp` are updated in the same way that the
previous commit updated `printf_core/vfprintf_internal.h`: the
`WriteBuffer` has parameter `WriteMode::FLUSH_TO_STREAM`, and `Writer`
picks it up implicitly from that.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 598e882ee88a1e3 turned `Writer` into a template, and updated most
of the call sites that use it. But not all. The alternative FP printf
system in `float_dec_converter_limited.h` wasn't updated, and neither
was `baremetal/printf.cpp` or `baremetal/vprintf.cpp`.

This patch updates `float_dec_converter_limited.h` in the same way that
the previous commit updated `float_dec_converter.h`: propagate the
templatedness through everything in the header, so that anything using a
`Writer` at all has a `write_mode` template parameter to pass on to it.

`printf.cpp` and `vprintf.cpp` are updated in the same way that the
previous commit updated `printf_core/vfprintf_internal.h`: the
`WriteBuffer` has parameter `WriteMode::FLUSH_TO_STREAM`, and `Writer`
picks it up implicitly from that.</pre>
</div>
</content>
</entry>
</feed>
