diff --git a/src/gn/command_gen.cc b/src/gn/command_gen.cc
index 4f951d4..648f36e 100644
--- a/src/gn/command_gen.cc
+++ b/src/gn/command_gen.cc
@@ -155,7 +155,8 @@
 
 // Prints an error that the given file was present as a source or input in
 // the given target(s) but was not generated by any of its dependencies.
-// Returns true if the error was actually printed, or false if it was suppressed.
+// Returns true if the error was actually printed, or false if it was
+// suppressed.
 bool PrintInvalidGeneratedInput(const Builder& builder,
                                 const SourceFile& file,
                                 const std::vector<const Target*>& targets) {
@@ -193,8 +194,8 @@
     err += "but no targets in the build generate that file.";
   }
 
-  return Err(Location(), "Input to " + target_str + " not generated by a dependency.",
-             err)
+  return Err(Location(),
+             "Input to " + target_str + " not generated by a dependency.", err)
       .PrintToStdout();
 }
 
diff --git a/src/gn/err.cc b/src/gn/err.cc
index 627fdf8..95f06dc 100644
--- a/src/gn/err.cc
+++ b/src/gn/err.cc
@@ -31,7 +31,8 @@
     if (base::CommandLine::InitializedForCurrentProcess()) {
       const base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess();
       if (cmdline && cmdline->HasSwitch(switches::kErrorLimit)) {
-        std::string limit_str = cmdline->GetSwitchValueString(switches::kErrorLimit);
+        std::string limit_str =
+            cmdline->GetSwitchValueString(switches::kErrorLimit);
         int parsed_limit;
         if (base::StringToInt(limit_str, &parsed_limit)) {
           g_error_limit = parsed_limit;
