[clang-tools-extra] [llvm] Apply modernize-use-starts-ends-with on llvm-project (PR #89140)

2024-04-17 Thread Nicolas van Kempen via cfe-commits

nicovank wrote:

`std::string::starts_with` is only available from C++20, and LLVM is limited to 
C++17 as far as I know. However, the two objects here are `StringRef` so this 
is safe.

https://github.com/llvm/llvm-project/pull/89140
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [llvm] Apply modernize-use-starts-ends-with on llvm-project (PR #89140)

2024-04-17 Thread via cfe-commits

llvmbot wrote:




@llvm/pr-subscribers-clang-tools-extra

Author: Nicolas van Kempen (nicovank)


Changes

Run `modernize-use-starts-ends-with` on llvm-project. Two instances are 
flagged, minor readability improvements, extremely minor performance 
improvements.

```
python3 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py \
-clang-tidy-binary="build/bin/clang-tidy" \
-clang-apply-replacements-binary="build/bin/clang-apply-replacements" \
-checks="-*,modernize-use-starts-ends-with" \
-header-filter=".*" \
-fix -format
```

I am working on some additions to this check, but they don't seem to flag any 
additional cases anyway.

---
Full diff: https://github.com/llvm/llvm-project/pull/89140.diff


2 Files Affected:

- (modified) clang-tools-extra/clang-doc/Representation.cpp (+2-2) 
- (modified) llvm/unittests/Support/VirtualFileSystemTest.cpp (+1-1) 


``diff
diff --git a/clang-tools-extra/clang-doc/Representation.cpp 
b/clang-tools-extra/clang-doc/Representation.cpp
index 84233c36e15d98..2afff2929cf79c 100644
--- a/clang-tools-extra/clang-doc/Representation.cpp
+++ b/clang-tools-extra/clang-doc/Representation.cpp
@@ -380,8 +380,8 @@ ClangDocContext::ClangDocContext(tooling::ExecutionContext 
*ECtx,
   this->SourceRoot = std::string(SourceRootDir);
   if (!RepositoryUrl.empty()) {
 this->RepositoryUrl = std::string(RepositoryUrl);
-if (!RepositoryUrl.empty() && RepositoryUrl.find("http://";) != 0 &&
-RepositoryUrl.find("https://";) != 0)
+if (!RepositoryUrl.empty() && !RepositoryUrl.starts_with("http://";) &&
+!RepositoryUrl.starts_with("https://";))
   this->RepositoryUrl->insert(0, "https://";);
   }
 }
diff --git a/llvm/unittests/Support/VirtualFileSystemTest.cpp 
b/llvm/unittests/Support/VirtualFileSystemTest.cpp
index e9b4ac3d92e1dd..e9fd9671ea6ab5 100644
--- a/llvm/unittests/Support/VirtualFileSystemTest.cpp
+++ b/llvm/unittests/Support/VirtualFileSystemTest.cpp
@@ -101,7 +101,7 @@ class DummyFileSystem : public vfs::FileSystem {
 std::map::iterator I;
 std::string Path;
 bool isInPath(StringRef S) {
-  if (Path.size() < S.size() && S.find(Path) == 0) {
+  if (Path.size() < S.size() && S.starts_with(Path)) {
 auto LastSep = S.find_last_of('/');
 if (LastSep == Path.size() || LastSep == Path.size() - 1)
   return true;

``




https://github.com/llvm/llvm-project/pull/89140
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [llvm] Apply modernize-use-starts-ends-with on llvm-project (PR #89140)

2024-04-17 Thread via cfe-commits

llvmbot wrote:




@llvm/pr-subscribers-llvm-support

Author: Nicolas van Kempen (nicovank)


Changes

Run `modernize-use-starts-ends-with` on llvm-project. Two instances are 
flagged, minor readability improvements, extremely minor performance 
improvements.

```
python3 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py \
-clang-tidy-binary="build/bin/clang-tidy" \
-clang-apply-replacements-binary="build/bin/clang-apply-replacements" \
-checks="-*,modernize-use-starts-ends-with" \
-header-filter=".*" \
-fix -format
```

I am working on some additions to this check, but they don't seem to flag any 
additional cases anyway.

---
Full diff: https://github.com/llvm/llvm-project/pull/89140.diff


2 Files Affected:

- (modified) clang-tools-extra/clang-doc/Representation.cpp (+2-2) 
- (modified) llvm/unittests/Support/VirtualFileSystemTest.cpp (+1-1) 


``diff
diff --git a/clang-tools-extra/clang-doc/Representation.cpp 
b/clang-tools-extra/clang-doc/Representation.cpp
index 84233c36e15d98..2afff2929cf79c 100644
--- a/clang-tools-extra/clang-doc/Representation.cpp
+++ b/clang-tools-extra/clang-doc/Representation.cpp
@@ -380,8 +380,8 @@ ClangDocContext::ClangDocContext(tooling::ExecutionContext 
*ECtx,
   this->SourceRoot = std::string(SourceRootDir);
   if (!RepositoryUrl.empty()) {
 this->RepositoryUrl = std::string(RepositoryUrl);
-if (!RepositoryUrl.empty() && RepositoryUrl.find("http://";) != 0 &&
-RepositoryUrl.find("https://";) != 0)
+if (!RepositoryUrl.empty() && !RepositoryUrl.starts_with("http://";) &&
+!RepositoryUrl.starts_with("https://";))
   this->RepositoryUrl->insert(0, "https://";);
   }
 }
diff --git a/llvm/unittests/Support/VirtualFileSystemTest.cpp 
b/llvm/unittests/Support/VirtualFileSystemTest.cpp
index e9b4ac3d92e1dd..e9fd9671ea6ab5 100644
--- a/llvm/unittests/Support/VirtualFileSystemTest.cpp
+++ b/llvm/unittests/Support/VirtualFileSystemTest.cpp
@@ -101,7 +101,7 @@ class DummyFileSystem : public vfs::FileSystem {
 std::map::iterator I;
 std::string Path;
 bool isInPath(StringRef S) {
-  if (Path.size() < S.size() && S.find(Path) == 0) {
+  if (Path.size() < S.size() && S.starts_with(Path)) {
 auto LastSep = S.find_last_of('/');
 if (LastSep == Path.size() || LastSep == Path.size() - 1)
   return true;

``




https://github.com/llvm/llvm-project/pull/89140
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [llvm] Apply modernize-use-starts-ends-with on llvm-project (PR #89140)

2024-04-17 Thread Nicolas van Kempen via cfe-commits

https://github.com/nicovank created 
https://github.com/llvm/llvm-project/pull/89140

Run `modernize-use-starts-ends-with` on llvm-project. Two instances are 
flagged, minor readability improvements, extremely minor performance 
improvements.

```
python3 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py \
-clang-tidy-binary="build/bin/clang-tidy" \
-clang-apply-replacements-binary="build/bin/clang-apply-replacements" \
-checks="-*,modernize-use-starts-ends-with" \
-header-filter=".*" \
-fix -format
```

I am working on some additions to this check, but they don't seem to flag any 
additional cases anyway.

>From 4f28eccd28878683c75f17e0114d1b3b2380190c Mon Sep 17 00:00:00 2001
From: Nicolas van Kempen 
Date: Wed, 17 Apr 2024 14:27:42 -0400
Subject: [PATCH] Apply modernize-use-starts-ends-with on llvm-project

---
 clang-tools-extra/clang-doc/Representation.cpp   | 4 ++--
 llvm/unittests/Support/VirtualFileSystemTest.cpp | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/clang-tools-extra/clang-doc/Representation.cpp 
b/clang-tools-extra/clang-doc/Representation.cpp
index 84233c36e15d98..2afff2929cf79c 100644
--- a/clang-tools-extra/clang-doc/Representation.cpp
+++ b/clang-tools-extra/clang-doc/Representation.cpp
@@ -380,8 +380,8 @@ ClangDocContext::ClangDocContext(tooling::ExecutionContext 
*ECtx,
   this->SourceRoot = std::string(SourceRootDir);
   if (!RepositoryUrl.empty()) {
 this->RepositoryUrl = std::string(RepositoryUrl);
-if (!RepositoryUrl.empty() && RepositoryUrl.find("http://";) != 0 &&
-RepositoryUrl.find("https://";) != 0)
+if (!RepositoryUrl.empty() && !RepositoryUrl.starts_with("http://";) &&
+!RepositoryUrl.starts_with("https://";))
   this->RepositoryUrl->insert(0, "https://";);
   }
 }
diff --git a/llvm/unittests/Support/VirtualFileSystemTest.cpp 
b/llvm/unittests/Support/VirtualFileSystemTest.cpp
index e9b4ac3d92e1dd..e9fd9671ea6ab5 100644
--- a/llvm/unittests/Support/VirtualFileSystemTest.cpp
+++ b/llvm/unittests/Support/VirtualFileSystemTest.cpp
@@ -101,7 +101,7 @@ class DummyFileSystem : public vfs::FileSystem {
 std::map::iterator I;
 std::string Path;
 bool isInPath(StringRef S) {
-  if (Path.size() < S.size() && S.find(Path) == 0) {
+  if (Path.size() < S.size() && S.starts_with(Path)) {
 auto LastSep = S.find_last_of('/');
 if (LastSep == Path.size() || LastSep == Path.size() - 1)
   return true;

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits