mandoc: Drop obsolete files
These were removed by upstream long ago. Nothing in the
tree uses them. Remove them to reduce our diff to upstream.
Reviewed by: carlavilla, wosch
Reported by: Ingo Schwarze <schwarze at openbsd.org>
Differential Revision: https://reviews.freebsd.org/D61198
[lldb][test] Delete 'types' test (#208402)
This removes the various `types/` tests in LLDB. These tests suffer from
various problems:
* They are slow. Their current runtime is nearly 90s on my new machine,
which is a lot for tests that only print a few integers/float vars.
* Their scope is very vague. E.g., `TestCharType` doesn't just test char
types, but also tests capturing them in block functions. Also while most
tests are related to basic types, some also test edge cases of struct
types and other things that belong into their own test folder.
* They are very overengineered. Tests should be stupid and not have
whole dedicated output-capturing-and-parsing system.
* They don't really test anything. There are no edge cases or
problematic values tested.
[7 lines not shown]
Allow constexpr defaulted postfix operators that call non-constexpr functions
Before C++23, an explicitly-defaulted function could only be declared
constexpr if it was constexpr-compatible. Defaulted postfix operators are
a C++2d feature, available in earlier modes only as an extension, so
don't apply that restriction to them; this follows the P3668R4 wording.
Whether such an operator is implicitly constexpr still depends on the
functions it invokes before C++23.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
Assert on unreachable failures in the defaulted postfix operator body
Building 'c', the declaration statement for 'tmp', and the prefix
operator call on an operand of class or enumeration type cannot fail,
so assert instead of checking. The remaining failure paths are covered
by tests; add one for an abstract class type C, the only way to make
'tmp' invalid.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
Move defaulted postfix operator tests to SemaCXX
clang/test/CXX is not where edge cases are tested.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[Object] Add an 'isCompressed' helper for offload binaries (#238931)
Summary:
Previous changes supports the version three with compressed binaries.
This adds a publically exposed helper so people can determine if it's
compressed without digging into the binary format themselves, if that
decision is important for something.
Revert init-prority-attr clangir run line (#238987)
This one has an ordering difference on the aarch64 server for some
reason, so revert it, since the goal of #238886 was to just do 'passing'
tests for now.
Removes the new 'run' line.
[AArch64] Fold CSEL of a CSEL with the same flags (#224992)
When an inner CSEL shares the same flag as the outer CSEL, substituting
the argument of the selected value can either 1) remove the select, or
2) break the dependency on the inner CSEL.
```
(CSEL (CSEL a b cc F) d cc F) => (CSEL a d cc F)
(CSEL (CSEL a b !cc F) d cc F) => (CSEL b d cc F)
(CSEL d (CSEL a b cc F) cc F) => (CSEL d b cc F)
(CSEL d (CSEL a b !cc F) cc F) => (CSEL d a cc F)
// (CSEL (OP x.. (CSEL a b cc F) y..) d cc F) => (CSEL (OP x.. a y..) d cc F)
// (CSEL (OP x.. (CSEL a b !cc F) y..) d cc F) => (CSEL (OP x.. b y..) d cc F)
// (CSEL d (OP x.. (CSEL a b cc F) y..) cc F) => (CSEL d (OP x.. b y..) cc F)
// (CSEL d (OP x.. (CSEL a b !cc F) y..) cc F) => (CSEL d (OP x.. a y..) cc F)
```
Where single use OP is folded, but multi-use OP is only folded if it can
be absorbed into a CSINC/CSINV/CSNEG.
[2 lines not shown]
[ThinLTO][NFC] Use a switch for ImportKind in exportToDot (#233610)
`ModuleSummaryIndex::exportToDot` used an if/else-if chain to choose the
"definition" or "declaration" comment for each summary. `ImportKind` has
only these two enumerators, so the else-if condition is always true when
it is reached.
Switch on the enum-typed `importType()` instead, without a `default`
label, so that `-Wswitch` flags this code if a new `ImportKind` is
added. With the previous code a new kind would silently get no comment.
No new test, since this is NFC. The dot-dumper tests in
llvm/test/ThinLTO/X86 exercise this function, and `dot-dumper.ll` is the
only test that checks these comments. They pass, as does `check-llvm`.
Assisted-by: Claude Code
AtomicExpand: Use RuntimeLibcallsInfo signatures for atomic libcalls
Take the function type and attributes of the emitted __atomic_* calls
from RuntimeLibcallsInfo instead of building them by hand.
This fixes missing extension attributes on the value operand and
result of the sized variants, which are unsigned integers of the
access size. On targets whose C ABI extends narrow integer arguments,
such as RISC-V and ARM, the callee could see unextended high bits. i8
and i16 values now get zeroext, and i32 values get signext on
RV64. Callers can also rely on the extended return value, which
removes redundant extensions after some calls.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[ci] Adapt the LNT tooling to LNT projects (#238898)
We just added a new way to group test suites into projects in LNT. This
allows giving more flexibility to different projects / teams sharing one
instance (e.g. keys can be scoped to a project, and the UI groups things
by project).
However, this means that submissions also have to specify a project, not
just a test suite, which is a breaking change (fine since this is still
early).
This patch mechanically updates the test suites to the following
projects and suites:
libcxx -> libcxx/microbenchmarks
libstdcxx -> libcxx/libstdcxx_microbenchmarks
llvm_test_suite -> llvm/test_suite
[CIR] Implement 'weak-ref' lowering (#238538)
This patch implements the weakref attribute, replacing 2 missing
features and quite a few 'NYI' diagnostics.
This is handled for both functions and variables, so it needs to be
threaded in a few places. For the most part, this is a copy of the
classic-codegen changes, though a few places cause us to have to do
things in slightly different orders, such as the CIRGenExprConstant
changes, where the CIR differentiation between a global view to variable
and function are different.
AI disclosure: Claude wrote up the test and got more cases than I came
up with in my attempt.