[gn build] port b1356504e63ae (c++17)

GitOrigin-RevId: 51a91d6c5d87fb85945f8c99b1e678e05d0723c0
diff --git a/utils/gn/build/BUILD.gn b/utils/gn/build/BUILD.gn
index 5e7131c..2320040 100644
--- a/utils/gn/build/BUILD.gn
+++ b/utils/gn/build/BUILD.gn
@@ -117,7 +117,7 @@
       ldflags += [ "-Wl,--color-diagnostics" ]
     }
     cflags_cc += [
-      "-std=c++14",
+      "-std=c++17",
       "-fvisibility-inlines-hidden",
     ]
   } else {
@@ -160,7 +160,10 @@
       "_UNICODE",
       "UNICODE",
     ]
-    cflags += [ "/EHs-c-" ]
+    cflags += [
+      "/std:c++17",
+      "/EHs-c-",
+    ]
 
     # The MSVC default value (1 MB) is not enough for parsing recursive C++
     # templates in Clang.