[Boost][Proto] Fw:[Spirit-general] Patch for compiling Karma without RTTI

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Forwarding from the spirit-general mailing list. Begin forwarded message: Date: Fri, 08 Oct 2010 12:01:55 +0800 From: Joel de Guzman <joel@boost-consulting.com> To: spirit-general@lists.sourceforge.net Subject: Re: [Spirit-general] Patch for compiling Karma without RTTI On 10/8/2010 10:34 AM, Bryce Lelbach wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Summary:
0x0.) There's a workaround header for compilers without typeinfo/typeid in boost/detail/sp_typeinfo.hpp. It has a few macros that uses real typeid/typeinfo if it exists, and the workaround if not. The workaround was broken on GCC 4.5.1 and clang (rebuilt daily from upstream trunk). I fixed the problem (static initialization jazz).
0x1.) Spirit's hold_any uses typeinfo/typeid. I changed it to use the aforementioned macros.
0x2.) Some debugging stuff in one proto file used RTTI. I changed it to use the aforementioned macros.
I haven't had a need for Qi/Lex yet. I'm currently putting the finishing touches on the ariel driver. My intention is to use Qi for my lightweight command line parsing needs, because it will be less painful than spending half an hour browsing through LLVM doxygen to figure out how their cl parser works. So, there might be another one of these patches in the morning.
Patch was generated via svn diff from the top of my local copy of the Boost trunk (on Debian GNU/Linux).
I suggest sending an email to the Boost mailing list non-spirit related patches (and accompanying explanations). We don't have control over those parts (e.g. proto and boost/detail/sp_typeinfo.hpp) Regards, - -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net - ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ Spirit-general mailing list Spirit-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spirit-general - -- Bryce Lelbach aka wash http://groups.google.com/group/ariel_devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkyumQMACgkQO/fqqIuE2t63WwCg2lT+hIeoy9xISTU73PwRE/FD G9sAoNQwHDIMMPYO1GbDiWYP0lco/crH =iU+P -----END PGP SIGNATURE-----

0x0.) There's a workaround header for compilers without typeinfo/typeid in boost/detail/sp_typeinfo.hpp. It has a few macros that uses real typeid/typeinfo if it exists, and the workaround if not. The workaround was broken on GCC 4.5.1 and clang (rebuilt daily from upstream trunk). I fixed the problem (static initialization jazz).
0x1.) Spirit's hold_any uses typeinfo/typeid. I changed it to use the aforementioned macros.
0x2.) Some debugging stuff in one proto file used RTTI. I changed it to use the aforementioned macros.
I haven't had a need for Qi/Lex yet. I'm currently putting the finishing touches on the ariel driver. My intention is to use Qi for my lightweight command line parsing needs, because it will be less painful than spending half an hour browsing through LLVM doxygen to figure out how their cl parser works. So, there might be another one of these patches in the morning.
Patch was generated via svn diff from the top of my local copy of the Boost trunk (on Debian GNU/Linux).
I suggest sending an email to the Boost mailing list non-spirit related patches (and accompanying explanations). We don't have control over those parts (e.g. proto and boost/detail/sp_typeinfo.hpp)
I'll apply the Spirit part of the patch. Who is maintaining boost/detail/sp_typeinfo.hpp? Regards Hartmut --------------- http://boost-spirit.com

On 10/7/2010 9:07 PM, Bryce Lelbach wrote:
Forwarding from the spirit-general mailing list.
0x0.) There's a workaround header for compilers without typeinfo/typeid in boost/detail/sp_typeinfo.hpp. It has a few macros that uses real typeid/typeinfo if it exists, and the workaround if not. <snip>
0x2.) Some debugging stuff in one proto file used RTTI. I changed it to use the aforementioned macros.
I've applied the patch to Proto. But really, there's no reason why Spirit should be including Proto's debug header. Thanks, -- Eric Niebler BoostPro Computing http://www.boostpro.com

On 08/10/10 22:38, Eric Niebler wrote:
I've applied the patch to Proto. But really, there's no reason why Spirit should be including Proto's debug header.
IIRC, if you include proto/proto.hpp, the debug header comes with it. I was bitten by it when working on the cell processor with proto

On 10/8/2010 1:51 PM, joel falcou wrote:
On 08/10/10 22:38, Eric Niebler wrote:
I've applied the patch to Proto. But really, there's no reason why Spirit should be including Proto's debug header.
IIRC, if you include proto/proto.hpp, the debug header comes with it. I was bitten by it when working on the cell processor with proto
That's not right. I should fix that. -- Eric Niebler BoostPro Computing http://www.boostpro.com
participants (4)
-
Bryce Lelbach
-
Eric Niebler
-
Hartmut Kaiser
-
joel falcou