-
Notifications
You must be signed in to change notification settings - Fork 12.3k
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
[clang] Use std::optional::value_or (NFC) #109894
[clang] Use std::optional::value_or (NFC) #109894
Conversation
@llvm/pr-subscribers-clang @llvm/pr-subscribers-clang-modules Author: Kazu Hirata (kazutakahirata) ChangesFull diff: https://github.com/llvm/llvm-project/pull/109894.diff 3 Files Affected:
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;
|
Next time please provide a better summary for your PR. This is super important for downstream folks debugging build breaks. In general this is important for reviews to compare what they expect with the actual diff. In this case something like "replace the use of conditional operator on std::optional w/ value_or" would have been sufficient. Thank you |
Ack. |
No description provided.