Boost C++ Libraries: Ticket #7999: Multiple compilation errors due to circular header inclusion dependency https://svn.boost.org/trac10/ticket/7999 <p> In file included from libs/math/build/../src/tr1/assoc_laguerre.cpp:10: </p> <p> In file included from ./boost/math/tr1.hpp:383: </p> <p> In file included from ./boost/math/tools/promotion.hpp:26: </p> <p> In file included from ./boost/math/tools/config.hpp:25: </p> <p> ./boost/math/special_functions/detail/round_fwd.hpp:24:13: error: use of undeclared identifier 'tools' </p> <blockquote> <p> typename tools::promote_args&lt;T&gt;::type trunc(const T&amp; v, const Policy&amp; pol); </p> </blockquote> <hr /> <p> promotion includes config, config includes round_fwd, round_fwd includes promotion. </p> <p> config.h seems to not need to include round_fwd.h, since from what I've checked, what it used from round_fwd.h is inside a definition of a macro (BOOST_MATH_STD_USING), hence no compile time dependency. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7999 Trac 1.4.3 anonymous Thu, 07 Feb 2013 04:56:02 GMT <link>https://svn.boost.org/trac10/ticket/7999#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7999#comment:1</guid> <description> <p> Well, just removing the include from config.h wont solve either (as expected). </p> </description> <category>Ticket</category> </item> <item> <author>francisco.mailing.lists@…</author> <pubDate>Thu, 07 Feb 2013 05:13:32 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7999#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7999#comment:2</guid> <description> <p> I've not thought it throughout, the include guards should prevent this, I'm using clang... not sure where the problem may lie anymore. </p> </description> <category>Ticket</category> </item> <item> <author>francisco.mailing.lists@…</author> <pubDate>Thu, 07 Feb 2013 05:20:01 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7999#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7999#comment:3</guid> <description> <p> oh yeah, promotion.h includes config.h on on top, config.h includes round_fwd.hpp, round_fwd.hpp includes promotion.h, which includes nothing because of the guards of the first inclusion, and them goes on using declaration from promotion.h which is still not expanded. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Sat, 16 Feb 2013 12:47:21 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/7999#comment:4 https://svn.boost.org/trac10/ticket/7999#comment:4 <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/82921" title="Fix cyclic dependency. Fixes #7999.">[82921]</a>) Fix cyclic dependency. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7999" title="#7999: Bugs: Multiple compilation errors due to circular header inclusion dependency (closed: fixed)">#7999</a>. </p> Ticket