New user self-registration is disabled due to spam. Please email eigen-core-team @ if you need an account.
Before reporting a bug, please make sure that your Eigen version is up-to-date!
Bug 909 - Warning C4702: unreachable code
Summary: Warning C4702: unreachable code
Alias: None
Product: Eigen
Classification: Unclassified
Component: Core - general (show other bugs)
Version: 3.2
Hardware: x86 - 32-bit Windows
: Normal Compilation Problem
Assignee: Nobody
Depends on:
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.