Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • D dune-tnnmg
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 5
    • Merge requests 5
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • agnumpde
  • dune-tnnmg
  • Issues
  • #3
Closed
Open
Created Jun 21, 2016 by pipping@pipping3 of 3 tasks completed3/3 tasks

Meta: gcc 4.x support

I'm moving this here from #2 (closed) because that issue is and should remain closed and we were getting pretty off-topic. This could also be a wiki page. This is not really an issue but rather a documentation of the status-quo.

GCC 4.9.x is not able to compile relevant branches of quite a few modules now. 4.9.2 is the latest version that current Debian stable comes with. This should come as no surprise because we don't have a build bot with gcc 4.9.x.

  • With 4.9.2 but not 4.9.3, you will get
.../dune/tnnmg/functionals/quadraticfunctional.hh:76:49: error: non-static data member declared ‘auto’
   friend auto derivative(const AffineOperator& f)
                                                 ^

and more such errors when compiling e.g. the nonlineargstest on the feature/new-tnnmg branch of dune-tnnmg. Update: This should be fixed with 9a2da3b0.

  • With 4.9.2 and 4.9.3 you'll get
.../dune/solvers/common/algorithm.hh:195:3: error: body of constexpr function ‘constexpr auto Dune::Solvers::Hybrid::Imp::integralRange(const Begin&, const End&, const Dune::PriorityTag<0ul>&) [with Begin = std::integral_constant<long unsigned int, 0ul>; End = long unsigned int]’ not a return-statement
   }
   ^

when compiling e.g. the nonlineargstest on the feature/new-tnnmg branch of dune-tnnmg. This appears to be a C++14 feature ("Relaxing requirements on constexpr functions ") missing from all versions of gcc 4.x. Update: This has been addressed, I believe, even though I do not know in which commit.

  • With 4.9.2 and 4.9.3 you'll get the error
.../dune/typetree/nodeinterface.hh:109:27: error: template declaration of ‘constexpr const size_t Dune::TypeTree::staticDegree’
     constexpr std::size_t staticDegree = StaticDegree<Node>::value;
                           ^

when compiling e.g. the stokes-taylorhood example or the gridviewfunctionspacebasistest from the master branch of dune-functions. Update: This goes away if one uses the feature/no-variable-templates branch of dune-typetree.

Assignee
Assign to
Time tracking