Modify

Ticket #7999 (closed Bugs: fixed)

Opened 15 months ago

Last modified 14 months ago

Multiple compilation errors due to circular header inclusion dependency

Reported by: francisco.mailing.lists@… Owned by: johnmaddock
Milestone: To Be Determined Component: math
Version: Boost Development Trunk Severity: Problem
Keywords: Cc: francisco.mailing.lists@…

Description

In file included from libs/math/build/../src/tr1/assoc_laguerre.cpp:10:

In file included from ./boost/math/tr1.hpp:383:

In file included from ./boost/math/tools/promotion.hpp:26:

In file included from ./boost/math/tools/config.hpp:25:

./boost/math/special_functions/detail/round_fwd.hpp:24:13: error: use of undeclared identifier 'tools'

typename tools::promote_args<T>::type trunc(const T& v, const Policy& pol);


promotion includes config, config includes round_fwd, round_fwd includes promotion.

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.

Attachments

Change History

comment:1 Changed 15 months ago by anonymous

Well, just removing the include from config.h wont solve either (as expected).

comment:2 Changed 15 months ago by francisco.mailing.lists@…

I've not thought it throughout, the include guards should prevent this, I'm using clang... not sure where the problem may lie anymore.

comment:3 Changed 15 months ago by francisco.mailing.lists@…

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.

comment:4 Changed 14 months ago by johnmaddock

  • Status changed from new to closed
  • Resolution set to fixed

(In [82921]) Fix cyclic dependency. Fixes #7999.

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.