title: Strange gcc error: stray '\NNN' in program
body: <p>The following issue popped up in my open source library, and I can't figure out what's going on.</p>
  
  <p>Two of my users have (gcc) compiler errors that look like:</p>
  
  <pre><code>/home/someone/Source/src/._regex.cpp:1:1: warning: null character(s) ignored
  /home/someone/Source/src/._regex.cpp:1: error: stray ‘\5’ in program
  /home/someone/Source/src/._regex.cpp:1: error: stray ‘\26’ in program
  /home/someone/Source/src/._regex.cpp:1: error: stray ‘\7’ in program
  /home/someone/Source/src/._regex.cpp:1:5: warning: null character(s) ignored
  /home/someone/Source/src/._regex.cpp:1: error: stray ‘\2’ in program
  ...
  </code></pre>
  
  <p>I can't reproduce these errors; the code compiles fine on all machines I've tested.</p>
  
  <p>Googling around seemed to indicate that this is often a result of a strange encoding or strange formatting, but I ran all the source through a hex editor, and all characters are either printable ASCII (0x20 - 0x7E), or tab, or newline. That's it.</p>
  
  <p>Also, both users successfully compiled the previous version of the library; but the particular file in question (<code>regex.cpp</code>) and its header files haven't been modified since that time!</p>
  
  <p>Please see <a href="http://code.google.com/p/yaml-cpp/issues/detail?id=52" rel="noreferrer">here</a> for more details, including links to download the code if you want. But I'd be happy with just a pointer in a possible direction.</p>