Commit 719d3f77 authored by Mark Olesen's avatar Mark Olesen

COMP: Intel compiler bug with inheriting constructors (fixes #1821)

- the compiler reports

      Internal error loop: assertion failed:
      find_seq_in_lookup_table: seq_number not found
      (shared/cfe/edgcpfe/il.c, line 4118)

  Seems to be the same as the bug report
  https://community.intel.com/t5/Intel-C-Compiler/Internal-error-loop-assertion-failed-find-seq-in-lookup-table/td-p/1087603

This _should_ be fixed in icc 17.0 update 1, but appears to have
struck here as well.

- workaround: explicitly construct member elements.
parent 8d55c37b
...@@ -69,13 +69,12 @@ Foam::implicitFunctions::cylinderImplicitFunction::cylinderImplicitFunction ...@@ -69,13 +69,12 @@ Foam::implicitFunctions::cylinderImplicitFunction::cylinderImplicitFunction
const dictionary& dict const dictionary& dict
) )
: :
cylinderImplicitFunction // __INTEL_COMPILER bug with inheriting constructors?? (issue #1821)
( origin_(dict.get<point>("origin")),
dict.get<point>("origin"), radius_(dict.get<scalar>("radius")),
dict.get<scalar>("radius"), scale_(dict.getOrDefault<scalar>("scale", 1)),
dict.getOrDefault<scalar>("scale", 1), direction_(dict.get<vector>("direction").normalise()),
dict.get<vector>("direction") project_(tensor::I - direction_*direction_) // outer product
)
{} {}
......
...@@ -72,15 +72,13 @@ Foam::implicitFunctions::sinImplicitFunction::sinImplicitFunction ...@@ -72,15 +72,13 @@ Foam::implicitFunctions::sinImplicitFunction::sinImplicitFunction
const dictionary& dict const dictionary& dict
) )
: :
sinImplicitFunction // __INTEL_COMPILER bug with inheriting constructors?? (issue #1821)
( period_(dict.get<scalar>("period")),
dict.get<scalar>("period"), phase_(dict.getOrDefault<scalar>("phase", 0)),
dict.getOrDefault<scalar>("phase", 0), amplitude_(dict.get<scalar>("amplitude")),
dict.get<scalar>("amplitude"), up_(dict.get<vector>("up").normalise()),
dict.get<vector>("direction"), direction_(dict.get<vector>("direction").normalise()),
dict.get<vector>("up"), origin_(dict.get<vector>("origin"))
dict.get<vector>("origin")
)
{} {}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment