title: Understanding and parsing warnings from gcc
body: <p>When compiling a .cpp file from Emacs through <code>M-x compile</code> (which runs the folder's Makefile), I see the following on the compilation buffer (displayed in compilation mode):</p>
  
  <blockquote>
  <pre><code>In file included from: /path/to/file1:60,
    from /path/to/file2.h:15,
    from /path/to/file3.cpp:16: 
  </code></pre>
    
    <p><code>/path/to/file4.h:28:2:</code> #warning  This file includes at least one deprecated  or antiquated header which may be removed without
    further notice at a future date. Please use a non-deprecated interface
    with equivalent functionality instead. For a listing of replacement
    headers and interfaces, consult the file <code>backward_warning.h</code>. To
    disable this warning use <code>-Wno-deprecated</code>.</p>
  </blockquote>
  
  <ul>
  <li>Aside from the actual warning message, how should I understand this trace? i.e. which file generated the warning? (<code>file1</code>,<code>file2</code>, <code>file3</code> or <code>file4</code>)?</li>
  <li>Also, why is there a comma after the <code>file2</code> line, a colon after the <code>file3</code> line, the line with <code>file4</code> includes two numbers separated with two colons?</li>
  </ul>
  
  <p>I am using Emacs <code>24.2.1</code>, with <code>gcc-4.4.5-x86_64</code>.</p>