qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Rolke (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-6537) [C++ Windows] Windows compile latest warning summary
Date Tue, 12 May 2015 18:47:00 GMT

    [ https://issues.apache.org/jira/browse/QPID-6537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14540457#comment-14540457
] 

Chuck Rolke commented on QPID-6537:
-----------------------------------

I had patch files to correct the bool and "unary minus on unsigned variable" warnings but
they are too ugly to propose as fixes. The warnings could be suppressed or left alone. The
code actually works as expected even with the warnings.

> [C++ Windows] Windows compile latest warning summary
> ----------------------------------------------------
>
>                 Key: QPID-6537
>                 URL: https://issues.apache.org/jira/browse/QPID-6537
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker, C++ Client
>    Affects Versions: 0.33
>         Environment: Windows Visual Studio 2012, x64
>            Reporter: Chuck Rolke
>            Priority: Minor
>
> Recent windows builds show some warnings in the 64-bit compiles.
> {noformat}
> 2>D:\qpid\cpp\src\qpid\types\Variant.cpp(130): warning C4146: 
>   unary minus operator applied to unsigned type, result still unsigned
> 2>D:\qpid\cpp\src\qpid\types\Variant.cpp(342) : 
>   see reference to function template instantiation 
>   'T qpid::types::VariantImpl::convertFromString<uint32_t>(void) const
> ' being compiled
> 2>          with
> 2>          [
> 2>              T=uint32_t
> 2>          ]
> {noformat}
> In this case the type is unsigned. The template applies the unary minus only to a signed
type and so the warning is for code that's never executed. Still the warning is a nuisance
and should be suppressed.
> {noformat}
> 6>D:\qpid\cpp\src\qpid/framing/Endian.h(44): warning C4806: 
>   '&' : unsafe operation: no value of type 'bool' promoted to type 'int' can equal
the given constant
> 6>D:\qpid\cpp\src\qpid/framing/FieldValue.h(178) : 
>   see reference to function template instantiation 
>   'void qpid::framing::endian::encodeInt<T>(uint8_t *,T)' being compiled
> 6>          with
> 6>          [
> 6>              T=bool
> 6>          ]
> 6>D:\qpid\cpp\src\qpid/framing/FieldValue.h(178) : while compiling class template
member function 'qpid::framing::FixedWidthIntValue<T>::FixedWidthIntValue(T)'
> 6>          with
> 6>          [
> 6>              T=bool
> 6>          ]
> 6>D:\qpid\cpp\src\qpid\framing\FieldValue.cpp(233) : see reference to function template
instantiation 'qpid::framing::FixedWidthIntValue<T>::FixedWidthIntValue(T)' b
> eing compiled
> 6>          with
> 6>          [
> 6>              T=bool
> 6>          ]
> 6>D:\qpid\cpp\src\qpid\framing\FieldValue.cpp(232) : see reference to class template
instantiation 'qpid::framing::FixedWidthIntValue<T>' being compiled
> 6>          with
> 6>          [
> 6>              T=bool
> 6>          ]
> 6>D:\qpid\cpp\src\qpid/framing/Endian.h(45): warning C4804: '>>=' : unsafe use
of type 'bool' in operation
> 6>D:\Users\crolke\git\rh-qpid\qpid\cpp\src\qpid/framing/Endian.h(35): warning C4804:
'<<=' : unsafe use of type 'bool' in operation
> 6>D:\qpid\cpp\src\qpid/framing/FieldValue.h(180) : see reference to function template
instantiation 'T qpid::framing::endian::decodeInt<T>(const uint8_t *)' being co
> mpiled
> 6>          with
> 6>          [
> 6>              T=bool
> 6>          ]
> 6>D:\qpid\cpp\src\qpid/framing/FieldValue.h(180) : while compiling class template
member function 'int64_t qpid::framing::FixedWidthIntValue<T>::getInt(void) const'
> 6>          with
> 6>          [
> 6>              T=bool
> 6>          ]
> 6>D:\qpid\cpp\src\qpid/framing/Endian.h(36): warning C4805: '|=' : unsafe mix of type
'bool' and type 'const uint8_t' in operation
> 6>D:\qpid\cpp\src\qpid/framing/Endian.h(36): warning C4805: '|' : unsafe mix of type
'bool' and type 'int' in operation
> {noformat}
> These are relatively recent additions. 
> {noformat}
> 7>D:\qpid\cpp\src\qpid/client/Handle.h(67): warning C4661: 'qpid::client::Handle<T>::Handle(const
qpid::client::Handle<T> &)' : no suitable definition provided for explicit te
> mplate instantiation request
> 7>          with
> 7>          [
> 7>              T=qpid::client::CompletionImpl
> 7>          ]
> 7>          D:\qpid\cpp\src\qpid/client/Handle.h(61) : see declaration of 'qpid::client::Handle<T>::Handle'
> 7>          with
> 7>          [
> 7>              T=qpid::client::CompletionImpl
> 7>          ]
> 7>D:\qpid\cpp\src\qpid/client/Handle.h(67): warning C4661: 'qpid::client::Handle<T>
&qpid::client::Handle<T>::operator =(const qpid::client::Handle<T> &)'
: no suitable defini
> tion provided for explicit template instantiation request
> 7>          with
> 7>          [
> 7>              T=qpid::client::CompletionImpl
> 7>          ]
> 7>          D:\qpid\cpp\src\qpid/client/Handle.h(62) : see declaration of 'qpid::client::Handle<T>::operator
='
> 7>          with
> 7>          [
> 7>              T=qpid::client::CompletionImpl
> 7>          ]
> {noformat}
> Is this significant?
> {noformat}
> 9>D:\qpid\cpp\src\tests\FieldValue.cpp(33): warning C4305: 'argument' : truncation
from 'double' to 'float'
> 9>D:\qpid\cpp\src\tests\FieldValue.cpp(65): warning C4305: 'argument' : truncation
from 'double' to 'float'
> 9>D:\qpid\cpp\src\tests\FieldValue.cpp(68): warning C4305: 'argument' : truncation
from 'double' to 'float'
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message