This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
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: 2019-12-04 11:11 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).
Comment 4 Nobody 2019-12-04 11:11:39 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/361.

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