Small changes to make the codebase more Win friendly

Minor changes that came up while trying building with MSVC.

Bug: 174454879
Change-Id: Ie34f3f8bb0c8ed879672eaffba34c210809618b0
diff --git a/src/protozero/protoc_plugin/cppgen_plugin.cc b/src/protozero/protoc_plugin/cppgen_plugin.cc
index 0cdd68e..164fb63 100644
--- a/src/protozero/protoc_plugin/cppgen_plugin.cc
+++ b/src/protozero/protoc_plugin/cppgen_plugin.cc
@@ -153,8 +153,10 @@
   cc_printer.Print("#include \"perfetto/protozero/proto_decoder.h\"\n");
   cc_printer.Print("#include \"perfetto/protozero/scattered_heap_buffer.h\"\n");
   cc_printer.Print(kHeader);
+  cc_printer.Print("#if defined(__GNUC__) || defined(__clang__)\n");
   cc_printer.Print("#pragma GCC diagnostic push\n");
   cc_printer.Print("#pragma GCC diagnostic ignored \"-Wfloat-equal\"\n");
+  cc_printer.Print("#endif\n");
 
   // Generate includes for translated types of dependencies.
 
@@ -335,8 +337,10 @@
     h_printer.Print("}  // namespace $n$\n", "n", ns);
     cc_printer.Print("}  // namespace $n$\n", "n", ns);
   }
-
+  cc_printer.Print("#if defined(__GNUC__) || defined(__clang__)\n");
   cc_printer.Print("#pragma GCC diagnostic pop\n");
+  cc_printer.Print("#endif\n");
+
   h_printer.Print("\n#endif  // $g$\n", "g", include_guard);
 
   return true;
diff --git a/src/protozero/protoc_plugin/protozero_plugin.cc b/src/protozero/protoc_plugin/protozero_plugin.cc
index dbc8ef2..531a772 100644
--- a/src/protozero/protoc_plugin/protozero_plugin.cc
+++ b/src/protozero/protoc_plugin/protozero_plugin.cc
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+#include <stdlib.h>
+
 #include <limits>
 #include <map>
 #include <memory>
@@ -54,7 +56,7 @@
 
 void Assert(bool condition) {
   if (!condition)
-    __builtin_trap();
+    abort();
 }
 
 struct FileDescriptorComp {