- Dec 13, 2023
-
-
Cyndy Ishida authored
-
- Dec 12, 2023
-
-
Cyndy Ishida authored
-
- Dec 11, 2023
-
-
Cyndy Ishida authored
Add support for reading binary Mach-o dynamic libraries. It uses libObject APIs for extracting information relavant to TAPI and tbd files. This includes but is not limited to load commands encode data like install names, current/compat versions and symbols.
-
Kazu Hirata authored
-
Animcogn authored
A small typographical fix in `CoverageMappingFormat.rst`.
-
- Dec 10, 2023
-
-
Stephan T. Lavavej authored
This is a syntax cleanup, not needed for running libc++'s tests with MSVC's STL. While changing `libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp` in #74965, I noticed that libc++'s tests almost always use the special-purpose macros for "this is a libc++-specific `static_assert` etc." defined by: https://github.com/llvm/llvm-project/blob/b85f1f9b182234ba366d78ae2174a149e44d08c1/libcxx/test/support/test_macros.h#L240-L253 However, there were a very small number of occurrences that were using the general-purpose `LIBCPP_ONLY` macro when they could have been using the special-purpose macros. I believe that they should be cleaned up, to make it easier to search for usage, and to make it clearer when the full power of `LIBCPP_ONLY` is necessary. This is a pure regex replacement from `LIBCPP_ONLY\((assert|static_assert|ASSERT_NOEXCEPT|ASSERT_NOT_NOEXCEPT)\((.*)\)\);` to `LIBCPP_\U$1($2);` using the power of [VSCode's case changing in regex replace](https://code.visualstudio.com/docs/editor/codebasics#_case-changing-in-regex-replace). To avoid merge conflicts, this isn't changing the line in `libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp` that #74965 is already changing to use `LIBCPP_STATIC_ASSERT`.
-
Stephan T. Lavavej authored
Found while running libc++'s test suite with MSVC's STL. * In `escaped_output.unicode.pass.cpp`, replace `_LIBCPP_SHORT_WCHAR` with `TEST_SHORT_WCHAR`. + This was the only test that was directly using the `_LIBCPP` macro. `libcxx/test/support/test_macros.h` performs this mapping: https://github.com/llvm/llvm-project/blob/c60ac509399da5cba533b9b6cc5b983c59f7d7b3/libcxx/test/support/test_macros.h#L442-L444 * In `msvc_stdlib_force_include.h`, define `TEST_SHORT_WCHAR`.
-
Stephan T. Lavavej authored
@mordante This was introduced by #73395 a couple of days ago. This is causing PR checks to fail, [stage3 (generic-no-wide-characters, libcxx-runners-8-set, OFF)](https://github.com/llvm/llvm-project/actions/runs/7154839054/job/19484723909?pr=74254#logs): ``` In file included from /home/runner/_work/llvm-project/llvm-project/libcxx/test/std/utilities/format/format.tuple/format.functions.vformat.pass.cpp:29: /home/runner/_work/llvm-project/llvm-project/libcxx/test/support/concat_macros.h:86:1: error: expected ')' 86 | OutIt test_transcode(InIt first, InIt last, OutIt out_it) { | ^ /home/runner/_work/llvm-project/llvm-project/libcxx/test/support/concat_macros.h:80:11: note: to match this '(' 80 | requires(std::output_iterator<OutIt, const char&> && | ^ /home/runner/_work/llvm-project/llvm-project/libcxx/test/std/utilities/format/format.tuple/format.functions.vformat.pass.cpp:63:2: error: expected unqualified-id 63 | } | ^ ```
-
Florian Hahn authored
Add test cases with varying distances between stores and loads that may prevent store-to-load forwarding.
-
Stephan T. Lavavej authored
Found while running libc++'s test suite with MSVC's STL. After @CaseyCarter's [LLVM-D118279](https://reviews.llvm.org/D118279) https://github.com/llvm/llvm-project/commit/c5ba46ea1804dfefb22e6d2bb65ff1636d2cc8cd "\[libcxx\]\[test\] `MaybePOCCAAllocator` should meet the *Cpp17Allocator* requirements" followed by @philnik777's [LLVM-D68365](https://reviews.llvm.org/D68365) https://github.com/llvm/llvm-project/commit/98d3d5b5da66e3cf7807c23a0294280bb796466b "\[libc++\] Implement [P1004R2](https://wg21.link/P1004R2) (`constexpr std::vector`)", one more change is necessary. MSVC's `constexpr vector` implementation noticed this because we always rebind allocators.
-
Oskar Wirga authored
I accidentally closed https://github.com/llvm/llvm-project/pull/74806 If the dynamic allocation size is 0, then we will still probe the current sp value despite not decrementing sp! This results in overwriting stack data, in my case the stack canary. The fix here is just to load the value of [sp] into xzr which is essentially a no-op but still performs a read/probe of the new page.
-
paperchalice authored
-
Stephan T. Lavavej authored
[libc++] LWG-4021 "`mdspan::is_always_meow()` should be `noexcept`", use `LIBCPP_STATIC_ASSERT` for `noexcept` strengthening (#74254) Found while running libc++'s test suite with MSVC's STL. * I've filed [LWG-4021](https://cplusplus.github.io/LWG/issue4021) "`mdspan::is_always_meow()` should be `noexcept`" and implemented this in libc++'s product and test code. * Use `LIBCPP_STATIC_ASSERT` to avoid issues with `noexcept` strengthening in MSVC's STL. + As permitted by the Standard, MSVC's STL conditionally strengthens `mdspan` construction/`is_meow`/`stride` and `elements_view` iterator `base() &&`, and always strengthens `basic_stringbuf` `swap`. + In `mdspan/properties.pass.cpp`, this also upgrades runtime `assert`s to `static_assert`s. * Improvement: Upgrade `assert` to `static_assert` when inspecting the `noexcept`ness of `std::ranges::iter_move`. (These `!noexcept` tests weren't causing issues for MSVC's STL, so I didn't change them to be libc++-specific.)
-
Anatoly Trosinenko authored
When importing instruction selection patterns into GlobalISel, the operands matched in the "source" DAG are copied into corresponding operands of the "destination" DAG according to their names (such as Rd). If multiple operands in the source DAG share the same name, a GIM_CheckIsSameOperand predicate makes instruction selector check the corresponding operands for equality (at compiler run-time) as part of matching the source pattern. The Def operands of the root node of the destination DAG are handled specially. The operands of the instruction corresponding to the root node are taken and GIM_CheckRegBankForClass predicates are tablegen-erated accordingly. If by coincidence the Def operand in question has the same name as one of the named operands in the pattern, a GIM_CheckIsSameOperand predicate is automatically added that is likely to prevent matching the source of otherwise applicable selection pattern at compiler run-time. This patch mangles the Def operand names taken from the instruction corresponding to the root of the destination DAG (for example, "Rd" becomes "DstI[Rd]") preventing unexpected name clashes with pattern's named operands. The patch consists of three sets of changes: * changes to the GlobalISelEmitter.cpp file are the actual fix * a test case is added to GlobalISelEmitter.td file as a regression test * everything else is the biggest and least interesting part - updates to the existing test cases: renames of the form Rd -> DstI[Rd] inside the inline comments in tablegen-erated code
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
Without this patch, CallingConvLower.h is relying on the transitive include of ArrayRef.h in TypeSize.h, which doesn't need ArrayRef.h.
-
Fangrui Song authored
-
Kazu Hirata authored
These files are relying on the transitive include of <bitset> from GIMatchTableExecutor.h, which doesn't actually use std::bitset.
-
Kazu Hirata authored
-
James Y Knight authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Craig Topper authored
hasExtension already checks if the extension is supported.
-
Kazu Hirata authored
This patch renames {starts,ends}with to {starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. Since there are only a handful of occurrences, this patch skips the deprecation phase and simply renames them. -
Craig Topper authored
-
Florian Hahn authored
depend_diff_types.ll already covers the same tests afer it hs been converted to opaque pointersj, so remove the redundant depend_diff_types_opaque_ptr.ll
-
Kazu Hirata authored
These functions have been deprecated since: commit 1117d806 Author: Kazu Hirata <kazu@google.com> Date: Mon Jun 5 13:18:07 2023 -0700
-
Daniil Kovalev authored
This patch introduces llvm-objdump tests for new `AARCH64_AUTH_RELR`, `AARCH64_AUTH_RELRSZ` and `AARCH64_AUTH_RELRENT` dynamic tags. Depends on https://github.com/llvm/llvm-project/pull/74874
-
Justin Bogner authored
Define HLSL's RasterizerOrderedBuffer resource type through the external sema source. This doesn't fully work as is, but defining it allows us to exercise the ROV logic in the DirectX backend from HLSL rather than having to manually edit metadata, so it's useful for further testing and development. Pull Request: https://github.com/llvm/llvm-project/pull/74897
-
Nathan Sidwell authored
Query the executable for address size.
-
Craig Topper authored
These names are never used so just waste a lot of memory. If do need them ever, it would be better to store pointers to the StringMapEntry objects that store the same strings.
-
Justin Bogner authored
Pull Request: https://github.com/llvm/llvm-project/pull/74896
-
Kiran Chandramohan authored
-
- Dec 09, 2023
-
-
Nathan Sidwell authored
An 8 bit bitfield should not have a preferred type of bool.
-
Mark de Wever authored
This fixes a clang-tidy diagnostic when building libc++ with RTTI disabled. This was originally part of #65518.
-
Richard Dzenis authored
Fixes regression introduced in b3e6ff33 Fixes bot failure https://lab.llvm.org/buildbot/#/builders/60/builds/15037 ``` .---command stderr------------ | error: 'supported-warning' diagnostics seen but not expected: | File C:\buildbot\as-builder-1\x-armv7l\llvm-project\clang\test\SemaCXX\ms-constexpr-new.cpp Line 7: '__cdecl' calling convention is not supported for this target | 1 error generated. `----------------------------- ```
-
Mark de Wever authored
This adds the std.compat module. The patch contains a bit of refactoring to avoid code duplication between the std and std.compat module. Implements parts of - P2465R3 Standard Library Modules std and std.compat
-
Benjamin Maxwell authored
-
Mark de Wever authored
This change requires quite a number of changes in the tests; this is not code I expect people to use in the wild. So I don't expect breakage for users. Implements: - P2905R2 Runtime format strings, as a Defect Report
-