[lldb-dap][NFC] Use GetStringValue helper (#199672)
I noticed some inconsistency in working with
`SBStructuredData.GetStringValue` (e.g. use `length + 1` or `length`),
so it would be better to remove that code duplication and use common
helper (`GetStringValue`) to do this routine.
[clang] Add -fno-debug-record-sysroot (#192541)
This enables excluding the absolute path to the sysroot from debug info
for reproducible builds. These fields are used by lldb, which also has
fallbacks since it's possible these paths don't exist on the machine
doing the debugging when built remotely anyways.
This was also possible using
`-fdebug-prefix-map=/path/to/Xcode.app=/some/path`
but depending on the environment you might not be able to easily pass
that with the user specific developer directory path.
Assisted by: claude
divert: Avoid using atomic_(load|store)_(acq|rel)_16
It's not implemented on some arches. Use a plain int to count the
number of sockets in a divert lbgroup.
Reported by: Jenkins
Fixes: 895a0ae67fe2 ("divert: Define semantics for SO_REUSEPORT_LB on divert sockets")
[-Wunsafe-buffer-usage] Move warning-only analysis back to function-based (#198006)
Move the warning-only analysis back to the end of parsing each Decl.
The warning-only analysis no longer does any extra AST deserialization.
Pre-compiled code will only be analyzed once during its own compilation.
When `-fsafe-buffer-usage-suggestions` is used, the behavior is the
same as before, because it requires visibility of the whole
translation unit.
rdar://177185295
Also fix rdar://107480207 & rdar://176992568 for the warning-only case.
[Github] Pin container image reference in libc-shared-tests (#199737)
Pinned to the image used in the last successful workflow run.
Introduced in c32de3e3759c3368978535e4ff4fb83323219fb0.
[lldb] Set SO_NOSIGPIPE on platforms that support it (#198044)
On macOS, I've seen instances where debugserver goes down very quickly
after it starts up (less than 100ms). Normally, LLDB is able to detect
when debugserver goes down and report it without bringing down the
entire debug session. However that's not happening here. My best guess
is that debugserver is going down before LLDB is ready to react to it.
To mitigate this scenario, adopt SO_NOSIGPIPE. Note that this mostly
matters for tools that embed liblldb. The LLDB driver ignores all
SIGPIPEs.
rdar://173516461
[AMDGPU] Lay groundwork for stridemark type / addrspace(9) via sgep (#198930)
This commit introduces and documents the `amdgpu.stridemark` target
type, which is used to express when a structured.gep intrinsic is being
used to increment/decrement the index part of a `ptr addrspace(9)` (as
opposed to GEP, which manipulates the offset part)
Future PRs will add inbounds/nusw/nuw support to structured GEP to
enable more efficient code generation and then will implement a lowering
of these structured GEPs to struct.buffer intrinsics.
lang/python31{0,1,2}: reroll PATCHFILES after repository growth
Each commit checksum now shows one additional character, but the
diff contents are identical.
PR: 295595
(cherry picked from commit 4b4b105e82c91455a47ca32c79525a88a60b8616)
lang/python31{0,1,2}: reroll PATCHFILES after repository growth
Each commit checksum now shows one additional character, but the
diff contents are identical.
PR: 295595
[mlir][MemRef] Move FlattenMemRefs to interfaces (#198625)
Use IndexedAccessOpInterface for indexed memory operations and
VectorTransferOpInterface update methods for vector transfers ops. Add
an IndexedMemCopyOpInterface-based flattening pattern for DMA-like
operations.
This gets rid of the hardcoded operation list in the patterns, allowing
dialects like AMDGPU to transparently work with memref flattening.
As a consequence, the specialized vector- and memref-dialect only
constructors that only load a subset of the flattening patterns are
removed.
Also adds a max() method to SaturatedInteger because it was useful for
computing the size of a flat memref.
---------
Co-authored-by: Codex <codex at openai.com>
[clang] implement CWG2064: ignore value dependence for decltype
The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.
This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.
This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.
Fixes #8740
Fixes #61818
Fixes #190388
[flang][OpenMP] Warn that declare simd in an interface body has no effect (#199248)
Follow-up to the crash fix for #192581. A DECLARE SIMD directive may
legally appear in the specification part of an interface body, but it
applies to the external procedure being declared rather than to any
definition in this compilation. Flang does not propagate the directive
to callers, so it has no effect and is silently dropped during lowering.
Detect this in semantics by checking whether the program unit containing
the directive is an interface body (SubprogramDetails::isInterface())
and emit an -Wopenmp-usage warning so the user knows the directive is
ignored.
Updates #192581