[MultiIndex] VC8: spurious compiler error
Hi! I am out of ideas here, but somebody probably fell into that trap before. Since the error message points to unrelated code, I hope to get some idea via Boost: boost_1_33_1\boost/multi_index/ordered_index.hpp(445) : error C2143: syntax error : missing ',' before '.' Since I had VC8 messing things up before I bet it is the #include order again, but I could not find the offending header yet. Markus
It could be the way you are trying to pass parameters. Can you post a
snippet of what you are trying to do?
Parag
On 11/23/06, Markus Werle
Hi!
I am out of ideas here, but somebody probably fell into that trap before. Since the error message points to unrelated code, I hope to get some idea via Boost:
boost_1_33_1\boost/multi_index/ordered_index.hpp(445) : error C2143: syntax error : missing ',' before '.'
Since I had VC8 messing things up before I bet it is the #include order again, but I could not find the offending header yet.
Markus
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- "Civilization is the limitless multiplication of unnecessary necessities." -- Mark Twain
Parag Gadkari
It could be the way you are trying to pass parameters. Can you post a snippet
of what you are trying to do?
Well, I tried to obtain something smaller, but I failed.
Due to copyright restrictions I post only excerpts to give you an idea.
Most of the code passed gcc-4.0.3 (cygwin), so I blame the compiler until
proven wrong (looking forward to Service Pack 1).
#include
Markus Werle
Hi!
I am out of ideas here, but somebody probably fell into that trap before. Since the error message points to unrelated code, I hope to get some idea via Boost:
boost_1_33_1\boost/multi_index/ordered_index.hpp(445) : error C2143: syntax error : missing ',' before '.'
Since I had VC8 messing things up before I bet it is the #include order again, but I could not find the offending header yet.
Markus
Hello Markus, My hunch is that this is indeed just a compiler quirk, specially since you've reported that the problem is not reproducible in GCC. You can try the following: 1. What Boost version are you using? Line 445 of ordered_index.hpp in Boost 1.33.1 does not even contain a '.' character. You might try downloading a snapshot of RC_1_34_0: http://www.meta-comm.com/engineering/boost/snapshot/boost-RC_1_34_0.tar.bz2 and see if VC 8.0 is happier with that. 2. Play with precompiled header options, increase the memory available to the compiler with /Zm, switch from /ZI to a less demanding type of debugging info, disable /Gm. All these options have been proved to be beneficial in VC 6.0, maybe you're lucky in VC 8.0 as well. 3. Try using type hiding to reduce the lengths of symbols produced by multi_index containers definitions: http://boost.org/libs/multi_index/doc/compiler_specifics.html#type_hiding 4. Tag usage increase the level of stress the compiler is put under. Try elminating them in the definition of value_storage_t and acess indices by ordinal instead. You can retain some of the mnemonic nature of tags with enums: enum{ as_int=1, as_string=2 }; Please keep me informed of your progress with this. Good luck, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
Joaquín M López Munoz
My hunch is that this is indeed just a compiler quirk, specially since you've reported that the problem is not reproducible in GCC. You can try the following:
1. What Boost version are you using?
1.33.1
Line 445 of ordered_index.hpp in Boost 1.33.1 does not even contain a '.' character.
Yes I know ... - wait - BINGO! If someone else states what I already know it always helps. This was the hint I needed. Someone had defined MACRO "upper" and "lower" in a header I included before multiindex stuff (only with VC8, which explains why the error did not crop up with gcc). What a pity. So it is not the compiler to blame this time, though emitting the _preprocessed_ offending line would have helped a lot in this situation. Thanks a lot! Markus
participants (3)
-
Joaquín M López Munoz
-
Markus Werle
-
Parag Gadkari