-
Notifications
You must be signed in to change notification settings - Fork 14.9k
[libc++][NFC] Use llvm.org/PR to link to bug reports #156288
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-libcxx Author: Nikolas Klauser (philnik777) ChangesWe've built up quite a few links directly to github within the code base. We should instead use This patch also replaces a few links that linked to the old bugzilla instance on llvm.org. Patch is 167.11 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/156288.diff 207 Files Affected:
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt
index 5162963bafd63..a119850cd808e 100644
--- a/libcxx/CMakeLists.txt
+++ b/libcxx/CMakeLists.txt
@@ -361,8 +361,7 @@ endif()
if (NOT LIBCXX_ENABLE_RTTI AND LIBCXX_ENABLE_EXCEPTIONS)
message(FATAL_ERROR "Libc++ cannot be built with exceptions enabled but RTTI"
" disabled, since that configuration is broken. See"
- " https://github.com/llvm/llvm-project/issues/66117"
- " for details.")
+ " https://llvm.org/PR66117 for details.")
endif()
if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
diff --git a/libcxx/docs/Modules.rst b/libcxx/docs/Modules.rst
index ebd851fed95fc..c8f3e6194fd84 100644
--- a/libcxx/docs/Modules.rst
+++ b/libcxx/docs/Modules.rst
@@ -72,7 +72,7 @@ Some of the current limitations
* Clang:
* Including headers after importing the ``std`` module may fail. This is
hard to solve and there is a work-around by first including all headers
- `bug report <https://github.com/llvm/llvm-project/issues/61465>`__.
+ `bug report <https://llvm.org/PR61465>`__.
Blockers
~~~~~~~~
@@ -88,8 +88,7 @@ Blockers
* Clang
- * Some concepts do not work properly
- `bug report <https://github.com/llvm/llvm-project/issues/62943>`__.
+ * Some concepts do not work properly `bug report <https://llvm.org/PR61465>`__.
Using in external projects
diff --git a/libcxx/docs/ReleaseNotes/22.rst b/libcxx/docs/ReleaseNotes/22.rst
index cd8171dc5d1e8..61113d6432fdd 100644
--- a/libcxx/docs/ReleaseNotes/22.rst
+++ b/libcxx/docs/ReleaseNotes/22.rst
@@ -38,9 +38,9 @@ What's New in Libc++ 22.0.0?
Implemented Papers
------------------
-- P2321R2: ``zip`` (`Github <https://github.com/llvm/llvm-project/issues/105169>`__) (The paper is partially
- implemented. ``zip_transform_view`` is implemented in this release)
-- P3168R2: Give ``std::optional`` Range Support (`Github <https://github.com/llvm/llvm-project/issues/105430>`__)
+- P2321R2: ``zip`` (`Github <https://llvm.org/PR105169>`__) (The paper is partially implemented. ``zip_transform_view``
+ is implemented in this release)
+- P3168R2: Give ``std::optional`` Range Support (`Github <https://llvm.org/PR105430>`__)
Improvements and New Features
-----------------------------
diff --git a/libcxx/docs/Status/Cxx17Papers.csv b/libcxx/docs/Status/Cxx17Papers.csv
index 24fc7f718c360..f1306b7236a58 100644
--- a/libcxx/docs/Status/Cxx17Papers.csv
+++ b/libcxx/docs/Status/Cxx17Papers.csv
@@ -26,7 +26,7 @@
"`P0013R1 <https://wg21.link/P0013R1>`__","Logical type traits rev 2","2015-10 (Kona)","|Complete|","3.8",""
"","","","","",""
"`P0024R2 <https://wg21.link/P0024R2>`__","The Parallelism TS Should be Standardized","2016-02 (Jacksonville)","|Partial|","",""
-"`P0226R1 <https://wg21.link/P0226R1>`__","Mathematical Special Functions for C++17","2016-02 (Jacksonville)","|In Progress|","","Progress is tracked `here <https://github.com/llvm/llvm-project/issues/99939>`__"
+"`P0226R1 <https://wg21.link/P0226R1>`__","Mathematical Special Functions for C++17","2016-02 (Jacksonville)","|In Progress|","","Progress is tracked `here <https://llvm.org/PR99939>`__"
"`P0220R1 <https://wg21.link/P0220R1>`__","Adopt Library Fundamentals V1 TS Components for C++17","2016-02 (Jacksonville)","|Complete|","16",""
"`P0218R1 <https://wg21.link/P0218R1>`__","Adopt the File System TS for C++17","2016-02 (Jacksonville)","|Complete|","7",""
"`P0033R1 <https://wg21.link/P0033R1>`__","Re-enabling shared_from_this","2016-02 (Jacksonville)","|Complete|","3.9",""
diff --git a/libcxx/docs/Status/Cxx20Papers.csv b/libcxx/docs/Status/Cxx20Papers.csv
index e692bb2dc088b..91fcd9ee08315 100644
--- a/libcxx/docs/Status/Cxx20Papers.csv
+++ b/libcxx/docs/Status/Cxx20Papers.csv
@@ -18,7 +18,7 @@
"`P0777R1 <https://wg21.link/P0777R1>`__","Treating Unnecessary ``decay``\ ","2017-11 (Albuquerque)","|Complete|","7",""
"","","","","",""
"`P0122R7 <https://wg21.link/P0122R7>`__","<span>","2018-03 (Jacksonville)","|Complete|","7",""
-"`P0355R7 <https://wg21.link/P0355R7>`__","Extending chrono to Calendars and Time Zones","2018-03 (Jacksonville)","|Partial|","","See the `Github issue <https://github.com/llvm/llvm-project/issues/99982>`__ for detailed status"
+"`P0355R7 <https://wg21.link/P0355R7>`__","Extending chrono to Calendars and Time Zones","2018-03 (Jacksonville)","|Partial|","","See the `Github issue <https://llvm.org/PR99982>`__ for detailed status"
"`P0551R3 <https://wg21.link/P0551R3>`__","Thou Shalt Not Specialize ``std``\ Function Templates!","2018-03 (Jacksonville)","|Complete|","11",""
"`P0753R2 <https://wg21.link/P0753R2>`__","Manipulators for C++ Synchronized Buffered Ostream","2018-03 (Jacksonville)","","",""
"`P0754R2 <https://wg21.link/P0754R2>`__","<version>","2018-03 (Jacksonville)","|Complete|","7",""
diff --git a/libcxx/include/__algorithm/simd_utils.h b/libcxx/include/__algorithm/simd_utils.h
index 07fef20f6166d..96b074c063a5d 100644
--- a/libcxx/include/__algorithm/simd_utils.h
+++ b/libcxx/include/__algorithm/simd_utils.h
@@ -123,7 +123,7 @@ template <class _Tp, size_t _Np>
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t __find_first_set(__simd_vector<_Tp, _Np> __vec) noexcept {
using __mask_vec = __simd_vector<bool, _Np>;
- // This has MSan disabled du to https://github.com/llvm/llvm-project/issues/85876
+ // This has MSan disabled du to https://llvm.org/PR85876
auto __impl = [&]<class _MaskT>(_MaskT) _LIBCPP_NO_SANITIZE("memory") noexcept {
# if defined(_LIBCPP_BIG_ENDIAN)
return std::min<size_t>(
diff --git a/libcxx/include/__atomic/atomic.h b/libcxx/include/__atomic/atomic.h
index eead49dde6192..3554ff5169954 100644
--- a/libcxx/include/__atomic/atomic.h
+++ b/libcxx/include/__atomic/atomic.h
@@ -350,7 +350,7 @@ struct atomic<_Tp> : __atomic_base<_Tp> {
// &Context.getTargetInfo().getLongDoubleFormat() ==
// &llvm::APFloat::x87DoubleExtended())
// For more info
- // https://github.com/llvm/llvm-project/issues/68602
+ // https://llvm.org/PR68602
// https://reviews.llvm.org/D53965
return !__is_fp80_long_double();
# endif
@@ -367,7 +367,7 @@ struct atomic<_Tp> : __atomic_base<_Tp> {
while (!__self.compare_exchange_weak(__old, __new, __m, memory_order_relaxed)) {
# ifdef _LIBCPP_COMPILER_CLANG_BASED
if constexpr (__is_fp80_long_double()) {
- // https://github.com/llvm/llvm-project/issues/47978
+ // https://llvm.org/PR47978
// clang bug: __old is not updated on failure for atomic<long double>::compare_exchange_weak
// Note __old = __self.load(memory_order_relaxed) will not work
std::__cxx_atomic_load_inplace(std::addressof(__self.__a_), std::addressof(__old), memory_order_relaxed);
diff --git a/libcxx/include/__configuration/abi.h b/libcxx/include/__configuration/abi.h
index a75cd0a675339..b340d9df70464 100644
--- a/libcxx/include/__configuration/abi.h
+++ b/libcxx/include/__configuration/abi.h
@@ -101,8 +101,8 @@
// We had some bugs where we use [[no_unique_address]] together with construct_at,
// which causes UB as the call on construct_at could write to overlapping subobjects
//
-// https://github.com/llvm/llvm-project/issues/70506
-// https://github.com/llvm/llvm-project/issues/70494
+// https://llvm.org/PR70506
+// https://llvm.org/PR70494
//
// To fix the bug we had to change the ABI of some classes to remove [[no_unique_address]] under certain conditions.
// The macro below is used for all classes whose ABI have changed as part of fixing these bugs.
diff --git a/libcxx/include/__configuration/availability.h b/libcxx/include/__configuration/availability.h
index ae58e36b508b4..2fbc34a3cf8a2 100644
--- a/libcxx/include/__configuration/availability.h
+++ b/libcxx/include/__configuration/availability.h
@@ -72,7 +72,7 @@
//
// We also allow users to force-disable availability markup via the `_LIBCPP_DISABLE_AVAILABILITY`
// macro because that is the only way to work around a Clang bug related to availability
-// attributes: https://github.com/llvm/llvm-project/issues/134151.
+// attributes: https://llvm.org/PR134151.
// Once that bug has been fixed, we should remove the macro.
#if defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCXXABI_BUILDING_LIBRARY) || \
!defined(_LIBCPP_COMPILER_CLANG_BASED) || defined(_LIBCPP_DISABLE_AVAILABILITY)
@@ -307,7 +307,7 @@
// This controls the availability of the C++17 std::pmr library,
// which is implemented in large part in the built library.
//
-// TODO: Enable std::pmr markup once https://github.com/llvm/llvm-project/issues/40340 has been fixed
+// TODO: Enable std::pmr markup once https://llvm.org/PR40340 has been fixed
// Until then, it is possible for folks to try to use `std::pmr` when back-deploying to targets that don't support
// it and it'll be a load-time error, but we don't have a good alternative because the library won't compile if we
// use availability annotations until that bug has been fixed.
diff --git a/libcxx/include/__iterator/bounded_iter.h b/libcxx/include/__iterator/bounded_iter.h
index d12750d1f81ac..26eae87917eab 100644
--- a/libcxx/include/__iterator/bounded_iter.h
+++ b/libcxx/include/__iterator/bounded_iter.h
@@ -116,8 +116,7 @@ struct __bounded_iter {
// These operations check that the iterator is dereferenceable. Since the class invariant is
// that the iterator is always within `[begin, end]`, we only need to check it's not pointing to
// `end`. This is easier for the optimizer because it aligns with the `iter != container.end()`
- // checks that typical callers already use (see
- // https://github.com/llvm/llvm-project/issues/78829).
+ // checks that typical callers already use (see https://llvm.org/PR78829).
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 reference operator*() const _NOEXCEPT {
_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(
__current_ != __end_, "__bounded_iter::operator*: Attempt to dereference an iterator at the end");
diff --git a/libcxx/include/__iterator/concepts.h b/libcxx/include/__iterator/concepts.h
index 20a1ab4691100..f38688734b38a 100644
--- a/libcxx/include/__iterator/concepts.h
+++ b/libcxx/include/__iterator/concepts.h
@@ -118,7 +118,7 @@ concept __signed_integer_like = signed_integral<_Tp>;
template <class _Ip>
concept weakly_incrementable =
- // TODO: remove this once the clang bug is fixed (bugs.llvm.org/PR48173).
+ // TODO: remove this once the clang bug is fixed (https://llvm.org/PR48173).
!same_as<_Ip, bool> && // Currently, clang does not handle bool correctly.
movable<_Ip> && requires(_Ip __i) {
typename iter_difference_t<_Ip>;
diff --git a/libcxx/include/__math/hypot.h b/libcxx/include/__math/hypot.h
index 8e8c35b4a41c8..2b12d7be21072 100644
--- a/libcxx/include/__math/hypot.h
+++ b/libcxx/include/__math/hypot.h
@@ -53,7 +53,7 @@ inline _LIBCPP_HIDE_FROM_ABI __promote_t<_A1, _A2> hypot(_A1 __x, _A2 __y) _NOEX
// Computes the three-dimensional hypotenuse: `std::hypot(x,y,z)`.
// The naive implementation might over-/underflow which is why this implementation is more involved:
// If the square of an argument might run into issues, we scale the arguments appropriately.
-// See https://github.com/llvm/llvm-project/issues/92782 for a detailed discussion and summary.
+// See https://llvm.org/PR92782 for a detailed discussion and summary.
template <class _Real>
_LIBCPP_HIDE_FROM_ABI _Real __hypot(_Real __x, _Real __y, _Real __z) {
// Factors needed to determine if over-/underflow might happen
diff --git a/libcxx/include/__memory/compressed_pair.h b/libcxx/include/__memory/compressed_pair.h
index 29e503931b0be..12163f4af61cf 100644
--- a/libcxx/include/__memory/compressed_pair.h
+++ b/libcxx/include/__memory/compressed_pair.h
@@ -52,7 +52,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
//
// Furthermore, that alignment must be the same as what was used in the old __compressed_pair layout, so we must
// handle reference types specially since alignof(T&) == alignof(T).
-// See https://github.com/llvm/llvm-project/issues/118559.
+// See https://llvm.org/PR118559.
#ifndef _LIBCPP_ABI_NO_COMPRESSED_PAIR_PADDING
diff --git a/libcxx/include/__vector/vector_bool.h b/libcxx/include/__vector/vector_bool.h
index bd7b28e517adb..7b82906769255 100644
--- a/libcxx/include/__vector/vector_bool.h
+++ b/libcxx/include/__vector/vector_bool.h
@@ -19,7 +19,7 @@
#include <__bit_reference>
#include <__config>
#include <__functional/unary_function.h>
-#include <__fwd/bit_reference.h> // TODO: This is a workaround for https://github.com/llvm/llvm-project/issues/131814
+#include <__fwd/bit_reference.h> // TODO: This is a workaround for https://llvm.org/PR131814
#include <__fwd/functional.h>
#include <__fwd/vector.h>
#include <__iterator/distance.h>
diff --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in
index c50c4dd73d4bb..f0b12b6ec3e06 100644
--- a/libcxx/include/module.modulemap.in
+++ b/libcxx/include/module.modulemap.in
@@ -842,7 +842,7 @@ module std [system] {
module stable_partition { header "__algorithm/stable_partition.h" }
module stable_sort {
header "__algorithm/stable_sort.h"
- export std.memory.unique_temporary_buffer // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108
+ export std.memory.unique_temporary_buffer // TODO: Workaround for https://llvm.org/PR120108
}
module swap_ranges { header "__algorithm/swap_ranges.h" }
module three_way_comp_ref_type { header "__algorithm/three_way_comp_ref_type.h" }
@@ -1260,7 +1260,7 @@ module std [system] {
module directory_entry { header "__filesystem/directory_entry.h" }
module directory_iterator {
header "__filesystem/directory_iterator.h"
- // This is a workaround for https://github.com/llvm/llvm-project/issues/120108.
+ // This is a workaround for https://llvm.org/PR120108.
export *
}
module directory_options { header "__filesystem/directory_options.h" }
@@ -1637,7 +1637,7 @@ module std [system] {
module allocation_guard { header "__memory/allocation_guard.h" }
module allocator {
header "__memory/allocator.h"
- export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108
+ export * // TODO: Workaround for https://llvm.org/PR120108
}
module allocator_arg_t { header "__memory/allocator_arg_t.h" }
module allocator_destructor { header "__memory/allocator_destructor.h" }
@@ -1682,7 +1682,7 @@ module std [system] {
header "__memory/unique_temporary_buffer.h"
export std.memory.unique_ptr
export std_core.type_traits.is_constant_evaluated
- export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108
+ export * // TODO: Workaround for https://llvm.org/PR120108
}
module uses_allocator { header "__memory/uses_allocator.h" }
module uses_allocator_construction { header "__memory/uses_allocator_construction.h" }
@@ -1721,7 +1721,7 @@ module std [system] {
module allocate {
header "__new/allocate.h"
export std.utility.element_count // used as part of the API
- export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108
+ export * // TODO: Workaround for https://llvm.org/PR120108
}
module destroying_delete_t { header "__new/destroying_delete_t.h" }
module exceptions { header "__new/exceptions.h" }
diff --git a/libcxx/include/string b/libcxx/include/string
index 1d197654b9fee..19a538d96e85c 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -2258,7 +2258,7 @@ private:
(void)__new_mid;
# if _LIBCPP_INSTRUMENTED_WITH_ASAN
# if defined(__APPLE__)
- // TODO: remove after addressing issue #96099 (https://github.com/llvm/llvm-project/issues/96099)
+ // TODO: remove after addressing issue #96099 (https://llvm.org/PR96099)
if (!__is_long())
return;
# endif
diff --git a/libcxx/include/string_view b/libcxx/include/string_view
index 9a20bb6f4a0bb..983e5852015e0 100644
--- a/libcxx/include/string_view
+++ b/libcxx/include/string_view
@@ -460,7 +460,7 @@ public:
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI basic_string_view substr(size_type __pos = 0, size_type __n = npos) const {
// Use the `__assume_valid` form of the constructor to avoid an unnecessary check. Any substring of a view is a
// valid view. In particular, `size()` is known to be smaller than `numeric_limits<difference_type>::max()`, so the
- // new size is also smaller. See also https://github.com/llvm/llvm-project/issues/91634.
+ // new size is also smaller. See also https://llvm.org/PR91634.
return __pos > size() ? (__throw_out_of_range("string_view::substr"), basic_string_view())
: basic_string_view(__assume_valid(), data() + __pos, std::min(__n, size() - __pos));
}
diff --git a/libcxx/src/atomic.cpp b/libcxx/src/atomic.cpp
index 903084da053a1..b214ba1fd11c0 100644
--- a/libcxx/src/atomic.cpp
+++ b/libcxx/src/atomic.cpp
@@ -152,7 +152,7 @@ static void __libcpp_contention_wait(__cxx_atomic_contention_t volatile* __conte
__cxx_atomic_contention_t const volatile* __platform_state,
__cxx_contention_t __old_value) {
__cxx_atomic_fetch_add(__contention_state, __cxx_contention_t(1), memory_order_relaxed);
- // https://github.com/llvm/llvm-project/issues/109290
+ // https://llvm.org/PR109290
// There are no platform guarantees of a memory barrier in the platform wait implementation
__cxx_atomic_thread_fence(memory_order_seq_cst);
// We sleep as long as the monitored value hasn't changed.
diff --git a/libcxx/src/experimental/tzdb.cpp b/libcxx/src/experimental/tzdb.cpp
index ac5c62bb81902..9e3aae32a01a4 100644
--- a/libcxx/src/experimental/tzdb.cpp
+++ b/libcxx/src/experimental/tzdb.cpp
@@ -766,7 +766,7 @@ void __init_tzdb(tzdb& __tzdb, __tz::__rules_storage_type& __rules) {
// On Linux systems it seems /etc/timezone is deprecated and being phased out.
// This file is used when /etc/localtime does not exist, or when it exists but
// is not a symlink. For more information and links see
- // https://github.com/llvm/llvm-project/issues/105634
+ // https://llvm.org/PR105634
string __name = chrono::__current_zone_environment();
diff --git a/libcxx/test/extensions/posix/xopen_source.gen.py b/libcxx/test/extensions/posix/xopen_source.gen.py
index d4a3651181ca7..9d8c623379823 100644
--- a/libcxx/test/extensions/posix/xopen_source.gen.py
+++ b/libcxx/test/extensions/posix/xopen_source.gen.py
@@ -10,7 +10,7 @@
# We may not want to guarantee this forever, but since this works today and
# it's something that users rely on, it makes sense to put a test on it.
#
-# https://github.com/llvm/llvm-project/issues/117630
+# https://llvm.org/PR117630
# RUN: %{python} %s %{libcxx-dir}/utils
# END.
diff --git a/libcxx/test/libcxx-03/containers/associative/reference_comparator_abi.compile.pass.cpp b/libcxx/test/libcxx-03/containers/associative/reference_comparator_abi.compile.pass.cpp
index f364fc817c164..6a26db95b088a 100644
--- a/libcxx/test/libcxx-03/containers/associative/reference_comparator_abi.compile.pass.cpp
+++ b/libcxx/test/libcxx-03/containers/associative/reference_comparator_abi.compile.pass.cpp
@@ -15,7 +15,7 @@
// If we decide to make reference comparators ill-formed, this test would become
// unnecessary.
//
-// See https://github.com/llvm/llvm-project/issues/118559 for more details.
+// See https://llvm.org/PR118559 for more details.
#include <set>
#include <map>
diff --git a/libcxx/test/libcxx-03/iterators/contiguous_iterators.verify.cpp b/libcxx/test/libcxx-03/iterators/contiguous_iterators.verify.cpp
index ba2697c78986c..c1605c27a9fca 100644
--- a/libcxx/test/libcxx-03/iterators/contiguous_iterators.verify.cpp
+++ b/libcxx/test/libcxx-03/iterators/contiguous_iterators.verify.cpp
@@ -14,7 +14,7 @@
// XFAIL: FROZEN-CXX03-HEADERS-FIXME
// Verify that __bounded_iter does not accept non-contiguous iterators as determined by __libcpp_is_co...
[truncated]
|
@philnik777 Is this documented somewhere? If not I think we should add a note to the contributors' page as a reminder and as a rule to refer to? Should I open a PR to add it? |
I don't think so. Feel free to add a note in the guidelines. |
We've built up quite a few links directly to github within the code base. We should instead use
llvm.org/PR<issue-number>
to link to bugs, since that is resilient to the bug tracker changing in the future. This is especially relevant for tests linking to bugs, since they will probably be there for decades to come. A nice side effect is that these links are significantly shorter than the GH links, making them much less of an eyesore.This patch also replaces a few links that linked to the old bugzilla instance on llvm.org.