diff --git a/src/libs/utils/cpplanguage_details.h b/src/libs/utils/cpplanguage_details.h index 06cb0501268..b60b7180fd5 100644 --- a/src/libs/utils/cpplanguage_details.h +++ b/src/libs/utils/cpplanguage_details.h @@ -61,17 +61,18 @@ enum class LanguageExtension : unsigned char { Q_DECLARE_FLAGS(LanguageExtensions, LanguageExtension) -constexpr LanguageExtension operator|(LanguageExtension first, LanguageExtension second) -{ - return static_cast( - (static_cast(first) | static_cast(second))); -} - -constexpr bool operator&&(LanguageExtension first, LanguageExtension second) -{ - return static_cast(first) & static_cast(second); -} - enum class QtVersion { Unknown = -1, None, Qt4, Qt5 }; } // namespace Utils + +constexpr Utils::LanguageExtension operator|(Utils::LanguageExtension first, + Utils::LanguageExtension second) +{ + return Utils::LanguageExtension(static_cast(first) + | static_cast(second)); +} + +constexpr bool operator&&(Utils::LanguageExtension first, Utils::LanguageExtension second) +{ + return static_cast(first) & static_cast(second); +} diff --git a/src/plugins/projectexplorer/projectexplorer_global.h b/src/plugins/projectexplorer/projectexplorer_global.h index cd46d2044ca..d70c42a0247 100644 --- a/src/plugins/projectexplorer/projectexplorer_global.h +++ b/src/plugins/projectexplorer/projectexplorer_global.h @@ -56,29 +56,31 @@ enum class WarningFlags { NonVirtualDestructor = 1 << 26 }; -inline WarningFlags operator|(WarningFlags first, WarningFlags second) +} // namespace ProjectExplorer + +inline ProjectExplorer::WarningFlags operator|(ProjectExplorer::WarningFlags first, + ProjectExplorer::WarningFlags second) { - return static_cast(static_cast(first) | static_cast(second)); + return ProjectExplorer::WarningFlags(int(first) | int(second)); } -inline WarningFlags operator&(WarningFlags first, WarningFlags second) +inline ProjectExplorer::WarningFlags operator&(ProjectExplorer::WarningFlags first, + ProjectExplorer::WarningFlags second) { - return static_cast(static_cast(first) & static_cast(second)); + return ProjectExplorer::WarningFlags(int(first) & int(second)); } -inline void operator|=(WarningFlags &first, WarningFlags second) +inline void operator|=(ProjectExplorer::WarningFlags &first, ProjectExplorer::WarningFlags second) { first = first | second; } -inline void operator&=(WarningFlags &first, WarningFlags second) +inline void operator&=(ProjectExplorer::WarningFlags &first, ProjectExplorer::WarningFlags second) { first = first & second; } -inline WarningFlags operator~(WarningFlags flags) +inline ProjectExplorer::WarningFlags operator~(ProjectExplorer::WarningFlags flags) { - return static_cast(~static_cast(flags)); + return ProjectExplorer::WarningFlags(~int(flags)); } - -} // namespace ProjectExplorer