aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/compiler/cpp/cpp_file.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/google/protobuf/compiler/cpp/cpp_file.cc')
-rw-r--r--src/google/protobuf/compiler/cpp/cpp_file.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/google/protobuf/compiler/cpp/cpp_file.cc b/src/google/protobuf/compiler/cpp/cpp_file.cc
index 52a16835..d4f57848 100644
--- a/src/google/protobuf/compiler/cpp/cpp_file.cc
+++ b/src/google/protobuf/compiler/cpp/cpp_file.cc
@@ -1327,7 +1327,7 @@ void FileGenerator::GenerateInlineFunctionDefinitions(io::Printer* printer) {
// TODO(gerbens) remove pragmas when gcc is no longer used. Current version
// of gcc fires a bogus error when compiled with strict-aliasing.
printer->Print(
- "#ifdef __GNUC__\n"
+ "#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)\n"
" #pragma GCC diagnostic push\n"
" #pragma GCC diagnostic ignored \"-Wstrict-aliasing\"\n"
"#endif // __GNUC__\n");
@@ -1340,7 +1340,7 @@ void FileGenerator::GenerateInlineFunctionDefinitions(io::Printer* printer) {
message_generators_[i]->GenerateInlineMethods(printer);
}
printer->Print(
- "#ifdef __GNUC__\n"
+ "#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)\n"
" #pragma GCC diagnostic pop\n"
"#endif // __GNUC__\n");