Enable nodiscard for upb PiperOrigin-RevId: 902831418
diff --git a/upb/message/compare_fuzz_test.cc b/upb/message/compare_fuzz_test.cc index 04fe692..ecb768b 100644 --- a/upb/message/compare_fuzz_test.cc +++ b/upb/message/compare_fuzz_test.cc
@@ -16,38 +16,25 @@ namespace upb { namespace { +static void CheckExtRegStatus(upb_ExtensionRegistryStatus status) { + if (status == kUpb_ExtensionRegistryStatus_OutOfMemory) { + absl::ThrowStdBadAlloc(); + } else { + ASSERT_EQ(status, kUpb_ExtensionRegistryStatus_Ok); + } +} const upb_ExtensionRegistry* CreateTestExtensionRegistry(upb_Arena* arena) { upb_ExtensionRegistry* ext_registry = upb_ExtensionRegistry_New(arena); - if (upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension1_model_ext_ext) != - kUpb_ExtensionRegistryStatus_Ok) { - absl::ThrowStdBadAlloc(); - } - if (upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_ext) != - kUpb_ExtensionRegistryStatus_Ok) { - absl::ThrowStdBadAlloc(); - } - if (upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_2_ext) != - kUpb_ExtensionRegistryStatus_Ok) { - absl::ThrowStdBadAlloc(); - } - if (upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_3_ext) != - kUpb_ExtensionRegistryStatus_Ok) { - absl::ThrowStdBadAlloc(); - } - if (upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_4_ext) != - kUpb_ExtensionRegistryStatus_Ok) { - absl::ThrowStdBadAlloc(); - } - if (upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_5_ext) != - kUpb_ExtensionRegistryStatus_Ok) { - absl::ThrowStdBadAlloc(); - } + CheckExtRegStatus(upb_ExtensionRegistry_Add( + ext_registry, upb_test_ModelExtension1_model_ext_ext)); + CheckExtRegStatus(upb_ExtensionRegistry_Add( + ext_registry, upb_test_ModelExtension2_model_ext_2_ext)); + CheckExtRegStatus(upb_ExtensionRegistry_Add( + ext_registry, upb_test_ModelExtension2_model_ext_3_ext)); + CheckExtRegStatus(upb_ExtensionRegistry_Add( + ext_registry, upb_test_ModelExtension2_model_ext_4_ext)); + CheckExtRegStatus(upb_ExtensionRegistry_Add( + ext_registry, upb_test_ModelExtension2_model_ext_5_ext)); return ext_registry; }
diff --git a/upb/message/unknown_fields_test.cc b/upb/message/unknown_fields_test.cc index 5c0b8b3..7895511 100644 --- a/upb/message/unknown_fields_test.cc +++ b/upb/message/unknown_fields_test.cc
@@ -311,8 +311,8 @@ // Add a raw unknown field string view const char raw_bytes[] = "\x08\x96\x01"; // tag 1 (field 1, varint), value 150 - UPB_PRIVATE(_upb_Message_AddUnknown)(UPB_UPCAST(msg), raw_bytes, 3, arena, - kUpb_AddUnknown_Copy); + ASSERT_TRUE(UPB_PRIVATE(_upb_Message_AddUnknown)( + UPB_UPCAST(msg), raw_bytes, 3, arena, kUpb_AddUnknown_Copy)); // Add non-canonical extension upb_test_ModelExtension2* extension2 = upb_test_ModelExtension2_new(arena);
diff --git a/upb/port/def.inc b/upb/port/def.inc index 9d83c8a..8052a48 100644 --- a/upb/port/def.inc +++ b/upb/port/def.inc
@@ -308,12 +308,11 @@ #define UPB_NODEREF #endif -// Will be defined properly once call sites are updated -#if false && UPB_HAS_C_ATTRIBUTE(nodiscard) +#if UPB_HAS_C_ATTRIBUTE(nodiscard) #define UPB_NODISCARD [[nodiscard]] -#elif false && UPB_HAS_ATTRIBUTE(warn_unused_result) +#elif UPB_HAS_ATTRIBUTE(warn_unused_result) #define UPB_NODISCARD __attribute__((warn_unused_result)) -#elif false && UPB_HAS_CPP_ATTRIBUTE(nodiscard) +#elif UPB_HAS_CPP_ATTRIBUTE(nodiscard) #define UPB_NODISCARD [[nodiscard]] #else #define UPB_NODISCARD