diff --git a/tools/gn/command_args.cc b/tools/gn/command_args.cc
index 2a24510..c53497a 100644
--- a/tools/gn/command_args.cc
+++ b/tools/gn/command_args.cc
@@ -56,7 +56,7 @@
 
   size_t cur = offset;
   do {
-    cur --;
+    cur--;
     if (Tokenizer::IsNewline(data, cur))
       return cur + 1;  // Want the first character *after* the newline.
   } while (cur > 0);
@@ -328,10 +328,10 @@
 
 }  // namespace
 
-extern const char kArgs[] = "args";
-extern const char kArgs_HelpShort[] =
+const char kArgs[] = "args";
+const char kArgs_HelpShort[] =
     "args: Display or configure arguments declared by the build.";
-extern const char kArgs_Help[] =
+const char kArgs_Help[] =
     R"(gn args <out_dir> [--list] [--short] [--args] [--overrides-only]
 
   See also "gn help buildargs" for a more high-level overview of how
diff --git a/tools/gn/functions_target.cc b/tools/gn/functions_target.cc
index 85b2a26..0e20367 100644
--- a/tools/gn/functions_target.cc
+++ b/tools/gn/functions_target.cc
@@ -656,10 +656,9 @@
 
 // source_set ------------------------------------------------------------------
 
-extern const char kSourceSet[] = "source_set";
-extern const char kSourceSet_HelpShort[] =
-    "source_set: Declare a source set target.";
-extern const char kSourceSet_Help[] =
+const char kSourceSet[] = "source_set";
+const char kSourceSet_HelpShort[] = "source_set: Declare a source set target.";
+const char kSourceSet_Help[] =
     R"(source_set: Declare a source set target.
 
   A source set is a collection of sources that get compiled, but are not linked
@@ -685,11 +684,7 @@
 
 Variables
 
-)"
-    CONFIG_VALUES_VARS_HELP
-    DEPS_VARS
-    DEPENDENT_CONFIG_VARS
-    GENERAL_TARGET_VARS;
+)" CONFIG_VALUES_VARS_HELP DEPS_VARS DEPENDENT_CONFIG_VARS GENERAL_TARGET_VARS;
 
 Value RunSourceSet(Scope* scope,
                    const FunctionCallNode* function,
diff --git a/tools/gn/input_conversion.cc b/tools/gn/input_conversion.cc
index d452759..2e905c6 100644
--- a/tools/gn/input_conversion.cc
+++ b/tools/gn/input_conversion.cc
@@ -146,7 +146,7 @@
 
 }  // namespace
 
-extern const char kInputConversion_Help[] =
+const char kInputConversion_Help[] =
     R"(input_conversion: Specifies how to transform input to a variable.
 
   input_conversion is an argument to read_file and exec_script that specifies
diff --git a/tools/gn/setup.cc b/tools/gn/setup.cc
index 7fc4a2e..a448d92 100644
--- a/tools/gn/setup.cc
+++ b/tools/gn/setup.cc
@@ -40,7 +40,7 @@
 #include <windows.h>
 #endif
 
-extern const char kDotfile_Help[] =
+const char kDotfile_Help[] =
     R"(.gn file
 
   When gn starts, it will search the current directory and parent directories
