bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] cast from pointer to smaller type 'int'


From: Xiao-Yong Jin
Subject: Re: [Bug-apl] cast from pointer to smaller type 'int'
Date: Tue, 19 Sep 2017 16:44:18 -0500

Should have got back to you sooner, but static_cast is not allowed between 
pointer types and non-pointer types.

Thread_context.cc:73:11: error: static_cast from 'pthread_t' (aka 
'_opaque_pthread_t *') to 'int' is not allowed
       << static_cast<int>(thread)
          ^~~~~~~~~~~~~~~~~~~~~~~~

I need reinterpret_cast<size_t> here.  I cannot reinterpret_cast<int> either, 
because of the difference in size.

> On Sep 11, 2017, at 3:01 PM, Juergen Sauermann <address@hidden> wrote:
> 
> Hi Xiao-Yong,
> 
> I see. In this particular case the pthread_t is only used to identify a 
> thread and
> to distinguish it from other threads for debugging purposes. So as long as the
> compiler does not complain about the cast everything is fine. Cast to void * 
> instead of
> int would also be an option.
> 
> /// Jürgen
>  
> 
> On 09/11/2017 08:38 PM, Xiao-Yong Jin wrote:
>> I don't think there is a portable way of printing a variable of type 
>> pthread_t.  It could be a struct, depending on the implementation.  
>> static_cast<int> is alright, but may not be useful in the future.
>> 
>> 
>>> On Sep 11, 2017, at 1:08 PM, Juergen Sauermann <address@hidden>
>>>  wrote:
>>> 
>>> Hi Xiao-Yong,
>>> 
>>> thanks, maybe fixed in SVN 1011.
>>> Problem with that error is that the casted type is not a pointer, at least 
>>> on my machine.
>>> 
>>> /// Jürgen
>>> 
>>> 
>>> On 09/11/2017 06:55 PM, Xiao-Yong Jin wrote:
>>> 
>>>> At revision 1010
>>>> 
>>>> Thread_context.cc:72:65: error: cast from pointer to smaller type 'int' 
>>>> loses information
>>>>    out << "thread #"     << setw(2) << N << ":" << setw(16)  << int(thread)
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]