This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: const and strict aliasing rules


Andrew Pinski <pinskia@physics.uc.edu> writes:

| > 
| > Andrew Pinski <pinskia@physics.uc.edu> writes:
| > 
| > | > You can work around this by using union's of pointers of both non-const 
| > | > and const types, but the reinterpret_cast solution would be more attractive.
| > | > 
| > | > Thoughts?
| > | 
| > | This has nothing to do with const vs non-const but rather
| > | a<int> and a<const int> are two seperate types which are not related in any way.
| > | The C++ standard defines these two types as seperate types and are not compatiable
| > | in any way for aliasing.
| > 
| > ???
| > 
| > 3.10/15:
| 
| And the template type a<int> are distict from a<const int> based on the template
| arguments are diffrent and therefore the qualifier part of 3.10/15 does not apply.
| If it was const a<int> and a<int> then it would apply.

Yes, you're right -- somehow I missed the angle brackets.  Sorry.

-- Gaby


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]