Address review: tolerate whitespace-separated scheme in parse_auth_header
Split the scheme from its parameters on the first run of whitespace
(split(maxsplit=1)) so a tab or multiple spaces is tolerated, restoring the
pre-rewrite behavior. Add a parser test for a tab-separated scheme. The 401
handler keeps auth_data.pop('scheme') here because the Bearer branch unpacks
**auth_data into _get_token.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
[libc++] Fix behavior for `get_temporary_buffer` with non-positive size (#206871)
Per C++17 [depr.temporary.buffer]/4, `get_temporary_buffer` is required
to return `{nullptr, 0}` when the size argument is zero or negative.
libc++ used to correctly handle this, but the refactoring in
94e7c0b051c79fd56205f115771980f2e7812306 got this wrong.
GCC generally warns on negative size due to `-Walloc-size-larger-than=`,
which is false positive due to incomplete control flow analysis. The
warning is coupled with optimizations, and this patch make tests
suppress it instead.
Revert "[HIP][AMDGPU] Use non-LTO pipeline for non-RDC in the linker wrapper (#201135)" (#206961)
I believe I fixed the immediate issues that were causing regressions
with this, and now this is leading to its own regressions in building
Pytorch apparently. This was explicitly marked as a hack, and this
should resolve an ongoing issue so we should revert this for now.
Should fix LCOMPILER-2396
This reverts commit eaff67c9838f98d221aa563c9e5d4e714d636674.
Address review: tolerate whitespace-separated scheme, non-mutating scheme read
- parse_auth_header: split scheme/params on the first run of whitespace
(split(maxsplit=1)) so a tab or multiple spaces is tolerated, restoring the
pre-rewrite behavior a maintainer flagged as narrowed.
- _get_manifest_response: read the challenge scheme with .get() instead of
.pop() (the Bearer branch uses explicit kwargs, so the mutation was dead).
- Add a parser test for a tab-separated scheme.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
[OpenMP][OMPT] Map `ompt_get_num_devices` to runtime function (#200790)
Since 82e94a593433f36734e2d34898d353a2ecb65b8b, `ompt_get_num_devices`
was hard coded to always provide a return value of `1`, regardless of
the actual number of devices. Tools relying on this return value were
henced forced to use other approaches to estimate the number of
available devices.
To improve the situtation, map the returned value to the one provided by
`omp_get_num_devices()`. This does not resolve the issue completely
though. When OMPT is initialized through `libomptarget.so`, the
PluginManager, providing the number of devices, is not initialized until
after OMPT has been fully set up. This means that tools, trying to
retrieve the number of devices during the _initialize_ callback, will
still receive the incorrect number of devices.
Still, this is a significant improvement compared to the prior state
which provided an incorrect result for most of the program runtime.
[4 lines not shown]
[Dexter] Add condition check to state nodes (#203847)
This patch enables the ability for state nodes to check conditions,
meaning they will be active only if the condition is met.
Condition evaluation is somewhat language specific; we directly check
whether the value of the evaluated expression is "true"
(case-insensitive), which works for the languages we actually use Dexter
with, but may require generalizing in future.
We also cache conditions as they are evaluated; each time we step, we
clear all cached conditions for the current frame and any expired
frames, but we keep the cached conditions for any frames rootwards from
the current frame; this prevents us from unexpectedly exiting out of a
callee frame because of debug info not surviving a stack unwind; if the
early exit is desired, an !and{at_frame_idx, condition} under the lower
frame may suffice.
[NFC][AMDGPU] Use SIInstrFlags predicates in Disassembler (#206762)
Replace raw TSFlags accesses with SIInstrFlags predicate calls in
AMDGPUDisassembler.
Part of a series following the introduction of SIInstrFlags predicates.
[lldb] Return llvm::Error from EnableLogChannel (#206479)
Instead of a boolean plus writing errors to a stream.
llvm::Error is either success or an error message, unlike
before where we could (and did sometimes) succeed but
also have an error message.
We can do this for DisableLogChannel too but
I'll do that in a follow up.
[Dexter] Allow matching lists of values for aggregate members
This patch slightly extends the matching of aggregate members to allow for
lists of expected values for individual members, functioning the same as
lists of expected values for scalar values.
[Dexter] Update lldb-based dexter-tests to use script-mode
This patch replaces uses of heuristic-mode Dexter in the dexter-tests suite
with uses of the script-mode, for tests that use DAP (via lldb-dap). The
updates are largely straightforward but occasionally non-trivial, and in
some cases some slight modifications have been made to keep the "spirit" of
the test intact.
[Dexter] Add ability to check float values within a range
Adds a new node type, !float, which can be used to match debugger ouptut as
float values rather than as strings, optionally allowing a range to be
specified for inexact matches. This new node allows a list of values to be
given, effectively a shorthand for a list of individual !float nodes.
[Dexter] Document the structured script model
This patch adds documentation for the script model to the Dexter README,
shunting heuristic-mode information into a separate doc, creating a new
doc for script-mode, and linking to both (with a brief summary of the
differences) from the base README.
[Dexter] Switch to using script-mode by default
This patch changes the default mode of Dexter from heuristic-mode to
script-mode. The --use-script argument is replaced with --use-heuristic,
some comments/docs/error messages are updated accordingly, and tests have
their flags switched accordingly.