title: What is <built-in> in C++ preprocessor output?
body: <p><strong>Summary</strong>: C++ preprocessor output includes some lines that say <code>&lt;built-in&gt;</code>. I'm curious to know what these are for.</p>
  
  <p><strong>Details</strong>:</p>
  
  <p>When I compile the following code in a file named <code>test.cpp</code> with <code>clang++ -E</code> (output from <code>g++</code> is similar):</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  int main()
  {
    std::cout &lt;&lt; "Hello World!" &lt;&lt; std::endl;
    return 0;
  }
  </code></pre>
  
  <p>the first few lines of output are as follows:</p>
  
  <blockquote>
    <p># 1 "test.cpp"<br>
        # 1 "test.cpp" 1<br>
        # 1 "&lt;built-in>" 1<br>
        # 1 "&lt;built-in>" 3<br>
        # 156 "&lt;built-in>" 3<br>
        # 1 "&lt;command line>" 1<br>
        # 1 "&lt;built-in>" 2<br>
        # 1 "test.cpp" 2  </p>
  </blockquote>
  
  <p>My question is what do the <code>&lt;built-in&gt;</code> statements mean.</p>