mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Semiwrap / meson / robotpy define `NDEBUG` when building their software in all modes, while `allwplib` only does it when building debug. This causes the size of `DenseMap` to differ between the shared libraries built here, and the extension modules built in `mostrobotpy`, causing segfaults when you try to execute code that uses `DenseMap`. This is not a problem with the robotpy code in `allwpilib`, because bazel uses the exact same compiler flags when building the shared libraries and pybind11 extensions.
103 lines
4.0 KiB
Diff
103 lines
4.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: PJ Reiniger <pj.reiniger@gmail.com>
|
|
Date: Sat, 7 May 2022 22:37:34 -0400
|
|
Subject: [PATCH 06/35] Explicitly use std::
|
|
|
|
---
|
|
llvm/include/llvm/ADT/SmallSet.h | 2 +-
|
|
llvm/lib/Support/ErrorHandling.cpp | 2 +-
|
|
llvm/unittests/ADT/SmallPtrSetTest.cpp | 2 +-
|
|
llvm/unittests/ADT/SmallSetTest.cpp | 10 +++++-----
|
|
4 files changed, 8 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/llvm/include/llvm/ADT/SmallSet.h b/llvm/include/llvm/ADT/SmallSet.h
|
|
index ed3c6bfd3418d70a92eb602d0eb3e5d88da2a095..c62a3a55d9bda188670e7d6042867943dcd44c68 100644
|
|
--- a/llvm/include/llvm/ADT/SmallSet.h
|
|
+++ b/llvm/include/llvm/ADT/SmallSet.h
|
|
@@ -280,7 +280,7 @@ bool operator==(const SmallSet<T, LN, C> &LHS, const SmallSet<T, RN, C> &RHS) {
|
|
return false;
|
|
|
|
// All elements in LHS must also be in RHS
|
|
- return all_of(LHS, [&RHS](const T &E) { return RHS.count(E); });
|
|
+ return std::all_of(LHS.begin(), LHS.end(), [&RHS](const T &E) { return RHS.count(E); });
|
|
}
|
|
|
|
/// Inequality comparison for SmallSet.
|
|
diff --git a/llvm/lib/Support/ErrorHandling.cpp b/llvm/lib/Support/ErrorHandling.cpp
|
|
index 4e1dca80a21881bfb8fa886a5921c780ca021bf2..4de36d969b3776b72ff85888355b64f7f3262ccc 100644
|
|
--- a/llvm/lib/Support/ErrorHandling.cpp
|
|
+++ b/llvm/lib/Support/ErrorHandling.cpp
|
|
@@ -249,7 +249,7 @@ std::error_code llvm::mapLastWindowsError() {
|
|
// I'd rather not double the line count of the following.
|
|
#define MAP_ERR_TO_COND(x, y) \
|
|
case x: \
|
|
- return make_error_code(errc::y)
|
|
+ return std::make_error_code(std::errc::y)
|
|
|
|
std::error_code llvm::mapWindowsError(unsigned EV) {
|
|
switch (EV) {
|
|
diff --git a/llvm/unittests/ADT/SmallPtrSetTest.cpp b/llvm/unittests/ADT/SmallPtrSetTest.cpp
|
|
index 88be2b68915573a3b3a343ff53a84d86604d7bfd..65c0c564e91a40a98432d985c6949d3d4aa0717d 100644
|
|
--- a/llvm/unittests/ADT/SmallPtrSetTest.cpp
|
|
+++ b/llvm/unittests/ADT/SmallPtrSetTest.cpp
|
|
@@ -261,7 +261,7 @@ TEST(SmallPtrSetTest, dereferenceAndIterate) {
|
|
|
|
// Sort. We should hit the first element just once and the final element N
|
|
// times.
|
|
- llvm::sort(Found);
|
|
+ std::sort(std::begin(Found), std::end(Found));
|
|
for (auto F = std::begin(Found), E = std::end(Found); F != E; ++F)
|
|
EXPECT_EQ(F - Found + 1, *F);
|
|
}
|
|
diff --git a/llvm/unittests/ADT/SmallSetTest.cpp b/llvm/unittests/ADT/SmallSetTest.cpp
|
|
index 2feb0b1feb421bf734e6433ccce3d94dd2b0aeca..65d5998c63d9d7dd69c5a7054bcd82c4ce5d725f 100644
|
|
--- a/llvm/unittests/ADT/SmallSetTest.cpp
|
|
+++ b/llvm/unittests/ADT/SmallSetTest.cpp
|
|
@@ -11,9 +11,9 @@
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "llvm/ADT/SmallSet.h"
|
|
-#include "llvm/ADT/STLExtras.h"
|
|
#include "gmock/gmock.h"
|
|
#include "gtest/gtest.h"
|
|
+#include <algorithm>
|
|
#include <string>
|
|
|
|
using namespace llvm;
|
|
@@ -180,7 +180,7 @@ TEST(SmallSetTest, IteratorInt) {
|
|
|
|
std::vector<int> V(s1.begin(), s1.end());
|
|
// Make sure the elements are in the expected order.
|
|
- llvm::sort(V);
|
|
+ std::sort(V.begin(), V.end());
|
|
for (int i = 0; i < 3; i++)
|
|
EXPECT_EQ(i, V[i]);
|
|
|
|
@@ -191,7 +191,7 @@ TEST(SmallSetTest, IteratorInt) {
|
|
|
|
V.assign(s1.begin(), s1.end());
|
|
// Make sure the elements are in the expected order.
|
|
- llvm::sort(V);
|
|
+ std::sort(V.begin(), V.end());
|
|
for (int i = 0; i < 6; i++)
|
|
EXPECT_EQ(i, V[i]);
|
|
}
|
|
@@ -206,7 +206,7 @@ TEST(SmallSetTest, IteratorString) {
|
|
s1.insert("str 1");
|
|
|
|
std::vector<std::string> V(s1.begin(), s1.end());
|
|
- llvm::sort(V);
|
|
+ std::sort(V.begin(), V.end());
|
|
EXPECT_EQ(2u, s1.size());
|
|
EXPECT_EQ("str 1", V[0]);
|
|
EXPECT_EQ("str 2", V[1]);
|
|
@@ -217,7 +217,7 @@ TEST(SmallSetTest, IteratorString) {
|
|
|
|
V.assign(s1.begin(), s1.end());
|
|
// Make sure the elements are in the expected order.
|
|
- llvm::sort(V);
|
|
+ std::sort(V.begin(), V.end());
|
|
EXPECT_EQ(4u, s1.size());
|
|
EXPECT_EQ("str 0", V[0]);
|
|
EXPECT_EQ("str 1", V[1]);
|