[ https://issues.apache.org/jira/browse/THRIFT-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12879065#action_12879065 ]
David Reiss commented on THRIFT-773: ------------------------------------ Why not define __LITTLE_ENDIAN and __BIG_ENDIAN unconditionally since we are comparing against their values? > Endianness is wrong if <endian.h> header is not available > --------------------------------------------------------- > > Key: THRIFT-773 > URL: https://issues.apache.org/jira/browse/THRIFT-773 > Project: Thrift > Issue Type: Bug > Components: Compiler (C++) > Affects Versions: 0.2 > Reporter: Norman Casagrande > Attachments: protocol_endian.patch > > > TProtocol expects the header <endian.h> to be available, otherwise it relies > on <boost/config.hpp>, but > * boost/config does not define endianness, that's done by > <boost/detail/endian.hpp> > * even if it was, boost only defines the macro depending on the type (so > either BOOST_LITTLE_ENDIAN or BOOST_BIG_ENDIAN) and does not, as in > <endian.h> set a value. > As result, if <endian.h> is not available, the code always uses big > endianness. > The simplest solution is to include the right header and define those values > using the information boost provides. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.