aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toolsrc/include/vcpkg_Checks.h18
-rw-r--r--toolsrc/include/vcpkg_Enums.h3
-rw-r--r--toolsrc/src/vcpkg_Checks.cpp7
-rw-r--r--toolsrc/src/vcpkg_Enums.cpp3
4 files changed, 21 insertions, 10 deletions
diff --git a/toolsrc/include/vcpkg_Checks.h b/toolsrc/include/vcpkg_Checks.h
index 1e2c7243e..5bcc59fee 100644
--- a/toolsrc/include/vcpkg_Checks.h
+++ b/toolsrc/include/vcpkg_Checks.h
@@ -5,25 +5,31 @@
namespace vcpkg::Checks
{
- __declspec(noreturn) void unreachable(const LineInfo& line_info);
+ [[noreturn]]
+ void unreachable(const LineInfo& line_info);
- _declspec(noreturn) void exit_with_code(const LineInfo& line_info, const int exit_code);
+ [[noreturn]]
+ void exit_with_code(const LineInfo& line_info, const int exit_code);
- _declspec(noreturn) inline void exit_fail(const LineInfo& line_info)
+ [[noreturn]]
+ inline void exit_fail(const LineInfo& line_info)
{
exit_with_code(line_info, EXIT_FAILURE);
}
- _declspec(noreturn) inline void exit_success(const LineInfo& line_info)
+ [[noreturn]]
+ inline void exit_success(const LineInfo& line_info)
{
exit_with_code(line_info, EXIT_SUCCESS);
}
// Part of the reason these exist is to not include extra headers in this one to avoid circular #includes.
- _declspec(noreturn) void exit_with_message(const LineInfo& line_info, const cstring_view errorMessage);
+ [[noreturn]]
+ void exit_with_message(const LineInfo& line_info, const cstring_view errorMessage);
template <class Arg1, class...Args>
- _declspec(noreturn) void exit_with_message(const LineInfo& line_info, const char* errorMessageTemplate, const Arg1 errorMessageArg1, const Args&... errorMessageArgs)
+ [[noreturn]]
+ void exit_with_message(const LineInfo& line_info, const char* errorMessageTemplate, const Arg1 errorMessageArg1, const Args&... errorMessageArgs)
{
exit_with_message(line_info, Strings::format(errorMessageTemplate, errorMessageArg1, errorMessageArgs...));
}
diff --git a/toolsrc/include/vcpkg_Enums.h b/toolsrc/include/vcpkg_Enums.h
index ef41155d9..4669e4289 100644
--- a/toolsrc/include/vcpkg_Enums.h
+++ b/toolsrc/include/vcpkg_Enums.h
@@ -6,5 +6,6 @@ namespace vcpkg::Enums
{
std::string nullvalue_toString(const std::string& enum_name);
- __declspec(noreturn) void nullvalue_used(const LineInfo& line_info, const std::string& enum_name);
+ [[noreturn]]
+ void nullvalue_used(const LineInfo& line_info, const std::string& enum_name);
}
diff --git a/toolsrc/src/vcpkg_Checks.cpp b/toolsrc/src/vcpkg_Checks.cpp
index b7fcb7077..acc15df99 100644
--- a/toolsrc/src/vcpkg_Checks.cpp
+++ b/toolsrc/src/vcpkg_Checks.cpp
@@ -5,7 +5,8 @@
namespace vcpkg::Checks
{
- __declspec(noreturn) void unreachable(const LineInfo& line_info)
+ [[noreturn]]
+ void unreachable(const LineInfo& line_info)
{
System::println(System::color::error, "Error: Unreachable code was reached");
System::println(System::color::error, line_info.toString()); // Always print line_info here
@@ -16,6 +17,7 @@ namespace vcpkg::Checks
#endif
}
+ [[noreturn]]
void exit_with_code(const LineInfo& line_info, const int exit_code)
{
if (g_debugging)
@@ -26,7 +28,8 @@ namespace vcpkg::Checks
::exit(exit_code);
}
- __declspec(noreturn) void exit_with_message(const LineInfo& line_info, const cstring_view errorMessage)
+ [[noreturn]]
+ void exit_with_message(const LineInfo& line_info, const cstring_view errorMessage)
{
System::println(System::color::error, errorMessage);
exit_fail(line_info);
diff --git a/toolsrc/src/vcpkg_Enums.cpp b/toolsrc/src/vcpkg_Enums.cpp
index 46e61db7b..49f21e0e6 100644
--- a/toolsrc/src/vcpkg_Enums.cpp
+++ b/toolsrc/src/vcpkg_Enums.cpp
@@ -9,7 +9,8 @@ namespace vcpkg::Enums
return Strings::format("%s_NULLVALUE", enum_name);
}
- __declspec(noreturn) void nullvalue_used(const LineInfo& line_info, const std::string& enum_name)
+ [[noreturn]]
+ void nullvalue_used(const LineInfo& line_info, const std::string& enum_name)
{
Checks::exit_with_message(line_info, "NULLVALUE of enum %s was used", enum_name);
}