Boost C++ Libraries: Ticket #6156: fenv.hpp broken on clang+glibc https://svn.boost.org/trac10/ticket/6156 <p> Hello, </p> <p> with clang and glibc, boost doesn't protect against multiple inclusion of bits/fenv.h: </p> <p> #include &lt;fenv.h&gt; #include &lt;boost/lexical_cast.hpp&gt; </p> <p> /localhome/glisse2/include/boost/detail/fenv.hpp:22:11: warning: '_FENV_H' macro redefined /usr/include/fenv.h:24:9: note: previous definition is here /usr/include/x86_64-linux-gnu/bits/fenv.h:30:5: error: redefinition of enumerator 'FE_INVALID' ... </p> <p> Someone apparently thought it was a good idea to add some subtleties to fenv.hpp to help people who misconfigured clang, but that is imho a bad idea and the special case should be removed (note that clang-3.0 has a good default configuration). If you insist on keeping it, please ensure that _FENV_H is not defined. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6156 Trac 1.4.3 viboes Mon, 12 Dec 2011 22:39:25 GMT component changed; owner set https://svn.boost.org/trac10/ticket/6156#comment:1 https://svn.boost.org/trac10/ticket/6156#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">nasonov</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">lexical_cast</span> </li> </ul> Ticket Antony Polukhin Thu, 05 Jan 2012 14:01:05 GMT owner, component changed; cc set https://svn.boost.org/trac10/ticket/6156#comment:2 https://svn.boost.org/trac10/ticket/6156#comment:2 <ul> <li><strong>cc</strong> <span class="trac-author">antoshkka@…</span> added </li> <li><strong>owner</strong> changed from <span class="trac-author">nasonov</span> to <span class="trac-author">John Maddock</span> </li> <li><strong>component</strong> <span class="trac-field-old">lexical_cast</span> → <span class="trac-field-new">math</span> </li> </ul> <p> boost/detail/fenv.hpp is not directly included from lexical_cast.hpp Looks like it is a Boost.Math library error: </p> <pre class="wiki">antoshkka@new:~/boost_maintain/trunk/boost$ grep -r "boost/detail/fenv.hpp" ./ ./numeric/interval/detail/c99sub_rounding_control.hpp:#include &lt;boost/detail/fenv.hpp&gt; // ISO C 99 rounding mode control ./test/execution_monitor.hpp: #include &lt;boost/detail/fenv.hpp&gt; ./math/tools/config.hpp: #include &lt;boost/detail/fenv.hpp&gt; </pre> Ticket John Maddock Thu, 05 Jan 2012 17:29:24 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/6156#comment:3 https://svn.boost.org/trac10/ticket/6156#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/76323" title="Fix Clang workaround. Fixes #6156.">[76323]</a>) Fix Clang workaround. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6156" title="#6156: Bugs: fenv.hpp broken on clang+glibc (closed: fixed)">#6156</a>. </p> Ticket