This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug preprocessor/36453] PR36320 breaks boost
- From: "tromey at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Jul 2008 03:25:20 -0000
- Subject: [Bug preprocessor/36453] PR36320 breaks boost
- References: <bug-36453-12049@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from tromey at gcc dot gnu dot org 2008-07-06 03:25 -------
Sorry, I somehow missed the followup comment.
>> #elif defined(BOOST_PP_ITERATION_DEPTH) && BOOST_PP_ITERATION_DEPTH() == 1
The expression has to be valid after preprocessing.
So, if BOOST_PP_ITERATION_DEPTH is not defined, this will yield an error.
>> it is confusing that #elif behaves more like "#if" and not like "#else\n#if"
I agree, but by my reading this is what the standard actually says.
I am open to arguments contrariwise, or to rulings from gcc developers more
expert at standardese than I.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36453