blob: a4e65d2172819b087f82fa0ee930b6fc754e7743 [file] [log] [blame]
diff -ru protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc protobuf2/src/google/protobuf/compiler/cpp/cpp_message.cc
--- protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc 2018-05-25 08:49:22.423803658 -0700
+++ protobuf2/src/google/protobuf/compiler/cpp/cpp_message.cc 2018-05-25 08:51:00.622866069 -0700
@@ -994,7 +994,7 @@
vars["new_final"] = " PROTOBUF_FINAL";
printer->Print(vars,
- "void Swap($classname$* other);\n"
+ "GOOGLE_ATTRIBUTE_NOINLINE void Swap($classname$* other);\n"
"friend void swap($classname$& a, $classname$& b) {\n"
" a.Swap(&b);\n"
"}\n"
@@ -2973,7 +2973,7 @@
// ownership situation: swapping across arenas or between an arena and a
// heap requires copying.
printer->Print(
- "void $classname$::Swap($classname$* other) {\n"
+ "GOOGLE_ATTRIBUTE_NOINLINE void $classname$::Swap($classname$* other) {\n"
" if (other == this) return;\n"
" if (GetArenaNoVirtual() == other->GetArenaNoVirtual()) {\n"
" InternalSwap(other);\n"