This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/42880] trunk does not compile boost MPL
- From: "davek at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Jan 2010 17:55:34 -0000
- Subject: [Bug c++/42880] trunk does not compile boost MPL
- References: <bug-42880-17090@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #35 from davek at gcc dot gnu dot org 2010-01-27 17:55 -------
(In reply to comment #34)
> digressing too much in this thread: for sure, if I just take the one-liner
> provided by submitter the errors I get are the same, with and without
> -std=c++0x, and with 4.4.x I can compile it with no errors, irrerspective of
> the command-line switches.
Right, you mean the one-liner #include <boost/mpl/size.hpp>, so of course if
you compile it either different way the live #ifdefs respond correctly, and in
the non -std=c++0x compile, you don't get the template definitions for the wide
char types. I don't have boost installed, so I've been relying on the
preprocessed source, which of course is good only for C++-0x. (I wasn't clear
whether you were implying that the charXX_t definitions should exist in
non-c++0x mode, but I think now that they are c++0x only and that because you
were using live boost headers your compile succeeds.)
> This is what I consider sane behavior modulo the
> *possible*, yet to be confirmed, C++ front-end issue with specialization /
> redefinition.
Testsuite run is showing nothing unexpected either, and I couldn't really
imagine what Cygwin could possibly have done to break the presence of a couple
of builtin types in the C++ FE anyway. So yes, sorry for taking some time to
get to this point, but I now also think that's the only possible issue here,
and there is no cygwin specific problem nor char types problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42880