New user self-registration is disabled due to spam. Please email eigen-core-team @ lists.tuxfamily.org if you need an account.
Before reporting a bug, please make sure that your Eigen version is up-to-date!
Bug 361 - Removing compiler-reserved names (e.g. _Scalar, _Rows, etc.)
Summary: Removing compiler-reserved names (e.g. _Scalar, _Rows, etc.)
Status: DECISIONNEEDED
Alias: None
Product: Eigen
Classification: Unclassified
Component: General (show other bugs)
Version: 3.0
Hardware: All All
: Normal Internal Design
Assignee: Nobody
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-13 20:14 UTC by michel_morin
Modified: 2014-11-06 15:30 UTC (History)
3 users (show)



Attachments

Description michel_morin 2011-10-13 20:14:14 UTC
Maybe you know this, but let me explain this. 
Names begin with an underscore followed by an uppercase letter are 
reserved to compilers for any use (C++ Standard §17.4.3.1.2). 
So it is unsafe to use template parameter's name like _Scalar, _Rows, etc. 
How about changing these names to Scalar_, Rows_, …?
Comment 1 Benoit Jacob 2011-10-13 20:18:21 UTC
We know this, and we don't really care until we actually run into a collision. Let us know if you have.
Comment 2 michel_morin 2011-10-13 20:41:04 UTC
I didn't have any problem with this. So it may be unnecessary concern.
Comment 3 Christoph Hertzberg 2013-09-18 18:15:18 UTC
Bug 658 is an example for a collision.
I would vote for changing all possibly colliding names (even though some are unlikely to be used by a compiler).

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