| Index: tools/gn/docs/reference.md
 | 
| diff --git a/tools/gn/docs/reference.md b/tools/gn/docs/reference.md
 | 
| index 97a2c866fc849f67206cb0f78f4e53da26e7db26..db5c34172119b865768d4b6f445f6cd7a2bf7b90 100644
 | 
| --- a/tools/gn/docs/reference.md
 | 
| +++ b/tools/gn/docs/reference.md
 | 
| @@ -3893,7 +3893,7 @@
 | 
|  
 | 
|    This should be set to the most specific value possible. So, "android" or
 | 
|    "chromeos" should be used instead of "linux" where applicable, even though
 | 
| -  Android and Chrome OS are both Linux variants. This can mean that one needs to
 | 
| +  Android and ChromeOS are both Linux variants. This can mean that one needs to
 | 
|    write
 | 
|  
 | 
|        if (target_os == "android" || target_os == "linux") {
 | 
| @@ -5307,12 +5307,28 @@
 | 
|    config applying to this target specifies this value. In addition, the tool
 | 
|    corresponding to the source files must also specify precompiled headers (see
 | 
|    "gn help tool"). The tool will also specify what type of precompiled headers
 | 
| -  to use.
 | 
| +  to use, by setting precompiled_header_type to either "gcc" or "msvc".
 | 
|  
 | 
|    The precompiled header/source variables can be specified on a target or a
 | 
|    config, but must be the same for all configs applying to a given target since
 | 
|    a target can only have one precompiled header.
 | 
|  
 | 
| +  If you use both C and C++ sources, the precompiled header and source file
 | 
| +  will be compiled once per language. You will want to make sure to wrap C++
 | 
| +  includes in __cplusplus #ifdefs so the file will compile in C mode.
 | 
| +
 | 
| +```
 | 
| +
 | 
| +### **GCC precompiled headers**
 | 
| +
 | 
| +```
 | 
| +  When using GCC-style precompiled headers, "precompiled_source" contains the
 | 
| +  path of a .h file that is precompiled and then included by all source files
 | 
| +  in targets that set "precompiled_source".
 | 
| +
 | 
| +  The value of "precompiled_header" is not used with GCC-style precompiled
 | 
| +  headers.
 | 
| +
 | 
|  ```
 | 
|  
 | 
|  ### **MSVC precompiled headers**
 | 
| @@ -5320,8 +5336,8 @@
 | 
|  ```
 | 
|    When using MSVC-style precompiled headers, the "precompiled_header" value is
 | 
|    a string corresponding to the header. This is NOT a path to a file that GN
 | 
| -  recognises, but rather the exact string that appears in quotes after an
 | 
| -  #include line in source code. The compiler will match this string against
 | 
| +  recognises, but rather the exact string that appears in quotes after
 | 
| +  an #include line in source code. The compiler will match this string against
 | 
|    includes or forced includes (/FI).
 | 
|  
 | 
|    MSVC also requires a source file to compile the header with. This must be
 | 
| @@ -5329,10 +5345,6 @@
 | 
|    this IS a GN-style file name, and tells GN which source file to compile to
 | 
|    make the .pch file used for subsequent compiles.
 | 
|  
 | 
| -  If you use both C and C++ sources, the precompiled header and source file
 | 
| -  will be compiled using both tools. You will want to make sure to wrap C++
 | 
| -  includes in __cplusplus #ifdefs so the file will compile in C mode.
 | 
| -
 | 
|    For example, if the toolchain specifies MSVC headers:
 | 
|  
 | 
|      toolchain("vc_x64") {
 | 
| @@ -5360,6 +5372,13 @@
 | 
|  
 | 
|  
 | 
|  ```
 | 
| +## **precompiled_header_type**: [string] "gcc" or "msvc".
 | 
| +
 | 
| +```
 | 
| +  See "gn help precompiled_header".
 | 
| +
 | 
| +
 | 
| +```
 | 
|  ## **precompiled_source**: [file name] Source file to precompile.
 | 
|  
 | 
|  ```
 | 
| @@ -5796,8 +5815,12 @@
 | 
|  ### **Variables**
 | 
|  
 | 
|  ```
 | 
| +  arg_file_template [optional]
 | 
| +      Path to a file containing the text that should be used as the default
 | 
| +      args.gn content when you run `gn args`.
 | 
| +
 | 
|    buildconfig [required]
 | 
| -      Label of the build config file. This file will be used to set up the
 | 
| +      Path to the build config file. This file will be used to set up the
 | 
|        build file execution environment for each toolchain.
 | 
|  
 | 
|    check_targets [optional]
 | 
| 
 |