This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: const and strict aliasing rules
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: gdr at integrable-solutions dot net (Gabriel Dos Reis)
- Cc: pinskia at physics dot uc dot edu (Andrew Pinski), jlkjr at bioleap dot com (John L. Kulp), gcc at gcc dot gnu dot org
- Date: Mon, 4 Dec 2006 19:31:50 -0500 (EST)
- Subject: Re: const and strict aliasing rules
>
> 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.
-- Pinski