diff --git a/include/nonstd/string_view.hpp b/include/nonstd/string_view.hpp index 3b4526f..8090115 100644 --- a/include/nonstd/string_view.hpp +++ b/include/nonstd/string_view.hpp @@ -435,8 +435,10 @@ using std::operator<<; # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wuser-defined-literals" #elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wliteral-suffix" +# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wliteral-suffix" +# endif #endif // __clang__ #if nssv_COMPILER_MSVC_VERSION >= 140 @@ -452,7 +454,11 @@ using std::operator<<; #if defined(__clang__) # define nssv_RESTORE_WARNINGS() _Pragma("clang diagnostic pop") #elif defined(__GNUC__) -# define nssv_RESTORE_WARNINGS() _Pragma("GCC diagnostic pop") +# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 +# define nssv_RESTORE_WARNINGS() _Pragma("GCC diagnostic pop") +# else +# define nssv_RESTORE_WARNINGS() +# endif #elif nssv_COMPILER_MSVC_VERSION >= 140 # define nssv_RESTORE_WARNINGS() __pragma(warning(pop )) #else