<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/AST/ByteCode/literals.cpp, branch users/ojhunt/ptrauth-additions</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>[clang][bytecode] Fix integral cast edge case (#161506)</title>
<updated>2025-10-01T11:56:38+00:00</updated>
<author>
<name>Timm Baeder</name>
<email>tbaeder@redhat.com</email>
</author>
<published>2025-10-01T11:56:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=93c830597cd1c68059a165de3eabea3a0b8f4526'/>
<id>93c830597cd1c68059a165de3eabea3a0b8f4526</id>
<content type='text'>
We were converting the `ASInt` to as sign-less `APInt` too early and
losing the sign information.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We were converting the `ASInt` to as sign-less `APInt` too early and
losing the sign information.</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][bytecode] Move pointers from extern globals to new decls (#154273)</title>
<updated>2025-08-19T08:54:33+00:00</updated>
<author>
<name>Timm Baeder</name>
<email>tbaeder@redhat.com</email>
</author>
<published>2025-08-19T08:54:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fb8ee3adb63c3556d5b77249b876dcd55c2cfe5d'/>
<id>fb8ee3adb63c3556d5b77249b876dcd55c2cfe5d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][bytecode][NFC] use both-note in literals test (#154277)</title>
<updated>2025-08-19T08:02:23+00:00</updated>
<author>
<name>Timm Baeder</name>
<email>tbaeder@redhat.com</email>
</author>
<published>2025-08-19T08:02:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ddcd3fdcfdf07e53ffe4326c98fd40e3d5be3b51'/>
<id>ddcd3fdcfdf07e53ffe4326c98fd40e3d5be3b51</id>
<content type='text'>
And harmonize the RUN lines.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And harmonize the RUN lines.</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][bytecode] Fix comparing pointers pointing to base classes (#146285)</title>
<updated>2025-07-05T17:42:50+00:00</updated>
<author>
<name>Timm Baeder</name>
<email>tbaeder@redhat.com</email>
</author>
<published>2025-07-05T17:42:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fb2c7610e831646c5e01986306e8771730c937ff'/>
<id>fb2c7610e831646c5e01986306e8771730c937ff</id>
<content type='text'>
In the attached test case, one pointer points to the `Derived` class and
one to `Base`, but they should compare equal. They didn't because those
two bases are saved at different offsets in the block. Use
`computeOffsetForComparison` not just for unions and fix it to work in
the more general cases.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the attached test case, one pointer points to the `Derived` class and
one to `Base`, but they should compare equal. They didn't because those
two bases are saved at different offsets in the block. Use
`computeOffsetForComparison` not just for unions and fix it to work in
the more general cases.</pre>
</div>
</content>
</entry>
<entry>
<title>Remove delayed typo expressions (#143423)</title>
<updated>2025-06-13T10:45:40+00:00</updated>
<author>
<name>Aaron Ballman</name>
<email>aaron@aaronballman.com</email>
</author>
<published>2025-06-13T10:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b'/>
<id>9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b</id>
<content type='text'>
This removes the delayed typo correction functionality from Clang
(regular typo correction still remains) due to fragility of the
solution.

An RFC was posted here:
https://discourse.llvm.org/t/rfc-removing-support-for-delayed-typo-correction/86631
and while that RFC was asking for folks to consider stepping up to be
maintainers, and we did have a few new contributors show some interest,
experiments show that it's likely worth it to remove this functionality
entirely and focus efforts on improving regular typo correction.

This removal fixes ~20 open issues (quite possibly more), improves
compile time performance by roughly .3-.4%
(https://llvm-compile-time-tracker.com/?config=Overview&amp;stat=instructions%3Au&amp;remote=AaronBallman&amp;sortBy=date),
and does not appear to regress diagnostic behavior in a way we wouldn't
find acceptable.

Fixes #142457
Fixes #139913
Fixes #138850
Fixes #137867
Fixes #137860
Fixes #107840
Fixes #93308
Fixes #69470
Fixes #59391
Fixes #58172
Fixes #46215
Fixes #45915
Fixes #45891
Fixes #44490
Fixes #36703
Fixes #32903
Fixes #23312
Fixes #69874</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the delayed typo correction functionality from Clang
(regular typo correction still remains) due to fragility of the
solution.

An RFC was posted here:
https://discourse.llvm.org/t/rfc-removing-support-for-delayed-typo-correction/86631
and while that RFC was asking for folks to consider stepping up to be
maintainers, and we did have a few new contributors show some interest,
experiments show that it's likely worth it to remove this functionality
entirely and focus efforts on improving regular typo correction.

This removal fixes ~20 open issues (quite possibly more), improves
compile time performance by roughly .3-.4%
(https://llvm-compile-time-tracker.com/?config=Overview&amp;stat=instructions%3Au&amp;remote=AaronBallman&amp;sortBy=date),
and does not appear to regress diagnostic behavior in a way we wouldn't
find acceptable.

Fixes #142457
Fixes #139913
Fixes #138850
Fixes #137867
Fixes #137860
Fixes #107840
Fixes #93308
Fixes #69470
Fixes #59391
Fixes #58172
Fixes #46215
Fixes #45915
Fixes #45891
Fixes #44490
Fixes #36703
Fixes #32903
Fixes #23312
Fixes #69874</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][bytecode] Propagate IsVolatile bit to subobjects (#137293)</title>
<updated>2025-04-25T09:23:34+00:00</updated>
<author>
<name>Timm Baeder</name>
<email>tbaeder@redhat.com</email>
</author>
<published>2025-04-25T09:23:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=211b51e4713d814d6fa894f4fc309a364c5642ce'/>
<id>211b51e4713d814d6fa894f4fc309a364c5642ce</id>
<content type='text'>
For
```c++
  struct S {
    constexpr S(int=0) : i(1) {}
    int i;
  };
  constexpr volatile S vs;
```

reading from `vs.i` is not allowed, even though `i` is not volatile
qualified. Propagate the IsVolatile bit down the hierarchy, so we know
reading from `vs.i` is a volatile read.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For
```c++
  struct S {
    constexpr S(int=0) : i(1) {}
    int i;
  };
  constexpr volatile S vs;
```

reading from `vs.i` is not allowed, even though `i` is not volatile
qualified. Propagate the IsVolatile bit down the hierarchy, so we know
reading from `vs.i` is a volatile read.</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][bytecode] Refine diagnostics for volatile reads (#136857)</title>
<updated>2025-04-23T16:52:35+00:00</updated>
<author>
<name>Timm Baeder</name>
<email>tbaeder@redhat.com</email>
</author>
<published>2025-04-23T16:52:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1b6cbaa7b64f54b127d139d653468e213bae007e'/>
<id>1b6cbaa7b64f54b127d139d653468e213bae007e</id>
<content type='text'>
Differentiate between a volarile read via a lvalue-to-rvalue cast of a
volatile qualified subexpression and a read from a pointer with a
volatile base object.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differentiate between a volarile read via a lvalue-to-rvalue cast of a
volatile qualified subexpression and a read from a pointer with a
volatile base object.</pre>
</div>
</content>
</entry>
<entry>
<title>[clang] consistently quote expressions in diagnostics (#134769)</title>
<updated>2025-04-15T07:18:23+00:00</updated>
<author>
<name>Matheus Izvekov</name>
<email>mizvekov@gmail.com</email>
</author>
<published>2025-04-15T07:18:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fceb9cecdf6264eb773ee826b72a51a9ec68ec74'/>
<id>fceb9cecdf6264eb773ee826b72a51a9ec68ec74</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][bytecode] Ignore overflow in unary operators if requested (#132557)</title>
<updated>2025-03-22T17:03:50+00:00</updated>
<author>
<name>Timm Baeder</name>
<email>tbaeder@redhat.com</email>
</author>
<published>2025-03-22T17:03:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=db7475a770c360a42560aa01859d5dcbb808ade8'/>
<id>db7475a770c360a42560aa01859d5dcbb808ade8</id>
<content type='text'>
Add PreInc and PreDec ops for this purpose and ignore the overflow if
UnaryOperator::canOverflow() returns false.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add PreInc and PreDec ops for this purpose and ignore the overflow if
UnaryOperator::canOverflow() returns false.</pre>
</div>
</content>
</entry>
<entry>
<title>[C23] Fix compound literals within function prototype (#132097)</title>
<updated>2025-03-20T12:03:52+00:00</updated>
<author>
<name>Aaron Ballman</name>
<email>aaron@aaronballman.com</email>
</author>
<published>2025-03-20T12:03:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c65fa9163e47af5e86b2a187dd45ae665cf5a996'/>
<id>c65fa9163e47af5e86b2a187dd45ae665cf5a996</id>
<content type='text'>
WG14 N2819 clarified that a compound literal within a function prototype
has a lifetime similar to that of a local variable within the function,
not a file scope variable.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
WG14 N2819 clarified that a compound literal within a function prototype
has a lifetime similar to that of a local variable within the function,
not a file scope variable.</pre>
</div>
</content>
</entry>
</feed>
