[clang] [clang] Use std::optional::value_or (NFC) (PR #109894)

Kazu Hirata via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 24 18:18:33 PDT 2024


https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/109894

None

>From 7ea89a1dcdee890d3d69f59ea4e31b084d32e0d7 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Tue, 24 Sep 2024 14:34:49 -0700
Subject: [PATCH] [clang] Use std::optional::value_or (NFC)

---
 clang/include/clang/AST/PropertiesBase.td   | 2 +-
 clang/include/clang/Basic/FileManager.h     | 2 +-
 clang/lib/APINotes/APINotesYAMLCompiler.cpp | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/clang/include/clang/AST/PropertiesBase.td b/clang/include/clang/AST/PropertiesBase.td
index 9b934b20cf2559..3057669e3758b5 100644
--- a/clang/include/clang/AST/PropertiesBase.td
+++ b/clang/include/clang/AST/PropertiesBase.td
@@ -39,7 +39,7 @@ class EnumPropertyType<string typeName = ""> : PropertyType<typeName> {}
 /// Supports optional values by using the null representation.
 class RefPropertyType<string className> : PropertyType<className # "*"> {
   let PackOptional =
-    "value ? *value : nullptr";
+    "value.value_or(nullptr)";
   let UnpackOptional =
     "value ? std::optional<" # CXXName # ">(value) : std::nullopt";
 }
diff --git a/clang/include/clang/Basic/FileManager.h b/clang/include/clang/Basic/FileManager.h
index 527bbef24793ee..74029a91d1a6d0 100644
--- a/clang/include/clang/Basic/FileManager.h
+++ b/clang/include/clang/Basic/FileManager.h
@@ -293,7 +293,7 @@ class FileManager : public RefCountedBase<FileManager> {
                    bool RequiresNullTerminator = true,
                    std::optional<int64_t> MaybeLimit = std::nullopt) const {
     return getBufferForFileImpl(Filename,
-                                /*FileSize=*/(MaybeLimit ? *MaybeLimit : -1),
+                                /*FileSize=*/MaybeLimit.value_or(-1),
                                 isVolatile, RequiresNullTerminator);
   }
 
diff --git a/clang/lib/APINotes/APINotesYAMLCompiler.cpp b/clang/lib/APINotes/APINotesYAMLCompiler.cpp
index 16fd59244086fd..f72a1d65b5456f 100644
--- a/clang/lib/APINotes/APINotesYAMLCompiler.cpp
+++ b/clang/lib/APINotes/APINotesYAMLCompiler.cpp
@@ -757,8 +757,8 @@ class YAMLConverter {
       OutInfo.addTypeInfo(idx++, N);
     audited = Nullability.size() > 0 || ReturnNullability;
     if (audited)
-      OutInfo.addTypeInfo(0, ReturnNullability ? *ReturnNullability
-                                               : NullabilityKind::NonNull);
+      OutInfo.addTypeInfo(0,
+                          ReturnNullability.value_or(NullabilityKind::NonNull));
     if (!audited)
       return;
     OutInfo.NullabilityAudited = audited;



More information about the cfe-commits mailing list