<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libc/include, 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] Fix CMPLXF128 macro definition for aarch64. (#157157)</title>
<updated>2025-09-05T20:14:07+00:00</updated>
<author>
<name>lntue</name>
<email>lntue@google.com</email>
</author>
<published>2025-09-05T20:14:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=719b92dfb14cceb9e17eadda301bfb759d0778d7'/>
<id>719b92dfb14cceb9e17eadda301bfb759d0778d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Implement `CMPLX` for clang &lt; 12 (#157096)</title>
<updated>2025-09-05T14:46:38+00:00</updated>
<author>
<name>Connector Switch</name>
<email>c8ef@outlook.com</email>
</author>
<published>2025-09-05T14:46:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=caf5fb1c400bb825c90193719806ac373e94a981'/>
<id>caf5fb1c400bb825c90193719806ac373e94a981</id>
<content type='text'>
Fixes
https://github.com/llvm/llvm-project/pull/156344#issuecomment-3256837826</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes
https://github.com/llvm/llvm-project/pull/156344#issuecomment-3256837826</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Fix a comment for cfloat128.h (#157093)</title>
<updated>2025-09-05T13:16:03+00:00</updated>
<author>
<name>Connector Switch</name>
<email>c8ef@outlook.com</email>
</author>
<published>2025-09-05T13:16:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8e4457baa23e98a769597528922fbbedcfbb2572'/>
<id>8e4457baa23e98a769597528922fbbedcfbb2572</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Workaround for GCC on `typedef` for `_Complex __float128` (#157010)</title>
<updated>2025-09-05T05:50:35+00:00</updated>
<author>
<name>A. Jiang</name>
<email>de34@live.cn</email>
</author>
<published>2025-09-05T05:50:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=33a583d37795285553fde30c75a4fec3243e8bd0'/>
<id>33a583d37795285553fde30c75a4fec3243e8bd0</id>
<content type='text'>
Currently, GCC can't parse `typedef _Complex __float128 cfloat128;`,
although `__typeof__` can be used as a workaround. Reported
https://gcc.gnu.org/PR121799 which was later considered as duplicate of
https://gcc.gnu.org/PR32187.

Some recent changes exposed it to GCC and then caused CI failure for
libc++. This patch adds a workaround for GCC.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, GCC can't parse `typedef _Complex __float128 cfloat128;`,
although `__typeof__` can be used as a workaround. Reported
https://gcc.gnu.org/PR121799 which was later considered as duplicate of
https://gcc.gnu.org/PR32187.

Some recent changes exposed it to GCC and then caused CI failure for
libc++. This patch adds a workaround for GCC.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Implement CMPLX related macros (#156344)</title>
<updated>2025-09-05T02:08:04+00:00</updated>
<author>
<name>Connector Switch</name>
<email>c8ef@outlook.com</email>
</author>
<published>2025-09-05T02:08:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=78579b9157c230effa8b5e379e47ae33482689d4'/>
<id>78579b9157c230effa8b5e379e47ae33482689d4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Remove unused _Thread_local define from headers. (#156967)</title>
<updated>2025-09-04T21:02:43+00:00</updated>
<author>
<name>Alexey Samsonov</name>
<email>vonosmas@gmail.com</email>
</author>
<published>2025-09-04T21:02:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=369b2a783d90a501c7234ecfdd7c863bdb03ce3c'/>
<id>369b2a783d90a501c7234ecfdd7c863bdb03ce3c</id>
<content type='text'>
It was added in dd33f9cdef9f6209aa34713e1417f4a2e24e5ca6 to describe
thread-local errno, but is no longer used in the codebase (with the
exception of a single integration test, but the llvm-libc-provided
`#define _Thread_local thread_local` is not needed there anyway, since
`_Thread_local` is a keyword from C11 onwards.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was added in dd33f9cdef9f6209aa34713e1417f4a2e24e5ca6 to describe
thread-local errno, but is no longer used in the codebase (with the
exception of a single integration test, but the llvm-libc-provided
`#define _Thread_local thread_local` is not needed there anyway, since
`_Thread_local` is a keyword from C11 onwards.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] implement template functions for localtime (#110363)</title>
<updated>2025-09-03T21:55:02+00:00</updated>
<author>
<name>Zishan Mirza</name>
<email>zmirza@posteo.ch</email>
</author>
<published>2025-09-03T21:55:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=17bddd12245324311d10a681d606961914174c88'/>
<id>17bddd12245324311d10a681d606961914174c88</id>
<content type='text'>
This is an implementation for template functions of localtime.

Update for this pull request: Implementation as been removed from this
pull request and will be added to a new one. This is because this pull
request is getting big. This pull request will only contain template
functions in order to implement localtime.

Update: The implementation is available in
https://github.com/zimirza/llvm-project/tree/localtime_implementation.

---------

Co-authored-by: Зишан Мирза &lt;zmirza@tutanota.de&gt;
Co-authored-by: Zishan Mirza &lt;zmirza@posteo.de&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an implementation for template functions of localtime.

Update for this pull request: Implementation as been removed from this
pull request and will be added to a new one. This is because this pull
request is getting big. This pull request will only contain template
functions in order to implement localtime.

Update: The implementation is available in
https://github.com/zimirza/llvm-project/tree/localtime_implementation.

---------

Co-authored-by: Зишан Мирза &lt;zmirza@tutanota.de&gt;
Co-authored-by: Zishan Mirza &lt;zmirza@posteo.de&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Add CMake Target for Dl_info.h Header (#156195)</title>
<updated>2025-09-02T23:22:11+00:00</updated>
<author>
<name>Aiden Grossman</name>
<email>aidengrossman@google.com</email>
</author>
<published>2025-09-02T23:22:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e95355c3f7e18829b587bc2d589b24a65f596543'/>
<id>e95355c3f7e18829b587bc2d589b24a65f596543</id>
<content type='text'>
Otherwise when installing the dlfcn.h header, there is a missing
reference to Dl_info.h, which causes compilation failures in some cases,
notably libunwind.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise when installing the dlfcn.h header, there is a missing
reference to Dl_info.h, which causes compilation failures in some cases,
notably libunwind.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Add missing and correct some existing C23 functions to math.h (#156512)</title>
<updated>2025-09-02T20:42:48+00:00</updated>
<author>
<name>Alexey Samsonov</name>
<email>vonosmas@gmail.com</email>
</author>
<published>2025-09-02T20:42:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2429a8f71ff2080116b8a0e46541d1fb80351219'/>
<id>2429a8f71ff2080116b8a0e46541d1fb80351219</id>
<content type='text'>
This change fixes and closes some gaps in the YAML template for
producing the math.h header.

It adds some missing declarations (dadd/dsub function variants), correct
arguments and/or return type for other functions from this family (dsqrt
and ddiv), and add a missing fminimum_numl variant.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change fixes and closes some gaps in the YAML template for
producing the math.h header.

It adds some missing declarations (dadd/dsub function variants), correct
arguments and/or return type for other functions from this family (dsqrt
and ddiv), and add a missing fminimum_numl variant.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc][math][c23] Implement C23 math function atanpif16 (#150400)</title>
<updated>2025-09-02T19:50:50+00:00</updated>
<author>
<name>Mohamed Emad</name>
<email>hulxxv@gmail.com</email>
</author>
<published>2025-09-02T19:50:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c1d1e0e32fcd8f457a1644a5859d23155ca666ac'/>
<id>c1d1e0e32fcd8f457a1644a5859d23155ca666ac</id>
<content type='text'>
This PR implements `atanpif16(x)` which computes
$\frac{\arctan(x)}{\pi}$ for half-precision floating-point numbers using
polynomial approximation with domain reduction.

## Mathematical Implementation

The implementation uses a 15th-degree Taylor polynomial expansion of
$\frac{\arctan(x)}{\pi}$ that's computed using
[`python-sympy`](https://www.sympy.org/en/index.html) and it's accurate
in $|x| \in [0, 0.5)$:

$$
g(x) = \frac{\arctan(x)}{\pi} \approx 
\begin{aligned}[t]
    &amp; 0.318309886183791x \\
    &amp; - 0.106103295394597x^3 \\
    &amp; + 0.0636619772367581x^5 \\
    &amp; - 0.0454728408833987x^7 \\
    &amp; + 0.0353677651315323x^9 \\
    &amp; - 0.0289372623803446x^{11} \\
    &amp; + 0.0244853758602916x^{13} \\
    &amp; - 0.0212206590789194x^{15} + O(x^{17})
\end{aligned}
$$


--- 

To ensure accuracy across all real inputs, the domain is divided into
three cases with appropriate transformations:

**Case 1: $|x| \leq 0.5$**  
Direct polynomial evaluation: 

$$\text{atanpi}(x) = \text{sign}(x) \cdot g(|x|)$$

**Case 2: $0.5 &lt; |x| \leq 1$**  
Double-angle reduction using:

$$\arctan(x) = 2\arctan\left(\frac{x}{1 + \sqrt{1 + x^2}}\right)$$

$$\text{atanpi}(x) = \text{sign}(x) \cdot 2g\left(\frac{|x|}{1 + \sqrt{1
+ x^2}}\right)$$

**Case 3: $|x| &gt; 1$**  
Reciprocal transformation using 

$$\arctan(x) = \frac{\pi}{2} - \arctan\left(\frac{1}{x}\right) \
\text{for} \ x \gt 0$$

$$\text{atanpi}(x) = \text{sign}(x) \cdot \left(\frac{1}{2} -
g\left(\frac{1}{|x|}\right)\right)$$


Closes #132212</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR implements `atanpif16(x)` which computes
$\frac{\arctan(x)}{\pi}$ for half-precision floating-point numbers using
polynomial approximation with domain reduction.

## Mathematical Implementation

The implementation uses a 15th-degree Taylor polynomial expansion of
$\frac{\arctan(x)}{\pi}$ that's computed using
[`python-sympy`](https://www.sympy.org/en/index.html) and it's accurate
in $|x| \in [0, 0.5)$:

$$
g(x) = \frac{\arctan(x)}{\pi} \approx 
\begin{aligned}[t]
    &amp; 0.318309886183791x \\
    &amp; - 0.106103295394597x^3 \\
    &amp; + 0.0636619772367581x^5 \\
    &amp; - 0.0454728408833987x^7 \\
    &amp; + 0.0353677651315323x^9 \\
    &amp; - 0.0289372623803446x^{11} \\
    &amp; + 0.0244853758602916x^{13} \\
    &amp; - 0.0212206590789194x^{15} + O(x^{17})
\end{aligned}
$$


--- 

To ensure accuracy across all real inputs, the domain is divided into
three cases with appropriate transformations:

**Case 1: $|x| \leq 0.5$**  
Direct polynomial evaluation: 

$$\text{atanpi}(x) = \text{sign}(x) \cdot g(|x|)$$

**Case 2: $0.5 &lt; |x| \leq 1$**  
Double-angle reduction using:

$$\arctan(x) = 2\arctan\left(\frac{x}{1 + \sqrt{1 + x^2}}\right)$$

$$\text{atanpi}(x) = \text{sign}(x) \cdot 2g\left(\frac{|x|}{1 + \sqrt{1
+ x^2}}\right)$$

**Case 3: $|x| &gt; 1$**  
Reciprocal transformation using 

$$\arctan(x) = \frac{\pi}{2} - \arctan\left(\frac{1}{x}\right) \
\text{for} \ x \gt 0$$

$$\text{atanpi}(x) = \text{sign}(x) \cdot \left(\frac{1}{2} -
g\left(\frac{1}{|x|}\right)\right)$$


Closes #132212</pre>
</div>
</content>
</entry>
</feed>
