[Bug preprocessor/53690] [C++11] \u0000 and \U00000000 are wrongly encoded as U+0001.

steven at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Jul 8 20:53:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53690

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|steven at gcc dot gnu.org   |tromey at redhat dot com
          Component|c++                         |preprocessor

--- Comment #4 from Steven Bosscher <steven at gcc dot gnu.org> 2012-07-08 20:53:32 UTC ---
The bug is in the preprocessor, see libcpp/charset.c:1074:

  if (result == 0)
    result = 1;

  return result;
}

That code is older than the revision where libcpp became stand-alone 8 years
ago (r82199), and the initial check-in of gcc/cppcharset.c (r65845) already has
this code, too.

(See also http://gcc.gnu.org/ml/gcc-patches/2003-04/msg01497.html)

One for the libcpp maintainer...



More information about the Gcc-bugs mailing list