New user self-registration is currently disabled. Please email eigen-core-team @ if you need an account.
Bug 909 - Warning C4702: unreachable code
Warning C4702: unreachable code
Product: Eigen
Classification: Unclassified
Component: Core - general
x86 - 32-bit Windows
: Normal Compilation Problem
Assigned To: Nobody
Depends on:
  Show dependency treegraph
Reported: 2014-11-26 13:37 UTC by suryp2
Modified: 2014-11-26 15:50 UTC (History)
3 users (show)


Description suryp2 2014-11-26 13:37:33 UTC
Macro EIGEN_MAKE_ALIGNED_OPERATOR_NEW generates Warning C4702: unreachable code when building on VS2012 toolkit.

My understanding of this:
Part of that macro is another macro EIGEN_MAKE_ALIGNED_OPERATOR_NEW_NOTHROW which is unfolded to:

void* operator new(size_t size, const std::nothrow_t&) throw()
try { return Eigen::internal::conditional_aligned_malloc<NeedsToAlign>(size); }
catch (...) { return 0; }
return 0;

The last return 0; seems to be the culprit. When I remove it, then VS2012 is happy and no warning appears.
Comment 1 Christoph Hertzberg 2014-11-26 15:50:44 UTC
Fixed here:

In the devel branch it had been fixed already:

Note You need to log in before you can comment on or make changes to this bug.