This is the mail archive of the gcc-help@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: casting on 64/32-bit environment


> 
> You're casting from a pointer to an integer.  This is the wrong thing
> to do.
> 

>  > Down I give a part of a code:
>  > 
>  > //FUNC.CC
>  > void func ()
>  > {
>  >    ?
>  >    int iel=0;
>  >    ?
>  >    PtrF <EL> el01 = (EL*) iel; 	//line 105
> 
> Don't do this.  The answer to your problem is to not cast a pointer to
> an integer.  If you can explain why you want to do such casting, we'll
> be able to tell you how to avoid it.
> 
I did not write the program. Structure, which I gave last time, is such that 
enables communication between Fortran and C++ on a way that has historical 
reasons. So the structure is a fact, which can't be changed.
There are no problems if the program is compiled on 32-bit environment, but on 
64-bit environment I get casting warnings.
The purpose of casting is to initialise arrays used by C++ and Fortran. For 
test I have made a small program with that structure. I found out (based also 
on info from this forum) that if I use long instead of int, I do not have 
warnings any more. This seems to be a solution, which I have not implemented 
yet.

Mitja


____________________
http://www.email.si/


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