Skip to content

Functions must be DECLARED __forcedinline.

Submitted by panda-34

Assigned to Nobody

Link to original bugzilla bug (#667)
Version: 3.2
Operating system: Windows

Description

It turns out that Intel Composer 14 does NOT respect __forcedinline directive present at out-of-class member function definitions, but only those at member declarations. For example, DenseBase::lazyAssign, defined separately in assign.h is NOT inlined for any but the simplest expression templates (which makes a horrible mess of performance for expressions with large number of scalars, as they're all pushed into stack). Visual Studio, on the other hand, requires __forcedinline at definitions (but has no problem with them present at declarations also), so, please, consider duplicating EIGEN_STRONG_INLINE into member declarations.

Blocking

#1608