<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libc/include/stdlib.yaml, branch users/mingmingl-llvm/samplefdo-profile-format</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 NULL macro definitions to header files (#142764)</title>
<updated>2025-06-11T16:51:34+00:00</updated>
<author>
<name>William</name>
<email>113542065+saturn691@users.noreply.github.com</email>
</author>
<published>2025-06-11T16:51:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=117e78fe5012087c1ee535b91936bf4d8e3c7785'/>
<id>117e78fe5012087c1ee535b91936bf4d8e3c7785</id>
<content type='text'>
By the C standard, &lt;locale.h&gt;, &lt;stddef.h&gt; &lt;stdio.h&gt;, &lt;stdlib.h&gt;,
&lt;string.h&gt;, &lt;time.h&gt;, and &lt;wchar.h&gt; require NULL to be defined.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By the C standard, &lt;locale.h&gt;, &lt;stddef.h&gt; &lt;stdio.h&gt;, &lt;stdlib.h&gt;,
&lt;string.h&gt;, &lt;time.h&gt;, and &lt;wchar.h&gt; require NULL to be defined.</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib.yaml: qsort_r() is in POSIX 2024 (aka issue 8). (#138572)</title>
<updated>2025-05-06T13:36:10+00:00</updated>
<author>
<name>enh-google</name>
<email>enh@google.com</email>
</author>
<published>2025-05-06T13:36:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e79dc76b5f9131bd4af7ad807492537450a9ff2c'/>
<id>e79dc76b5f9131bd4af7ad807492537450a9ff2c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Combine the function prototype `int (*compar)(const void *, const void *)` (#134238)</title>
<updated>2025-04-03T16:36:23+00:00</updated>
<author>
<name>Connector Switch</name>
<email>c8ef@outlook.com</email>
</author>
<published>2025-04-03T16:36:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b738b82699e58fa50d15d76e1e26b58100ad344e'/>
<id>b738b82699e58fa50d15d76e1e26b58100ad344e</id>
<content type='text'>
Closes #134118.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #134118.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] implement `memalignment` (#132493)</title>
<updated>2025-03-28T23:07:57+00:00</updated>
<author>
<name>Mohamed Emad</name>
<email>73320969+hulxv@users.noreply.github.com</email>
</author>
<published>2025-03-28T23:07:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=48408954670e1f564bd92eed6b54bf155238201c'/>
<id>48408954670e1f564bd92eed6b54bf155238201c</id>
<content type='text'>
This patch adds the `memalignment` function to LLVM-libc, following its
description in [WG14 N3220,
§7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387).

- [x] Add the implementation of `memalignment` in
[`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib)
- [x] Add tests for `memalignment` in
[`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib)
- [x] Add `memalignment` to
[`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `memalignment` to
[`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml)




Closes #132300

---------

Co-authored-by: Joseph Huber &lt;huberjn@outlook.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the `memalignment` function to LLVM-libc, following its
description in [WG14 N3220,
§7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387).

- [x] Add the implementation of `memalignment` in
[`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib)
- [x] Add tests for `memalignment` in
[`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib)
- [x] Add `memalignment` to
[`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `memalignment` to
[`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml)




Closes #132300

---------

Co-authored-by: Joseph Huber &lt;huberjn@outlook.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] implement a64l (#128758)</title>
<updated>2025-02-25T21:57:13+00:00</updated>
<author>
<name>Michael Jones</name>
<email>michaelrj@google.com</email>
</author>
<published>2025-02-25T21:57:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8beec9fc48194224779e5428b625fe341e617129'/>
<id>8beec9fc48194224779e5428b625fe341e617129</id>
<content type='text'>
Implement the posix function a64l.
Standard:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/a64l.html</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement the posix function a64l.
Standard:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/a64l.html</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Fill out generated malloc.h and related stdlib.h extensions (#127293)</title>
<updated>2025-02-16T00:32:30+00:00</updated>
<author>
<name>Roland McGrath</name>
<email>mcgrathr@google.com</email>
</author>
<published>2025-02-16T00:32:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ed48398431afa477fc57fcabb6ae1f7d94df6012'/>
<id>ed48398431afa477fc57fcabb6ae1f7d94df6012</id>
<content type='text'>
This updates the generated stdlib.h and malloc.h headers to
include the subsets of extenion functions declared by glibc that
are also supported by Scudo and that use only simple types.
Scudo's extensions not declared by glibc are omitted.  glibc's
extensions not implemented by Scudo are omitted.  The mallinfo
and mallinfo2 functions are omitted (at least for now) since they
need struct definitions for their return types.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This updates the generated stdlib.h and malloc.h headers to
include the subsets of extenion functions declared by glibc that
are also supported by Scudo and that use only simple types.
Scudo's extensions not declared by glibc are omitted.  glibc's
extensions not implemented by Scudo are omitted.  The mallinfo
and mallinfo2 functions are omitted (at least for now) since they
need struct definitions for their return types.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Share hdrgen declarations between stdlib.h and malloc.h (#127278)</title>
<updated>2025-02-15T00:46:56+00:00</updated>
<author>
<name>Roland McGrath</name>
<email>mcgrathr@google.com</email>
</author>
<published>2025-02-15T00:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=625cb5a18576dd5d193da8d0249585cb5245da5c'/>
<id>625cb5a18576dd5d193da8d0249585cb5245da5c</id>
<content type='text'>
This uses the new merge_yaml_files feature in hdrgen to share the
source of truth for the malloc suite of functions declared in
both stdlib.h and in malloc.h (without either header including
the other).  It also modernizes the malloc.yaml definition a bit,
including dropping the custom template malloc.h.def file in favor
of using the explicit macros list to generate the includes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This uses the new merge_yaml_files feature in hdrgen to share the
source of truth for the malloc suite of functions declared in
both stdlib.h and in malloc.h (without either header including
the other).  It also modernizes the malloc.yaml definition a bit,
including dropping the custom template malloc.h.def file in favor
of using the explicit macros list to generate the includes.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] clean up duplicated includes in generated headers (#124524)</title>
<updated>2025-01-28T20:22:51+00:00</updated>
<author>
<name>Alex Prabhat Bara</name>
<email>alexpbara@gmail.com</email>
</author>
<published>2025-01-28T20:22:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a255da0c5373f4ebd10c91b011cd572e4d2a6b4c'/>
<id>a255da0c5373f4ebd10c91b011cd572e4d2a6b4c</id>
<content type='text'>
Fixes: #124149</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: #124149</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Revamp hdrgen command line and build integration (#121522)</title>
<updated>2025-01-07T23:56:12+00:00</updated>
<author>
<name>Roland McGrath</name>
<email>mcgrathr@google.com</email>
</author>
<published>2025-01-07T23:56:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6ad0dcf67f5dccdf8506ce5f51d793062a1c6879'/>
<id>6ad0dcf67f5dccdf8506ce5f51d793062a1c6879</id>
<content type='text'>
This adds a new main command-line entry point for hdrgen, in the
new main.py.  This new interface is used for generating a header.
The old ways of invoking yaml_to_classes.py for other purposes
are left there for now, but `--e` is renamed to `--entry-point`
for consistency with the new CLI.

The YAML schema is expanded with the `header_template` key where
the corresponding `.h.def` file's path is given relative to where
the YAML file is found.  The build integration no longer gives
the `.h.def` path on the command line.  Instead, the script now
emits a depfile that's used by the cmake rules to track that.
The output file is always explicit in the script command line
rather than sometimes being derived from a directory path.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a new main command-line entry point for hdrgen, in the
new main.py.  This new interface is used for generating a header.
The old ways of invoking yaml_to_classes.py for other purposes
are left there for now, but `--e` is renamed to `--entry-point`
for consistency with the new CLI.

The YAML schema is expanded with the `header_template` key where
the corresponding `.h.def` file's path is given relative to where
the YAML file is found.  The build integration no longer gives
the `.h.def` path on the command line.  Instead, the script now
emits a depfile that's used by the cmake rules to track that.
The output file is always explicit in the script command line
rather than sometimes being derived from a directory path.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Move hdrgen yaml files into include/ (#121443)</title>
<updated>2025-01-02T01:03:35+00:00</updated>
<author>
<name>Roland McGrath</name>
<email>mcgrathr@google.com</email>
</author>
<published>2025-01-02T01:03:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=62cd050b635cbb201dd08188696448cf5ab23260'/>
<id>62cd050b635cbb201dd08188696448cf5ab23260</id>
<content type='text'>
The .yaml files should live next to the corresponding .h.def
files in libc/include/, rather than next to the implementation of
the tool in libc/utils/hdrgen/.  As with the .h.def files, there
is no need for a yaml/ subdirectory under include/.  This simpler
layout is more natural for maintenance and also simplifies build
integration outside the LLVM CMake build.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The .yaml files should live next to the corresponding .h.def
files in libc/include/, rather than next to the implementation of
the tool in libc/utils/hdrgen/.  As with the .h.def files, there
is no need for a yaml/ subdirectory under include/.  This simpler
layout is more natural for maintenance and also simplifies build
integration outside the LLVM CMake build.</pre>
</div>
</content>
</entry>
</feed>
